Skip to main content
Participant
October 16, 2025
Question

C++ plugin, Premiere is not triggering imGetPeakAudio at closer zoom level

  • October 16, 2025
  • 1 reply
  • 326 views

Hi,

We've implemented the imGetPeakAudio function to provide a custom waveform for our client, and it works well in general. However, we've noticed that when zooming in closely on the waveform panel in Premiere (both 2024 and 2025 versions), Premiere stops triggering imGetPeakAudio and instead renders its own waveform.

 

The function resumes being called when we zoom out, seems like Premiere switches to its internal waveform rendering at closer zoom levels—even though we have the canProvidePeakAudio flag enabled.

 

We're unsure whether this is a bug or intended behavior. If it's by design, is there any way to disable this behavior and ensure our plugin continues to provide the waveform regardless of the zoom level?

 

Thanks

 

1 reply

Participant
October 16, 2025

Hi,

We currently have the imGetPeakAudio function implemented in our plugin. But, to retrieve waveform data, our plugin needs to pull it from an external service, which can take some time depending on the clip duration. To avoid blocking the thread and causing Premiere player to freeze, we treat the first imGetPeakAudio request as a trigger to start fetching the waveform data asynchronously, and we immediately return imNoErr.


However, this approach results in the waveform panel remaining empty until Premiere triggers another imGetPeakAudio request. At the moment, we need to manually scroll or resize the panel to force Premiere to re-trigger the function, which is kinda unfriendly to our user.


We attempted to set maybeGrowing to true to allow Premiere to call us periodically, but this invalidates existing pre-rendered clips, which is not a desire outcome.


So my question is: is there a way to allow us to trigger a refresh from plugin once we are ready? For example, a callback mechanism or a way to request Premiere to come back later?


Thanks

Bruce Bullis
Community Manager
Community Manager
October 16, 2025

>is there a way to allow us to trigger a refresh from plugin once we are ready?

No. If you return imNoErr when passed imGetPeakAudio, PPro will assume there is no problem, and attempt to use the waveform data your Importer chose not to provide. 🙂

What is the zoom level at which PPro stops calling your Importer? 


Participant
October 17, 2025

> No. If you return imNoErr when passed imGetPeakAudio, PPro will assume there is no problem, and attempt to use the waveform data your Importer chose not to provide

 

Is there any other value I can return to PPro so that it knows it needs to come back later? Or is there another option that achieves the same result, or is this simply not doable today?

 

What is the zoom level at which PPro stops calling your Importer? 


I'm not sure how to tell which zoom level I'm at, but I uploaded a .gif showing how it happened. I explicitly set everything to zero in my imGetPeakAudio implementation so the presentation would be obvious. You can see starting from certain level the waveform are painted even I'm returning empty value.

Thanks!