This project aims to be the "brain" of a prerecorded show by playing Art-Net timecode, sending scheduled OSC messages and playing audio tracks synced to timecode.
Please note that this is a hobby project of mine, and it is WIP. Only wav files are supported. Some options can be only changed from the configuration file, notably
- Audio output
- Audio tracks
- Art-Net timecode generator
- LTC timecode generator
- MIDI timecode generator
- Timecode triggered OSC message sending
- Timecode triggered audio track player
- Web user interface
- Selectable output destination (eg. client1 plays Art-Net, client2 plays audio, and so on)
You can build the Java artifact with:
./gradlew buildthe artifact will be in build/libs
ShowManager uses a web UI. In order to use you have to build it first, using standard web tooling.
# First setup
pnpm installpnpm run buildAfter setting up the project with pnpm install, you can use the build-webapp gradle task for building. It runs the pnpm
build command internally.
# example full clean build, without tests
./gradlew clean build build-webapp -x testSet the build folder's path to the environment value showmanager.dist
Run the java artifact with:
java -jar ShowManager-<version>.jarOn the first run, ShowManager will create an empty config file. You may close ShowManager, as you probably want to configure some settings.
The project json file is located at %APPDATA%/ShowManager/projects.
You have to set the audio output, and add your tracks. Example:
"audio-player": {
"enabled": false,
"mixer": "Speakers (Realtek(R) Audio)",
"tracks": [
{
"startTime": {
"hour": 0,
"min": 1,
"sec": 5,
"frame": 0
},
"file": {
"path": "path/to/file.wav"
},
"volume": 1.0,
"markers": []
},
{
"startTime": {
"hour": 0,
"min": 10,
"sec": 0,
"frame": 0
},
"file": {
"path": "path/to/other_file.wav"
},
"volume": 1.0,
"markers": []
},
]
}Run again, and open the web UI on the host+port that's specified in the project settings. It defaults to http://127.0.0.1:7000.
