Good morning, everyone.
I'm wondering if someone would be willing to let me know where I may be going wrong. I'm trying to get volume control using Mr. Dawson's "dsd_fsx_xml_sound.gau" gauge. I've been able to program the ability to control volume as a whole, but you have to switch the audio off first and then turn it back on for the new volume setting to "kick-in" with the file.
What I'm trying to do is change the volume "on the fly" or "as you click" on the volume control area.
Also, I'm not able to use the value "13" so that the file doesn't go back to the beginning. I'm successfully using "8" and "0" to set the volume and play as well as to stop the sounds, but I can't get them to work with "13" which, if I understand correctly, picks up where the sound left off when you shut the thing off.
I'm also messing up the whole "3" use as well, which is why I went with "8" since it sets the volume as well. Or am I missing something?
The files are HUGE since it involves several wave files (mostly one per station, per callsign), so I'm wondering if my mistake is to think I can control ALL of them with only one set of code?
Here is a link to what it looks like: JRN-3 Shortwave Radio Just follow the link therein, but the post there also explains what I'm trying to do.
Here is part of the code for the mouse which I have for volume. This is part of the "main" gauge xml file with all the bmp files and such:
Here is a snippet of the BBC and Cairo files. These are part of the "update" gauge, or "system" gauge:
Sorry if the comments seem obvious. I'm not a programmer and I still find things easier if I "tell myself" things. Either that or my age!

