Как визуализировать текущее положение AKSequencer с Audiokit?

Я новичок в Audiokit. Я хочу визуализировать текущую позицию работающего AKSequencer. Есть ли какие-либо обратные вызовы (как в AKMetronome) или прослушиватели или работает корневой цикл / основной цикл, который я могу подключить? Или я должен использовать AKCallbackInstrument, который каким-либо образом "запускает" GUI?

Кто-нибудь когда-либо делал это, кто хочет поделиться? Thnx!

1 ответ

Решение

Я делаю это с AKCallbackInstrument, Для каждого трека последовательности, в который я записываю MIDI-события, у меня есть сестринский трек секвенсора, отправляющий AKCallbackInstrument, Когда я записываю событие MIDI для звуковой дорожки, я также записываю событие GUI на дорожку обратного вызова сестры.

Поскольку вы можете отправлять только данные MIDIStatus, MIDINote и MIDIVelocity в инструмент обратного вызова, вы должны произвольно кодировать информацию в эти форматы. Например, MIDINote 0 может означать один тип события GUI, MIDINote 1 - что-то другое. Создание некоторых перечислений делает это легко.

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

Этот подход хорошо сработал для меня.

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

Другие вопросы по тегам