From 44a8085463008e5a5cb5a16227e374867e5d0ba7 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Mon, 1 Apr 2024 13:29:10 -0400 Subject: [PATCH] Seperate CLI switch for Analog Audio Out Gain; --- src/dsd_main.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/dsd_main.c b/src/dsd_main.c index 72a293d..3dba13e 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -1277,8 +1277,9 @@ usage () printf (" udp:192.168.7.8:23470 for UDP socket blaster output (Target Address and Port\n"); printf (" -d Create mbe data files, use this directory (TDMA version is experimental)\n"); printf (" -r Read/Play saved mbe data from file(s)\n"); - printf (" -g Audio Output Gain (Default: 0 = Auto; )\n"); - printf (" (Manual: 1 = 2%%; 50 = 100%%)\n"); + printf (" -g Audio Digital Output Gain (Default: 0 = Auto; )\n"); + printf (" (Manual: 1 = 2%%; 50 = 100%%)\n"); + printf (" -n Audio Analog Output Gain (Default: 0 = Auto; 0-100%% )\n"); printf (" -w Output synthesized speech to a .wav file, FDMA modes only.\n"); printf (" -6 Output raw audio .wav file (48K/1). (WARNING! Large File Sizes 1 Hour ~= 360 MB)\n"); printf (" -7 Create/Use Custom directory for Per Call decoded .wav file saving.\n"); @@ -1665,7 +1666,7 @@ main (int argc, char **argv) exitflag = 0; - while ((c = getopt (argc, argv, "yhaepPqs:t:v:z:i:o:d:c:g:nw:B:C:R:f:m:u:x:A:S:M:G:D:L:V:U:YK:b:H:X:NQ:WrlZTF01:2:345:6:7:89Ek:I:")) != -1) + while ((c = getopt (argc, argv, "yhaepPqs:t:v:z:i:o:d:c:g:n:w:B:C:R:f:m:u:x:A:S:M:G:D:L:V:U:YK:b:H:X:NQ:WrlZTF01:2:345:6:7:89Ek:I:")) != -1) { opterr = 0; switch (c) @@ -1786,11 +1787,13 @@ main (int argc, char **argv) if (opts.slot_preference > 1) opts.slot_preference = 1; fprintf (stderr, "TDMA (DMR and P2) Slot Voice Preference is Slot %d. \n", opts.slot_preference+1); break; - - - - + case 'n': //manually set analog audio output gain + sscanf (optarg, "%f", &opts.audio_gainA); + if (opts.audio_gainA > 100.0f) opts.audio_gainA = 100.0f; + else if (opts.audio_gainA < 0.0f) opts.audio_gainA = 0.0f; + fprintf (stderr, "Analog Audio Out Gain set to %f;\n", opts.audio_gainA); + break; case 'V': sscanf (optarg, "%d", &slotson); @@ -2059,7 +2062,7 @@ main (int argc, char **argv) case 'g': sscanf (optarg, "%f", &opts.audio_gain); - opts.audio_gainA = opts.audio_gain; //straight assignment + if (opts.audio_gain < (float) 0 ) { fprintf (stderr,"Disabling audio out gain setting\n");