Управление транспортом хоста VST из плагина VST - PullRequest
2 голосов
/ 03 февраля 2010

Я бы хотел управлять передачей (воспроизведение / остановка) хоста VST из плагина VST . Ясно, что метод sendVstEventsToHost предоставляет средство для отправки команд хосту, но это MIDI, и говорят, что они прикреплены к дорожке.

Возможно ли это? Есть идеи?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 05 августа 2010

Беглый взгляд на SDK показывает код операции «audioMasterSetTime», который может устанавливать темп хоста и т. Д. Так что ответ - да. Плохая новость - немногие хозяева поддерживают его - Bidule - единственный, кого я знаю.

1 голос
/ 10 июня 2010

Это точно не возможно. Несмотря на то, что протокол VST позволяет плагинам отправлять события хосту, большинство (если не все?) Хостов игнорируют изменения темпа и положения песни, отправленные им из плагинов.

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

По этой причине, это не очень хорошая идея, и именно поэтому среда VST действительно не позволяет этого.

Как подсказывает @obiwanjacobi, лучший способ управления темпом хоста - через MIDI, который требует написания виртуального MIDI-устройства. К сожалению, это не позволит вам управлять транспортом хоста, поскольку для этого нет (не sysex) сообщения протокола MIDI.

1 голос
/ 04 февраля 2010

Я не думаю, что это возможно. Спецификации VST Plugin основаны на обработке звука и миди. Управлять хостом практически невозможно. Единственное исключение, о котором я могу подумать, - это метод SetTimeInfo, который позволяет плагину «запрашивать» новую позицию в песне. Но этот метод был отмечен как устаревший в VST 2.4.

Возможно, вам удастся создать обходной путь с виртуальными MIDI-портами и позволить хосту синхронизироваться с внешним источником, который предоставляется вашим плагином. Не подумал об этом, поэтому не уверен, что это сработает.

...