/* -------------------------------------------------------------------------- */
-bool PluginHost::Info::getCurrentPosition(CurrentPositionInfo& result)
+juce::Optional<juce::AudioPlayHead::PositionInfo> PluginHost::Info::getPosition() const
{
- result.bpm = m_sequencer.getBpm();
- result.timeInSamples = m_sequencer.getCurrentFrame();
- result.timeInSeconds = m_sequencer.getCurrentSecond(m_sampleRate);
- result.isPlaying = m_sequencer.isRunning();
+ juce::Optional<juce::AudioPlayHead::PositionInfo> info;
+ info->setBpm (m_sequencer.getBpm());
+ info->setTimeInSamples (m_sequencer.getCurrentFrame());
+ info->setTimeInSeconds (m_sequencer.getCurrentSecond(m_sampleRate));
+ info->setIsPlaying (m_sequencer.isRunning());
- return true;
+ return info;
}
/* -------------------------------------------------------------------------- */
public:
Info(const Sequencer&, int sampleRate);
- bool getCurrentPosition(CurrentPositionInfo& result) override;
+ juce::Optional<PositionInfo> getPosition() const override;
bool canControlTransport() override;
private: