JMRI Virtual Sound Decoder Manager Window
This is the quick reference page for the Manager window in the JMRI Virtual Sound Decoder
tool.
What is this thing? The Virtual Sound Secoder ("VSDecoder" for short) sits on your computer,
listening to its assigned decoder address. When you do things to the throttle (change speed
or press the function button), it makes sounds, just like a physical sound decoder in your
locomotive would - except the sound comes from your computer.
Virtual Sound Decoder is completely independent of the hardware layout, and can be used in
stand-alone mode. You don't even have to have a locomotive in the Roster to use it.
You
do need to have a working sound system and speakers on your computer, of
course!
You must also have the OpenAL or JavaSound audio system installed on your computer. See the
JMRI Audio Help Pages for
details.
See the
documentation pages for more details on Virtual Sound Decoder.
Virtual Sound Decoder Manager Window
The VSDecoder Manager Window contains a control panel for each Virtual Sound Decoder
("VSDecoder") that is running.
When first launched the window is empty, except for a volume slider, "Mute" button, and
"Add Decoder" button. To create a VSDecoder, click "Add Decoder". This will open the
Configure New VSDecoder Window.
The Volume slider and Mute button are "master" controls that control the sound output of
all running VSDecoders.
Configure New VSDecoder Window
A config dialog lets you choose which sound profile to use (Steam vs. Diesel, EMD vs. GE,
Leslie vs. Nathan, etc.), and assign a decoder address to listen to.
Roster Select and Save
You can select an existing Roster Entry, if you have any. Press the "Save" button to store
the currently loaded VSD File and Profile to the selected Roster Entry. The next time you
select that Roster Entry, it will auto-load the stored VSD File and Profile.
You don't have to use the Roster at all if you don't want to.
Profile Selection
To select a profile, you must first load a "VSD File". 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.
Click the "Load VSD File" button or choose
File ⇒ Load VSD File from
the menu bar to load a VSD file. You can't do anything else (except pick a roster entry)
until a VSD file is loaded.
Now you can choose one of the listed Profiles from the Profile drop-down. Note that you can't
do anything else (except pick a roster entry) until you've selected a Profile.
Address Assignment and the Roster
Once you've loaded a VSD file and set a Profile, you can either enter a decoder Address
directly - and click "Set" - or you can choose a locomotive from your roster. The VSDecoder
will then respond to throttle inputs. It will listen to
any throttle that sends
status information to JMRI. This includes JMRI software throttles, "smart phone" throttles
like WiThrottle and EngineDriver, and most (but not all) hardware throttles.
Once you have configured your decoder, click "OK" to start it.
Decoder Control Pane
When you Add a VSDecoder, you will see a pane full of controls for that decoder. Left to
right you see the locomotive address, the profile name, a set of buttons for directly playing
engine and auxiliary sounds, and a set of buttons for controlling the decoder directly.
- Options: Launch the Options Dialog for this VSDecoder
- Delete: Delete this VSDecoder
The exact selection of sound control buttons will very depending on the Sound Profile you
have loaded.
Note: Some of the buttons may be non-functional, for display/demonstration purposes only.
Engine Control
The Engine Control comes with two features.
- Notch Indicator: This "Spinner" shows the current "notch" the engine is running at.
This is an indicator, not a control.
- Engine Start Button: Press this button to start the engine sound. Press it again to
shut down the engine sound.
By default, the Engine sounds will not respond to throttle inputs until you have pressed the
"Engine Start" button on the Sounds tab. This is to preserve a semblance of realism in that
you must start the engine before it will run. This feature is completely independent of the
actual locomotive operation. If you would prefer to have your engine sounds start immediately
when you advance the throttle, without first pressing "Engine Start", there is a setting in
the VSDecoder Preferences to change this.
Options Dialog
The Options Dialog provides a train selection for each VSDecoder. When you MOVE the train in
Operations, the sound will move to the next location on the Route.
Menu Items
File Menu
- Load VSDecoder File
- Pops up a file chooser to load a VSD File. Most VSDecoder functions will not work until
you have loaded a VSD File.
Edit Menu
- VSDecoder Preferences
- Launches the VSDecoder Preferences pane.
Window and Help Menus
These are the standard JMRI Window and Help menus.
VSDecoder Preferences
The VSDecoder Preferences pane allows you to customize how the Virtual Sound Decoder works.
- Auto Start Engine
- If this box is checked, the engine sounds will respond to throttle inputs immediately,
without having to first press the "Engine Start" button.
- Auto Load VSD File(s)
-
If this box is checked, the VSD File(s) referenced in the Roster Group "VSD" will be
automatically loaded on start-up. See the
documentation pages for more details.
- Use Blocks
- If unchecked, Blocks are ignored. This may be helpful on Advanced Location Following. Default: checked.
- Default VSD File Path
- This path is the default path for the "Load VSD File" chooser box.
Roster Interaction
You can do the following:
- Set the VSDecoder address from a Roster entry
- Store a preferred VSDecoder File and Profile Name to a Roster entry
- Auto-set the VSDecoder Profile and address from a Roster entry
To store the current VSDecoder profile setting to a Roster Entry, select the Roster Entry and
click the "Save" button.
Bugs and other notes
A few notes on limitations and bug reporting:
- Some of the sounds are still "rough". Expect odd transitions between speed settings,
strange effects when you press buttons rapidly (and sometimes not), and so on.
- Not all of the sound buttons in example.vsd are functional.
- Please post a bug report on the JMRI users
Groups.io group or open an issue on
github if something appears truly broken.
(This is the jmri.jmrit.vsdecoder.swing.VSDManagerFrame help page)