2016-09-13 4 views
0

Я пытаюсь найти способ управления позицией/темпом воспроизведения VST-хоста из сборки VST-плагина с помощью JUCE.Управление воспроизведением хоста из JUCE audio VST-плагина

Я не уверен, что это возможно.

Я нашел функцию setPlayHead на AudioProcessor, и я думаю, что это может быть то, что я ищу.

https://www.juce.com/doc/classAudioProcessor#a9015f8476c07b173e3c9919b3036339d

Но на документ в setPlayHead я читаю это:

Tells the processor to use this playhead object. 

Так может кто-нибудь сказать мне, если это должно означать, что новый AudioPlayHead, который устанавливается на AudioProcessor будет (zb Cubase), или это означает, что только AudioProcessor моего плагина VST будет использовать этот AudioPlayHead, и AudioPlayHead хоста остается незатронутым)

Спасибо за любые help/input.

ответ

1

Таким образом, секвенсор не может управляться плагином VST. API VST не позволяет ничего подобного. Метод, который вы нашли, на самом деле является частью API Juce, который позволяет секвенсору передавать структуру плей-листа в плагин.

Чтобы быть справедливым, нет никаких технических причин, по которым плагин не мог этого сделать. Хост должен будет предоставить неофициальный код операции и связанный с ним canDo для этой функции. Однако он не будет частью стандарта VST и будет работать только для этого конкретного хоста.

Насколько я знаю, никакой основной узел VST (включая Ableton Live, Cubase и т. Д.) Не имеет механизма, позволяющего это делать. Думая с точки зрения хозяина, было бы немного сумасшедшим, чтобы обеспечить такой механизм. Представьте себе, что несколько плагинов пытаются остановить/воспроизвести воспроизведение хоста одновременно!

Так что да, извините, но на самом деле это невозможно сделать так, как вы думаете. Однако плагин VST мог бы контролировать темп хоста (но не состояние воспроизведения) через Ableton Link. Поскольку Link работает над локальным сетевым сокетом и не имеет понятия о master/slave, плагин VST теоретически может отправить изменения темпа хосту таким образом.

Прямо сейчас (где «сейчас» == Сентябрь 2016 года) Ableton Live является единственным секвенсором, который поддерживает Link, но Ableton сказал, что они работают с другими компаниями, чтобы помочь им добавить поддержку Link, Не удивляйтесь, если больше секвенсоров начнет добавлять поддержку Link в ближайшем будущем.

+0

Спасибо за ваш андерсер. Не тот ответ, который я искал, но имеет смысл для меня. Опубликовать вопрос здесь было моим последним прибежищем, но я уже понял, что это не будет успешным. – 80prozent

Смежные вопросы