Releases: mdwn/mtrack
v0.4.1
v0.4.0
A gRPC server has been added to mtrack along with several utility subcommands that allow for control of the player from the command line. This should be useful for creating external player clients.
An OSC server has been added to mtrack. This will allow communication with mtrack over any OSC protocol (UDP only at the moment). This is handy for using clients like TouchOSC to control mtrack. This includes reporting, so that OSC clients can display information about currently playing songs, track durations, etc.
The keyboard controller has been fixed -- it wasn't trimming off the newlines at the end of keyboard input.
(Breaking Change) The play subcommand has been renamed play-direct so that the play subcommand could be used to control the gRPC server.
(Breaking Change) mtrack no longer supports multiple song definitions in one file. This is because mtrack has shed serde_yaml, which has been deprecated, and now uses config-rs to parse config files, and config-rs does not support YAML documents in one file. Other than lessening the maintenance burden, one advantage to doing this is that mtrack can now support multiple file types. As of the time of writing, this includes:
- JSON
- TOML
- YAML
- INI
- RON
- JSON5
Note that I still personally test with YAML, so I haven't had an opportunity to exercise all of the different file types.
v0.3.0
Configurable playback delays have been added for audio, MIDI, and DMX playback.
DMX will now only use one OLA client instead of one per universe.
A fairly large refactor has been done to the config logic. The motivation is to
keep (most) of the instantiation of the various pieces of business logic out of
the config package while simultaneously trying to simplify the configuration of
the player and its various components.
Finally, the nodi dependency was updated. This is of interested as it has a corrected
timer, so mtrack has been updated to use it. Initial testing seems to indicate
that it works well.
v0.2.1
Repeatedly attempt to connect to OLA, which should make connecting to DMX on startup
more reliable.
v0.2.0
The DMX universe was inadvertently hard coded to OLA universe 1. This
has been corrected.
v0.1.9
The expiration mechanism for cancellation had an unintended side effect
of preventing cancellation if one component of the song completed ahead
of time. In other words, if a MIDI file finished playing but there is
still audio to play, the song is no longer cancellable. Additionally, it
would be possible, in some circumstances, for the completion of one
aspect of a song to cancel others unexpectedly.
The "expiration" concept was introduced to allow cancellation while
still allowing a song to finish normally. This has been replaced with a
simple concept of an atomic bool that indicates whether a song component
(MIDI, DMX, or audio) has finished and, when used in combination with
the new "notify" function, will allow a cancel_handle.wait() call to
return without an actual cancellation happening.
v0.1.8 - Better MacOS support.
MacOS support is improved. It's not super thoroughly tested, but has been tested against several audio interfaces.
mtrack -V will report the correct mtrack version.
v0.1.7
Dependencies for mtrack have all been updated. This should hopefully resolve the issue
with cargo install
not working properly.
v0.1.6
DMX engine using OLA has been added. Contains a built in dimming engine.
Added the ability to exclude MIDI channels from MIDI playback.
v0.1.5
Initial DMX engine implemented. This is not quite ready for prime time.
Fixed the MIDI cancelable clock. Not sure what I was thinking when I implemented that.