mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
feat(slices): аудио-устройства слайса на вкладке Slices (in/out на слот)
У каждого слайса B..G — свои Audio out / Audio in рядом с его CAT-портом.
Списки те же, что у главных комбо; пустой выбор (Default/None) = прежнее
поведение, общий выход/вход приложения.
Это устройство СЛОТА (буквы), а не шаблон:
• смена настройки применяется к слайсу, стоящему на слоте, немедленно
(SetSliceSlotAudio) — как и вся остальная форма настроек EWSDR;
• слайс, который встанет на слот позже (создание/restore из персиста),
получает то же устройство: слот сильнее аргумента AddSlice;
• выбор во вкладке AUD флага пишется обратно в настройку слота
(StoreSliceSlotAudio) — вкладка всегда показывает реальность, а не
вторую, конкурирующую истину.
Хранятся ИМЕНА PortAudio-устройств, а не индексы: порядок перечисления
между запусками плавает. Имя устройства, которого сейчас нет в системе,
не теряется — комбо добавляет его в список и держит выбранным.
ApplySliceSlotAudio зовётся на старте и на смене устройства (rfDevice):
слайсы восстанавливаются позже, слот должен знать свои звуковухи заранее.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+21
-1
@@ -134,7 +134,27 @@ SmartSDR: Transmit Slice переключён, а не одолжен). Бейд
|
||||
## 4. Настройки
|
||||
|
||||
Вкладка **Slices**: на каждый слайс B..G — `Enable CAT TCP server`, `Port`
|
||||
(по умолчанию 19091, 19092, …) и `Auto TX`.
|
||||
(по умолчанию 19091, 19092, …), `Auto TX`, `Audio out`, `Audio in`.
|
||||
|
||||
### 4.1 Аудио слота
|
||||
|
||||
`Audio out`/`Audio in` — это **устройство слота (буквы)**, а не шаблон:
|
||||
|
||||
* смена настройки применяется немедленно к слайсу, который стоит на слоте
|
||||
сейчас (`TRadioController.SetSliceSlotAudio`);
|
||||
* слайс, который встанет на слот позже (создание/восстановление из персиста),
|
||||
получает то же устройство — оно сильнее того, что попросил вызывающий
|
||||
`AddSlice`;
|
||||
* выбор во вкладке `AUD` флага слайса пишется обратно в настройку слота
|
||||
(`SetSliceDevice`/`SetSliceInDevice` → `MainForm.StoreSliceSlotAudio`), так
|
||||
что вкладка всегда показывает реальное устройство — одна истина, два места
|
||||
правки;
|
||||
* пусто (`Default (app output)` / `None (app input)`) — как раньше: общий выход
|
||||
приложения и общий вход.
|
||||
|
||||
Хранятся **имена** PortAudio-устройств, а не индексы: порядок перечисления между
|
||||
запусками плавает. Имя отсутствующего сейчас устройства (кабель не поднят) не
|
||||
теряется — комбо добавляет его в список и держит выбранным.
|
||||
|
||||
* Хранятся вместе с остальным CAT: корневая секция `cat` (`slice_en_N`,
|
||||
`slice_port_N`, `slice_autotx_N`) + device-blob (`cat_slice_*`), не привязаны
|
||||
|
||||
Reference in New Issue
Block a user