Thanks for any help or comments!
Saludos,
Jorge
Miami, FL
I'm wondering if someone would be willing to let me know where I may be going wrong. I'm trying to get volume control using Mr. Dawson's "dsd_fsx_xml_sound.gau" gauge. I've been able to program the ability to control volume as a whole, but you have to switch the audio off first and then turn it back on for the new volume setting to "kick-in" with the file.
What I'm trying to do is change the volume "on the fly" or "as you click" on the volume control area.
Also, I'm not able to use the value "13" so that the file doesn't go back to the beginning. I'm successfully using "8" and "0" to set the volume and play as well as to stop the sounds, but I can't get them to work with "13" which, if I understand correctly, picks up where the sound left off when you shut the thing off.
I'm also messing up the whole "3" use as well, which is why I went with "8" since it sets the volume as well. Or am I missing something?
The files are HUGE since it involves several wave files (mostly one per station, per callsign), so I'm wondering if my mistake is to think I can control ALL of them with only one set of code?
Here is a link to what it looks like: JRN-3 Shortwave Radio Just follow the link therein, but the post there also explains what I'm trying to do.
Here is part of the code for the mouse which I have for volume. This is part of the "main" gauge xml file with all the bmp files and such:
XML:
<!-- Volume Control -->
<Area Left="139" Top="375" Width="63" Height="62">
<Tooltip>Volume: %((L:SW_Volume_Set, enum))%!6.2f!; %((L:SW_Volume, enum))%!6.2f!</Tooltip>
<Cursor Type="Hand"/>
<Click Kind="LeftSingle+RightSingle+WheelUp+WheelDown" Repeat="Yes">
(M:Event) 'WheelDown' scmp 0 ==
(M:Event) 'LeftSingle' scmp 0 == ||
if{
(L:SW_Volume_Set, enum) 3.33 - 0 max (> L:SW_Volume_Set, enum)
(L:SW_Volume, enum) -3000 >
if{
(L:SW_Volume, enum) 100 - (> L:SW_Volume, enum)
<!-- Make the knob rotate through 360 degrees -->
(L:SW_Volume_Knob, number) 1 - dnor (>L:SW_Volume_Knob, number)
}
}
(M:Event) 'WheelUp' scmp 0 ==
(M:Event) 'RightSingle' scmp 0 == ||
if{
(L:SW_Volume_Set, enum) 3.33 + 100 min (> L:SW_Volume_Set, enum)
(L:SW_Volume, enum) -1 <
if{
(L:SW_Volume,enum) 100 + (> L:SW_Volume,enum)
<!-- Make the knob rotate through 360 degrees -->
(L:SW_Volume_Knob, number) 1 + dnor (>L:SW_Volume_Knob, number)
}
}
</Click>
</Area>
Here is a snippet of the BBC and Cairo files. These are part of the "update" gauge, or "system" gauge:
XML:
<Gauge>
<Update>
<!-- There is code here which works. -->
<!-- It's too much to include, so I'm only puting in the sound section below -->
<!-- Play In Range Sounds, otherwise play static. -->
1 (L:SW_Station_sound, bool) == <!-- If the audio switch is ON ... -->
if{
1 (L:Tx_Rng, bool) == <!-- ... and the aircraft is in range of the station ... -->
if{ <!-- ... if BBC is tuned ... -->
(L:SW_Freq_Set, number) (L:GSA_Freq_Set, number) ==
(L:SW_Callsign, number) (L:GSA_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSB_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSB_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSC_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSC_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSD_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSD_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSE_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSE_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSF_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSF_Callsign, number) == ||
if{ <!-- ... play the BBC sound ... -->
0 (> L:radio_static, number)
8 (> L:bbc_bigben_london, number)
0 (> L:reichssender_berlin_01, number)
0 (> L:radio_b_sw, number)
0 (> L:radio_c_sw, number)
0 (> L:radio_d_sw, number)
0 (> L:radio_e_sw, number)
0 (> L:radio_f_sw, number)
0 (> L:radio_g_sw, number)
0 (> L:radio_h_sw, number)
0 (> L:radio_i_sw, number)
0 (> L:radio_j_sw, number)
0 (> L:radio_cairo_01, number)
0 (> L:radio_cairo_02, number)
0 (> L:radio_rabat_01, number)
} <!-- ... if Radio Cairo is tuned ... -->
(L:SW_Freq_Set, number) (L:SUV_Freq_Set, number) ==
(L:SW_Callsign, number) (L:SUV_Callsign, number) == ||
if{ <!-- ... play the Cairo sound ... -->
0 (> L:radio_static, number)
0 (> L:bbc_bigben_london, number)
0 (> L:reichssender_berlin_01, number)
0 (> L:radio_b_sw, number)
0 (> L:radio_c_sw, number)
0 (> L:radio_d_sw, number)
0 (> L:radio_e_sw, number)
0 (> L:radio_f_sw, number)
0 (> L:radio_g_sw, number)
0 (> L:radio_h_sw, number)
0 (> L:radio_i_sw, number)
0 (> L:radio_j_sw, number)
8 (> L:radio_cairo_01, number)
0 (> L:radio_cairo_02, number)
0 (> L:radio_rabat_01, number)
}<!-- ... if other Radio Cairo is tuned ... -->
(L:SW_Freq_Set, number) (L:SUZ_Freq_Set, number) ==
(L:SW_Callsign, number) (L:SUZ_Callsign, number) == ||
if{ <!-- ... play the other Cairo sound ... -->
0 (> L:radio_static, number)
0 (> L:bbc_bigben_london, number)
0 (> L:reichssender_berlin_01, number)
0 (> L:radio_b_sw, number)
0 (> L:radio_c_sw, number)
0 (> L:radio_d_sw, number)
0 (> L:radio_e_sw, number)
0 (> L:radio_f_sw, number)
0 (> L:radio_g_sw, number)
0 (> L:radio_h_sw, number)
0 (> L:radio_i_sw, number)
0 (> L:radio_j_sw, number)
0 (> L:radio_cairo_01, number)
8 (> L:radio_cairo_02, number)
0 (> L:radio_rabat_01, number)
}
}
<!-- Here are other stations not included for space purposes. -->
<!-- The rest, however, is the rest of the update gauge code. -->
1 (L:Tx_Rng, bool) != <!-- If not in range. -->
if{ <!-- ... and if any of these are tuned ... -->
(L:SW_Freq_Set, number) (L:GSA_Freq_Set, number) ==
(L:SW_Callsign, number) (L:GSA_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSB_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSB_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSC_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSC_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:DJA_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:DJA_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:DJB_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:DJB_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:DJC_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:DJC_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:DJD_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:DJD_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:SUV_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:SUV_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:SUZ_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:SUZ_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:OER2_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:OER2_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSD_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSD_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSE_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSE_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:GSF_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:GSF_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:ORK_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:ORK_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:OXY_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:OXY_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:FYA1_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:FYA1_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:FYA2_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:FYA2_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:FYA3_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:FYA3_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:HAS_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:HAS_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:I2RO_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:I2RO_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:HVJ1_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:HVJ1_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:HVJ2_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:HVJ2_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:CNR2_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:CNR2_Callsign, number) == ||
(L:SW_Freq_Set, number) (L:CNR1_Freq_Set, number) == ||
(L:SW_Callsign, number) (L:CNR1_Callsign, number) == ||
if{ <!-- ... give static sound ... -->
8 (> L:radio_static, number)
0 (> L:bbc_bigben_london, number)
0 (> L:reichssender_berlin_01, number)
0 (> L:radio_b_sw, number)
0 (> L:radio_c_sw, number)
0 (> L:radio_d_sw, number)
0 (> L:radio_e_sw, number)
0 (> L:radio_f_sw, number)
0 (> L:radio_g_sw, number)
0 (> L:radio_h_sw, number)
0 (> L:radio_i_sw, number)
0 (> L:radio_j_sw, number)
0 (> L:radio_cairo_01, number)
0 (> L:radio_cairo_02, number)
0 (> L:radio_rabat_01, number)
} <!-- ... and if any of these are NOT tuned ... -->
(L:SW_Freq_Set, number) (L:GSA_Freq_Set, number) !=
(L:SW_Callsign, number) (L:GSA_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:GSB_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:GSB_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:GSC_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:GSC_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:DJA_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:DJA_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:DJB_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:DJB_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:DJC_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:DJC_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:DJD_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:DJD_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:SUV_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:SUV_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:SUZ_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:SUZ_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:OER2_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:OER2_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:GSD_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:GSD_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:GSE_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:GSE_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:GSF_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:GSF_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:ORK_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:ORK_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:OXY_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:OXY_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:FYA1_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:FYA1_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:FYA2_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:FYA2_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:FYA3_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:FYA3_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:HAS_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:HAS_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:I2RO_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:I2RO_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:HVJ1_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:HVJ1_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:HVJ2_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:HVJ2_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:CNR2_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:CNR2_Callsign, number) != ||
(L:SW_Freq_Set, number) (L:CNR1_Freq_Set, number) != ||
(L:SW_Callsign, number) (L:CNR1_Callsign, number) != ||
if{ <!-- ... give static sound ... -->
8 (> L:radio_static, number)
0 (> L:bbc_bigben_london, number)
0 (> L:reichssender_berlin_01, number)
0 (> L:radio_b_sw, number)
0 (> L:radio_c_sw, number)
0 (> L:radio_d_sw, number)
0 (> L:radio_e_sw, number)
0 (> L:radio_f_sw, number)
0 (> L:radio_g_sw, number)
0 (> L:radio_h_sw, number)
0 (> L:radio_i_sw, number)
0 (> L:radio_j_sw, number)
0 (> L:radio_cairo_01, number)
0 (> L:radio_cairo_02, number)
0 (> L:radio_rabat_01, number)
}
}
}
els{ <!-- Otherwise the audio is off. -->
0 (> L:radio_static, number)
0 (> L:bbc_bigben_london, number)
0 (> L:reichssender_berlin_01, number)
0 (> L:radio_b_sw, number)
0 (> L:radio_c_sw, number)
0 (> L:radio_d_sw, number)
0 (> L:radio_e_sw, number)
0 (> L:radio_f_sw, number)
0 (> L:radio_g_sw, number)
0 (> L:radio_h_sw, number)
0 (> L:radio_i_sw, number)
0 (> L:radio_j_sw, number)
0 (> L:radio_cairo_01, number)
0 (> L:radio_cairo_02, number)
0 (> L:radio_rabat_01, number)
}
<!-- Update Section Ends -->
</Update>
<!-- Close out the gauge. -->
</Gauge>
Sorry if the comments seem obvious. I'm not a programmer and I still find things easier if I "tell myself" things. Either that or my age!
Thanks for any help or comments!
Saludos,
Jorge
Miami, FL

