Уже в который раз я пытался создать плагин AUv3, но с разным успехом (без особой радости, никогда: /)
Он работает в приложении, но auval завершается неудачно с
Bad Max Frames - Render should fail
ERROR: AudioUnitRender should have returned an error for too many frames but returned noErr
Текущая ОС: 10.13.5 XCode: 9.4
- создал инструмент MacOS AUv3, создав приложение Cocoa Objective C
- добавил расширение приложения AudioUnit
- добавлен каркас Какао
и т. Д.Детали предоставляются при необходимости. (Я делал заметки о своих шагах, поскольку ранее никогда не делал этого полностью.) По сути, это то же самое, что и инструмент Demo MacOS AUv3, но я начал проект с нуля.Единственный быстрый код находится в SimplePlayEngine.swift.Остальное - Objective C, Objective C ++ и прямой C ++.
Единственное обнаружение веб-поиска, которое я обнаружил по этой проблеме: добавить аргумент в prepareInputBufferList , но с этой ссылкой есть две проблемы:
- Применение изменения не делаетt исправить мою проблему
- Демонстрационный инструмент AUv3 создает и проходит проверку подлинности auval в моей системе без изменений.
Я не знаю, связано ли это, но я нахожу, что НИКАКОЙ точки остановаЯ установил в audiounit или связанные файлы (BufferedAudioBus.hpp) когда-либо ударил.Поскольку аудиоприбор функционирует в приложении, я должен предположить, что код выполняется, но что-то в том, как он был построен, неверно.(Сообщения NSLog также не печатаются ... ??? (да, я знаю, что при рендеринге в реальном времени печать на консоль - плохая идея)).
Я проверил между моим источником AU и демонстрациейАС и единственные изменения - это смена имени.«Фазы сборки» сопоставимы.
Я знаю, что это довольно неспецифичный вопрос, но у меня закончились идеи. У кого-нибудь есть идеи, как искать ошибку auval "Bad Max Frames"?