Цитата Сообщение от SMT Посмотреть сообщение
... а может быь и нет. может, newart-у нужен "живой" AY. чтобы DLL сама крутила цикл в отдельном потоке, сама постоянно выводила звук, а код трекера в реальном времени писал в регистры и не заморачивался с буферами и звукокартами
Зависит от задачи:

1. если делаем аналог Vortex, то достаточно AY эмулятора, который все делает сам, единсвенное что делаю я это устанавливаю регистры AY раз в 1/50с через callback функцию либы.

2. Если хочется возможность смешивать звук с Beeper (а ведь хочется), то нужна еще одна callback функция, в которой я накладывал бы семпл Beeper'a (генерируя его сам) на семпл AY сгеренрированый либой и она бы уже все это выводила в карту.

3. Beeper'a мало, хочется из 3-х AY каналов иметь хотя бы один цифровой. Тогда вариант со смешиванием семплов уже не подходит. Нужна видимо вот такая функция "функция out_reg(t, num_reg, value), которая симулирует вывод в регистр на точно заданной микросекунде (все t должны неубывать. в идеале - строго возрастать)" вместе с функционалом первого варианта. Если либа знает что такое Beeper, то возможно второй вариант по уму надо реализовывать через out_reg(beeper).