Нет точного уведомления, но довольно легко увидеть, началось или остановилось воспроизведение. Хост должен вызывать ваш плагин suspend()
и resume()
, когда транспорт останавливается и начинается соответственно. Во время этих вызовов вы можете запросить у плагина состояние воспроизведения, вызвав getTimeInfo()
(который объявлен в audioeffectx.h). Вы можете передать флаги kVstTransportChanged
и kVstTransportPlaying
, чтобы ваш плагин реагировал соответственно на изменения транспорта.
Однако некоторые хосты могут быть непослушными и не приостанавливать / возобновлять при простом изменении позиции воспроизведения, но не состояния транспорта. Я не уверен, насколько затратным для ЦП является запрос информации о времени во время процесса, но вы можете попробовать сделать это там, чтобы увидеть, прыгает ли хост в расположении.