diff --git a/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp b/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp index 70b8b0ac09..2a75084911 100644 --- a/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp +++ b/modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp @@ -281,12 +281,14 @@ void AudioProcessorPlayer::audioDeviceIOCallbackWithContext (const float* const* sampleCount (sampleCountIn), seconds ((double) sampleCountIn / sampleRateIn) { - processor.setPlayHead (this); + if (useThisPlayhead) + processor.setPlayHead (this); } ~PlayHead() override { - processor.setPlayHead (nullptr); + if (useThisPlayhead) + processor.setPlayHead (nullptr); } private: @@ -303,6 +305,7 @@ void AudioProcessorPlayer::audioDeviceIOCallbackWithContext (const float* const* Optional hostTimeNs; uint64_t sampleCount; double seconds; + bool useThisPlayhead = processor.getPlayHead() == nullptr; }; PlayHead playHead { *processor,