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)