diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index 53d2e4c168..382476ebda 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -457,29 +457,39 @@ struct AAXClasses bool getCurrentPosition (juce::AudioPlayHead::CurrentPositionInfo& info) { const AAX_ITransport& transport = *Transport(); - check (transport.GetCurrentTempo (&info.bpm)); + if (! check (transport.GetCurrentTempo (&info.bpm))) + info.bpm = 0.0; - int32_t num, denom; + int32_t num = 4, denom = 4; transport.GetCurrentMeter (&num, &denom); info.timeSigNumerator = num; info.timeSigDenominator = denom; - check (transport.GetCurrentNativeSampleLocation (&info.timeInSamples)); - info.timeInSeconds = info.timeInSamples / getSampleRate(); + if (check (transport.GetCurrentNativeSampleLocation (&info.timeInSamples))) + { + info.timeInSeconds = info.timeInSamples / getSampleRate(); + } + else + { + info.timeInSamples = 0; + info.timeInSeconds = 0; + } - int64_t ticks; - check (transport.GetCurrentTickPosition (&ticks)); + int64_t ticks = 0; + transport.GetCurrentTickPosition (&ticks); info.ppqPosition = ticks / 960000.0; - int64_t loopStartTick, loopEndTick; + int64_t loopStartTick = 0, loopEndTick = 0; check (transport.GetCurrentLoopPosition (&info.isLooping, &loopStartTick, &loopEndTick)); info.ppqLoopStart = loopStartTick / 960000.0; info.ppqLoopEnd = loopEndTick / 960000.0; // No way to get these: (?) + info.isPlaying = false; info.isRecording = false; info.ppqPositionOfLastBarStart = 0; info.editOriginTime = 0; + info.frameRate = fpsUnknown; return true; }