mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 17:27:32 +00:00
Add Audio tab toggle for transceiver built-in speaker
Adds a "Send audio stream to radio (built-in speaker)" checkbox on the
Settings → Audio tab. It is a single switch for the radio's built-in
speaker:
- ON — RX audio is streamed to the radio via the DDC Audio packet
(port 1028, 64 L/R pairs per packet) and the speaker is unmuted
(High Priority byte 1400 bit1 = 0).
- OFF — speaker is muted (byte 1400 bit1 = 1, ANAN-8000DLE IO1 output)
and no audio stream is sent.
The float->int16 conversion and 64-pair packet accumulation live in
THPSDRNetwork (SendSpeakerAudio/SetSpeakerAudio), next to SendDDCAudio;
MainForm only reads the setting and forwards the audio. State is
persisted per-MAC (send_audio_to_radio, default off) and re-applied on
each radio start.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
d8584323ac
commit
aff17aa3a6
@@ -219,6 +219,7 @@ type
|
||||
AudioOutDevice: string; // PortAudio output device name ('' = default)
|
||||
AudioSampleRate: Integer; // PortAudio stream sample rate (e.g. 48000)
|
||||
AudioInDevice: string; // PortAudio input device name for TX mic ('' = none)
|
||||
SendAudioToRadio: Boolean; // True = send RX audio stream to radio (built-in speaker)
|
||||
// --- Visibility settings ---
|
||||
ShowSpectrum: Boolean; // True = draw spectrum on main form
|
||||
ShowWaterfall: Boolean; // True = draw waterfall on main form
|
||||
@@ -399,6 +400,7 @@ begin
|
||||
G.AudioOutDevice := '';
|
||||
G.AudioSampleRate := 48000;
|
||||
G.AudioInDevice := '';
|
||||
G.SendAudioToRadio := False;
|
||||
G.ShowSpectrum := True;
|
||||
G.ShowWaterfall := True;
|
||||
G.ShowWideband := False;
|
||||
@@ -618,6 +620,7 @@ begin
|
||||
G.AudioOutDevice := JS(GObj,'audio_out_device','');
|
||||
G.AudioSampleRate := JI(GObj,'audio_sample_rate',48000);
|
||||
G.AudioInDevice := JS(GObj,'audio_in_device','');
|
||||
G.SendAudioToRadio := JB(GObj,'send_audio_to_radio',False);
|
||||
// Visibility settings
|
||||
G.ShowSpectrum := JB(GObj,'show_spectrum',True);
|
||||
G.ShowWaterfall := JB(GObj,'show_waterfall',True);
|
||||
@@ -706,6 +709,7 @@ begin
|
||||
JWS(O,'audio_out_device',G.AudioOutDevice);
|
||||
JW(O,'audio_sample_rate',G.AudioSampleRate);
|
||||
JWS(O,'audio_in_device',G.AudioInDevice);
|
||||
JW(O,'send_audio_to_radio',G.SendAudioToRadio);
|
||||
// Visibility settings
|
||||
JW(O,'show_spectrum',G.ShowSpectrum);
|
||||
JW(O,'show_waterfall',G.ShowWaterfall);
|
||||
|
||||
Reference in New Issue
Block a user