Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
>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?
Copy link to clipboard
Copied
> 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!
Copy link to clipboard
Copied
> Is there any other value I can return to PPro so that it knows it needs to come back later?
No. Your Importer told PPro that it would provide waveform data; there's no "now's not a good time, but check back with me later" functionality. 🙂
The .gif helps, thanks. Can you provide a build of your Importer that can run in our environment, and which reliably reproduces the behavior ?
Find more inspiration, events, and resources on the new Adobe Community
Explore Now