Как визуализировать текущее положение AKSequencer с Audiokit?
Я новичок в Audiokit. Я хочу визуализировать текущую позицию работающего AKSequencer. Есть ли какие-либо обратные вызовы (как в AKMetronome) или прослушиватели или работает корневой цикл / основной цикл, который я могу подключить? Или я должен использовать AKCallbackInstrument, который каким-либо образом "запускает" GUI?
Кто-нибудь когда-либо делал это, кто хочет поделиться? Thnx!
1 ответ
Я делаю это с AKCallbackInstrument
, Для каждого трека последовательности, в который я записываю MIDI-события, у меня есть сестринский трек секвенсора, отправляющий AKCallbackInstrument
, Когда я записываю событие MIDI для звуковой дорожки, я также записываю событие GUI на дорожку обратного вызова сестры.
Поскольку вы можете отправлять только данные MIDIStatus, MIDINote и MIDIVelocity в инструмент обратного вызова, вы должны произвольно кодировать информацию в эти форматы. Например, MIDINote 0 может означать один тип события GUI, MIDINote 1 - что-то другое. Создание некоторых перечислений делает это легко.
Конечно, функции обратного вызова вызываются в фоновом потоке, поэтому не забудьте указать, что обновления вашего графического интерфейса должны происходить в основном потоке.
Этот подход хорошо сработал для меня.
изменить: я подозреваю, что вы уже видели этот пример кода, который иллюстрирует что-то очень похожее, но эта ссылка может быть полезна для всех, кто сталкивался с этим вопросом.