DecoderPro® Debug Menu
Virtual Sound Decoder
VSD File and Configuration
The VSD File is a ZIP archive containing all of the source audio files, plus a Configuration File that tells the Virtual Sound Decoder when and how to use the sound files, plus a License information file license.txt.
An example VSD file is included with the package, more examples are available for download on the web and you can make (and share!) your own.
To open a VSD File you may have to rename the file extension "vsd" to "zip" first.
Configuration File
The config.xml file can be created or edited using a standard text editor or a XML editor.
A value in XML is described as a tag, e.g.
<gain>0.8</gain>
.
The following sections present some optional configuration features. They are documented as tags, so you can copy and paste it into your config.xml file, if desired.
Auto-Start Engine
Description:
Beside the "Auto Start Engine" option in VSD Preferences you
may want to use this advanced option in your config.xml.
Since this option is allowed per Engine, you could have
auto-start-engines and non-auto-start-engines side by
side.
Optional. Must be declared in the tag sound
name="ENGINE". Default value: "no"
Since JMRI 4.11.3
Example:
<auto-start>yes</auto-start>
Engine Start and Stop by a throttle key
Description:
If desired, you may define a throttle button to start and to
stop the engine sound.
Optional. Must be declared in the tag
sound-event name="ENGINE".
Since JMRI 4.11.4
Example:
<trigger name="ENGINE_STARTSTOP" type="THROTTLE"> <event-name>F4</event-name> <target-name>ENGINE</target-name> <action>NOTHING</action> </trigger>
More throttle key functions: Brake-Key, Half-Speed-Key and Coast-Key
Description:
Trigger name for Brake-Key: BRAKE_KEY
Trigger name for Half-Speed: HALF_SPEED
Trigger name for Coast-Key: COAST
All these Triggers are intended for Engine type "steam1".
Optional. Must be declared in the tag
sound-event name="ENGINE".
Since JMRI 4.13.3
Important note on Brake-Key and Half-speed: Please setup those keys in
Virtual Sound Decoder only, if your DCC decoder supports such features and
can be set likewise.
Using a Brake-Key depends on the specification of your DCC decoder. Some
DCC decoder support a brake time, which is an optional deceleration-rate
and lower than the original one. I recommend to use a throttle key with
momentum behavior as the Brake-Key. Don't forget to set the
deceleration-rate (both in VSD and in your DCC decoder) to a high value,
e.g. 250. If you want to define a brake time in VSD, please do declare
(e.g.):
<brake-time>30</brake-time>
Acceleration-Rate and Deceleration-Rate
Description:
Allows to set an acceleration-rate and a deceleration-rate for Engine type
"steam1". Please note that it is necessary to set the accel-/decel-rates for
your DCC-Decoder likewise.
Optional. Must be declared in the tag sound name="ENGINE"
type="steam1". Default value: 35 / 18
Since JMRI 4.13.3
Example:
<accel-rate>35</accel-rate> <decel-rate>18</decel-rate>
Reference Distance
Description:
It's recommended to setup this value for each sound tag.
The reason for this is the sound attenuation model of OpenAL.
Sounds with distance to listener position lower than
reference-distance will not have any attenuation and the
volume of the Audio Source will be as defined by the gain
setting.
Optional. Must be declared in the tag sound
previous to a gain value. Default value: 1.0
Since JMRI 4.11.4
Example:
<reference-distance>3.0</reference-distance>
Engine Gain
Description:
This element allows to adjust the engine gain for steam1
and diesel3 engine types.
For engine type steam1 the gain value must be in the
range of 0.4 and 1.0.
Optional. Must be declared in the tag
sound name="ENGINE".
Default value: 0.8
Since JMRI 4.11.7
Example:
<engine-gain>0.6</engine-gain>
Create XY coordinates output in console for a VSDecoder
Description:
Helpfull option to verify the setup of your VSDGeoData.xml file
(see Advanced Location Following).
The JMRI system console output can be copied and edited for printing a route curve.
I have tested this with "LibreOffice Calc" and "Gnuplot".
Optional. Must be declared right after the
<profile>
tag.
Default value: "no"
Since JMRI 4.13.2
Example:
<create-xy-series>yes</create-xy-series>
Console output:
vsdecoder.VSDecoder INFO - 3(S): -1.5 1.1 [AWT-EventQueue-0] vsdecoder.VSDecoder INFO - 3(S): -1.489 1.1 [AWT-EventQueue-0] vsdecoder.VSDecoder INFO - 3(S): -1.4173 1.1 [AWT-EventQueue-0] vsdecoder.VSDecoder INFO - 3(S): -1.3456 1.1 [AWT-EventQueue-0] ...