other/padump.lpr, patest2.lpr, patest3.lpr писались для диагностики
зависания при выборе входа на слайсе (двойное открытие устройства, дамп
PA-списка). Баг закрыт как невоспроизводимый, зонды в сборку не входят и
ниоткуда не вызываются — при надобности достаются из истории (4aa180e).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Паритет с уже существующим выбором вывода: на каждом слайсе своё устройство
входа (микрофон/виртуальный кабель).
- RadioController: TCtrlSlice += InDeviceIndex/InDevName/AudioIn (ссылка, не
владение); mic-пул FMicPool с refcount (Acquire/ReleaseMicInput) — один
открытый TAudioInput на уникальное PA-устройство, смена TX-слайса не
переоткрывает поток; ActiveMicInput/ActiveMicInDevName для PullSoundCardMic,
Flush и DefaultMicSource; SetMainMicDevice перепривязывает ссылки слайсов.
- VfoOverlay: во fly-out AUD ряд вкладок OUT | IN, событие OnAudioInDevice.
- PanafallPanel: проброс списка входных устройств во флаги слайсов и главный.
- Settings: персист in_dev_name.
НЕ ГОТОВО: зависание GUI при выборе на слайсе того же входа, что в настройках
(пул открывает поток вместо шортката на общий FAudioIn). В коде оставлена
временная диагностика [MIC] в stderr. Также подозрение на замедление потока
данных от радио — проверяем сравнением с main.
Со мной в коммите временные тестовые программы PortAudio (other/pa*.lpr).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Without it Inno Setup skips files whose version matches the installed
one, so the exe was not replaced on updates.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>