A simple Rust application to play audio, using JACK, when it receives commands via OSC.
Note: export RUST_LOG=mfl_gramophone=INFO
if you want any useful logging information.
See mfl-gramophone.toml.example
, and rename it to mfl-gramophone.toml
.
- Note: OSC bundles are unsupported and will be ignored.
- All commands will generate an
/ack
reply (including/ping
), regardless of whether or not they are successful.- (This is arguably a bug; read the logs if you care about error output.)
- All replies are sent to the same address that the OSC packet was received from.
- Does nothing, apart from sending an
/ack
reply like every other command.
- Instantly shuts the server down, halting all audio playback.
- Note: These commands begin with
/file/
, NOT/files/
!
- Starts playing the file
{name}
, as specified in the config file. LEVEL
(type float or double): volume, in decibels, to begin playback at.
- Stops playing the file
{name}
, as specified in the config file.
- Gradually changes the volume of a file over time.
LEVEL
(type float or double): volume, in decibels, to end up at.DURATION
(type integer): duration, in milliseconds, to fade over.
- Spews a bunch of debug information about the file
{name}
to the logs.
- Resampling is not supported; everything has to be the same sample rate (files, JACK)