Объединение mesh-audio и apo-profile-switcher в одно приложение с улучшенной синхронизацией и встроенными EQ-профилями.
- VB-Cable — установка/проверка/статус источника по умолчанию + одна кнопка «сделать VB-Cable источником» (через
IPolicyConfig::SetDefaultEndpoint). - EqualizerAPO — авто-детект через реестр + кнопка «Установить EqualizerAPO» (если не обнаружен).
- Колонки — выбор устройств для зеркалирования + per-device trim громкости + per-device offset + ★ кнопка «сделать default» на каждом устройстве.
- EqualizerAPO профили — 10 встроенных профилей (Bass Boost, Classic, JBL Punch, …) + опционально папка пользователя.
- Синхронизация — Global delay, Ring buffer, Warmup, Stability mode, Auto adjust + 8 пресетов (включая
BT Rock Stable). - Метрики — статус источника, заполнение буфера, число корректировок, master volume.
- Тёмная/светлая тема (запоминается в localStorage).
- Все 10 EQ-профилей зашиты в бинарь через
include_str!. Никаких внешних файлов рядом с.exe. - EqualizerAPO путь определяется автоматически:
- Реестр
HKLM\SOFTWARE\EqualizerAPO(InstallLocation/InstallPath). %ProgramFiles%\EqualizerAPO\config,%ProgramFiles(x86)%\EqualizerAPO\config.- Fallback на
C:\Program Files\EqualizerAPO\config. - Можно переопределить через UI (раздел EQ профили → ▼ → Choose EqualizerAPO config).
- Реестр
modio.exeпишетconfig.txtнапрямую в найденную папку EqualizerAPO. Контент профилей инлайнится — никакихInclude:на внешние файлы. Установка модуля в любой каталог.- Состояние modio (выбранные профили, настройки) хранится в
%LOCALAPPDATA%\modio\modio.json.
- Дефолтный
ring buffer = 800 ms,global delay = 180 ms,warmup = 100 ms. - Stability mode (включён по умолчанию):
- Debounce смены default-устройства 800 ms.
- Толерантность дрейфа 40 ms.
- Шаг коррекции 1 ms.
- Требуется 8 последовательных замеров расхождения перед коррекцией.
- Silence freeze: если источник молчит >80 ms — коррекции заморожены.
- Just-switched grace: 2.5 c после переключения default-устройства.
- Just-resumed grace: 2.2 c после возобновления звука (трек начался).
- Reader realign: при возобновлении после паузы >200 ms ридеры всех колонок принудительно выравниваются на точное
global_delay.
- Пресет
BT Rock Stable (anti-drift): ring 1600 ms, delay 380 ms — для совсем нестабильных BT-цепочек. - Громкость из мастера Windows: source IAudioEndpointVolume опрашивается каждые 220 ms; effective_session_volume = master × per-device trim. То есть слайдер Windows влияет на все колонки пропорционально, per-device слайдер в modio — это дополнительный trim.
- Корректировки и текущая master-громкость видны в метриках внизу окна.
npm install
npm run tauri:buildАртефакты:
src-tauri/target/release/modio.exe— портативный exe (≈2.6 MB).src-tauri/target/release/bundle/msi/modio_1.0.0_x64_en-US.msi— MSI установщик.src-tauri/target/release/bundle/nsis/modio_1.0.0_x64-setup.exe— NSIS установщик.
npm run tauri:devsrc/i18n.ts — два словаря (ru/en), переключение через setLocale('en'). По умолчанию — русский.