Всем привет! В этом стриме я займусь доработкой драйвера аудиоинтерфейсов Focusrite Scarlett gen3 для Linux. Событие состоится в ночь с пятницы на субботу, 8 января, в 00:00 по Москве. Всех интересующих и сочувствующих приглашаю ко мне на канал!
Так а чего там улучшать? У меня FOCUSRITE Scarlett 2i2 2nd Gen USB, и он вроде нормально работает под моим Линуксом, даже задержки при мониторинге через DAW минимальные.
А тем временем серия стримов продолжается. Прошедший сегодня ночью стрим: Стрим #2 Новый стрим запланирован на 2022-01-21 21:00 UTC: Стрим #3
Запили потом стрим по разработке VST-эффектов, если будет желание). Ну или LV2, Cocos Reaper под Линуксом теперь их поддерживает.
f13nd, возможно это и было проще. Но зачастую поведение драйвера не только установкой пинов занимается. Параллельно триггерится роутинг, например. Всё равно реверсить приходится, что где и как взаимодействует. Например, как стереоканалы в моноканалы превращаются и наоброт. --- Сообщение объединено, 15 янв 2022 --- Да я думал как LSP Plugins 1.2.0 выпущу запилить стрим по созданию какого-нибудь плагина.
Я не вполне понимаю что именно ты делаешь и почему это на линуксах не работает, если эти параметры устанавливает юзермодное приложение используя драйвер как посредник. В 'Focusrite Control.exe' вроде бы даже предусмотрена возможность запуска из-под линукса (ищет в ntdll wine_get_version и если находит даже пару костылей применяет для запуска с вайна).
Штука в следующем. Железка, например, не поддерживает мьют для S/PDIF выходов и LOOP-выходов. А Focusrite Control поддерживает. Реализуется это через костыль - просто отключается роутинг на соответствующие выходные каналы. Но, учитывая то, что когда мы модифицируем роутинг, память роутера меняется, мы, не зная, что изначально было подключено к этому выходу, после перезагрузки драйвера не сможем восстановить при отключении мьюта. Для этого Focusrite Control имеет отдельный конфиг, который сохраняется внутрь памяти девайса, я назал его Software Configuration Area. Моя задача - разобраться со структурой этого Software Configuration Area и добавить нормальный Persistence в драйвер, чтобы он научился понимать, что хранится в этом конфиге и где, и научился его менять, чтобы сохранить совместимость с Focusrite Control.