Как сообщить хосту audiounit, что kAudioUnitProperty_Latency изменилось?

Мои AudioUnits работают просто отлично, но когда задержка изменилась, они должны сообщить об этом хосту. Вот мой код:

AudioUnitEvent e;
MMEMSET(&e, 0, sizeof(AudioUnitEvent));
e.mArgument.mProperty.mAudioUnit = Instance;//GetComponentInstance ();
e.mArgument.mProperty.mPropertyID = kAudioUnitProperty_Latency;
e.mArgument.mProperty.mScope = kAudioUnitScope_Global;
e.mArgument.mProperty.mElement = 0;
e.mEventType = kAudioUnitEvent_PropertyChange;
AUEventListenerNotify (paramListenerRef, NULL, &e);

К сожалению, в большинстве хостов это, похоже, ничего не делает, особенно в Logic. Есть идеи, что может быть не так?

1 ответ

Наконец то нашел. Итак, вам нужно управлять списком прослушивателей свойств, и всякий раз, когда это происходит, спрашивайте всех прослушивателей свойств. Ужасно, но я потратил некоторое время на изучение ужасного CoreAudio SDK, и вот как они это делают...

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