现在,如果我在某些媒体播放器中使用此插件(如Foobar with VST wrapper plugin),我使用搜索栏跳到歌曲中的某个位置,或者我切换到新歌,我仍然听到以前音频的尾部 .
是否有任何VST回调或被调用的东西通知插件有关此类流中断?
1 回答
3
当传输停止和启动时,分别没有't exactly a notification hook, but it is pretty easy to see if playback has started or stopped. The host should call your plugin' s suspend() 和 resume() . 在这些调用中,您可以通过调用 getTimeInfo() (在audioeffectx.h中声明)来询问插件的播放状态 . 您可以传递 kVstTransportChanged 和 kVstTransportPlaying 标志,以使您的插件对传输更改做出相应的反应 .
1 回答
当传输停止和启动时,分别没有't exactly a notification hook, but it is pretty easy to see if playback has started or stopped. The host should call your plugin' s
suspend()
和resume()
. 在这些调用中,您可以通过调用getTimeInfo()
(在audioeffectx.h中声明)来询问插件的播放状态 . 您可以传递kVstTransportChanged
和kVstTransportPlaying
标志,以使您的插件对传输更改做出相应的反应 .但是,一些主机可能很顽皮,只是在改变播放位置而不是传输状态时不会暂停/恢复 . 我不确定在处理过程中查询时间信息的CPU成本是多少,但你可以尝试这样做,以便查看主机是否在安排中跳转 .