1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Улучшение драйвера Focusrite Scarlett для Linux

Тема в разделе "WASM.RESEARCH", создана пользователем SadKo, 5 янв 2022.

  1. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.593
    Адрес:
    г. Санкт-Петербург
    Всем привет!

    В этом стриме я займусь доработкой драйвера аудиоинтерфейсов Focusrite Scarlett gen3 для Linux.
    Событие состоится в ночь с пятницы на субботу, 8 января, в 00:00 по Москве.

    Всех интересующих и сочувствующих приглашаю ко мне на канал!

     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.478
    Так а чего там улучшать? У меня FOCUSRITE Scarlett 2i2 2nd Gen USB, и он вроде нормально работает под моим Линуксом, даже задержки при мониторинге через DAW минимальные.
     
  3. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.593
    Адрес:
    г. Санкт-Петербург
    Речь идёт о старших моделях, в которых есть встроенный микшер и роутер. Во там беда.
     
  4. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.593
    Адрес:
    г. Санкт-Петербург
    А тем временем серия стримов продолжается.
    Прошедший сегодня ночью стрим: Стрим #2
    Новый стрим запланирован на 2022-01-21 21:00 UTC: Стрим #3
     
    Rel нравится это.
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    4.478
    Запили потом стрим по разработке VST-эффектов, если будет желание). Ну или LV2, Cocos Reaper под Линуксом теперь их поддерживает.
     
  6. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.577
    Посмотрел отрывками, 0x5C=92, оно. Зачем было это выяснять опытным путем? :acute:
    изображение_2022-01-15_185010.png
     
  7. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.593
    Адрес:
    г. Санкт-Петербург
    f13nd, возможно это и было проще. Но зачастую поведение драйвера не только установкой пинов занимается. Параллельно триггерится роутинг, например. Всё равно реверсить приходится, что где и как взаимодействует. Например, как стереоканалы в моноканалы превращаются и наоброт.
    --- Сообщение объединено, 15 янв 2022 ---
    Да я думал как LSP Plugins 1.2.0 выпущу запилить стрим по созданию какого-нибудь плагина.
     
  8. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.577
    Я не вполне понимаю что именно ты делаешь и почему это на линуксах не работает, если эти параметры устанавливает юзермодное приложение используя драйвер как посредник. В 'Focusrite Control.exe' вроде бы даже предусмотрена возможность запуска из-под линукса (ищет в ntdll wine_get_version и если находит даже пару костылей применяет для запуска с вайна).
     
    Последнее редактирование: 17 янв 2022
  9. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.593
    Адрес:
    г. Санкт-Петербург
    Штука в следующем. Железка, например, не поддерживает мьют для S/PDIF выходов и LOOP-выходов. А Focusrite Control поддерживает. Реализуется это через костыль - просто отключается роутинг на соответствующие выходные каналы.
    Но, учитывая то, что когда мы модифицируем роутинг, память роутера меняется, мы, не зная, что изначально было подключено к этому выходу, после перезагрузки драйвера не сможем восстановить при отключении мьюта.
    Для этого Focusrite Control имеет отдельный конфиг, который сохраняется внутрь памяти девайса, я назал его Software Configuration Area. Моя задача - разобраться со структурой этого Software Configuration Area и добавить нормальный Persistence в драйвер, чтобы он научился понимать, что хранится в этом конфиге и где, и научился его менять, чтобы сохранить совместимость с Focusrite Control.