Virtual Sound Decoder
VSD headless mode
Since JMRI 4.15.2 you can run VSD in a so called "headless" mode,
i.e. running JMRI (and VSD) without a graphical user interface.
VSD headless is tested to work with JMRI webThrottle.
Please follow these setup steps for the "headless" mode:
- Consider the creation of a new JMRI Profile
- Configure a throttle key for every one of the VSD files to start/stop the engine or
activate the "Auto Start Engine" option
See the details how to do this configuration.
Alternatively or additionally you can activate the VSD Preference option "Auto Start Engine". Though, I recommend to use the "engine-startstop" option.
The number of VSDecoders is limited to 8. - Create a Roster Entry for every one of the VSDecoders
Launch PanelPro and navigate to Roster ⇒ Roster to add the Roster Entries.
- Create a Roster Group named VSD and assign every one of the Roster
Entries to the new Roster Group
You can use Settings ⇒ Roster Group Table Association to achieve this.
Then close the "Roster: All Entries" window to get back to PanelPro.
- Save the path and the profile name of every one of the VSDecoders to their Roster
Please check the path to the folder of your VSD files in VSDecoder Preferences, before you start!
Navigate to Tools ⇒ Virtual Sound Decoder ⇒ VSDecoder Manager
- Add Decoder
- Select a Roster Entry
- Load a VSD File
- Select the Profile
- Click the "Save to Roster" button and confirm with "Yes"
- Click the "OK" button
It's recommended to check the path and the profile name and (as may be the case) label the function key for Start/Stop.
To do this navigate to Roster ⇒ Roster ⇒ select a Roster entry ⇒ click the "Labels & Media" button.
Make your changes in the "Function Labels" tab and check the data in the "Roster Media" tab. - Set the Actions at JMRI Start Up
In PanelPro navigate to Edit ⇒ Preferences ⇒ Start Up
Add ⇒ Perform Action ⇒ select "Start Virtual Sound Decoder Manager"
Note: Do not add the Action "Open JMRI System Console"!
- Create a "JmriFacelessConfig3.properties" file
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Active profile configuration (saved at Wed Jan 09 09:05:26 CET 2019)</comment> <entry key="autoStart">true</entry> <entry key="autoStartTimeout">10</entry> <entry key="activeProfile">x.yyyyyyyy</entry> </properties>Replace the profile.id "x.yyyyyyyy" with the correct one (see profile/profile.properties in your headless Profile).
Store the new file to your "Settings Location" (JMRI folder).
- JMRI/VSD starting in headless mode
The following was tested under Windows 10.
If you are using "Apache Ant" you can enter "ant jmrifaceless". To quit the headless mode do Ctrl+C.
For Windows you can use "C:\Program Files (x86)\JMRI\LaunchJMRI.exe" /profile x.yyyyyyyy apps.JmriFaceless.
To end the headless mode I use a Jython script like ShutDownExample.py".
Don't forget to include the script to your JMRI Preferences Start Up.
For further explanations how to use web access please see JMRI Web Access.