MIDIMonster v0.5
This release includes the new RTP MIDI backend, which allows users to interact with a wide
variety of devices communicating MIDI over the network.
For most backends and functionality, this release serves as possible release candidate and
baseline for version 1.0.
The ALSA MIDI backend has removed support for the deprecated early channel specification syntax.
The OSC backend has been extended to allow reception of OSC bundle data.
The maweb backend now supports specifying multiple fallback remote addresses and will periodically
try to reconnect to any of them when a connection fails.
The Lua backend now supports routing all channel events to a single function using the
default-handler
functionality. Additionally, a cleanup handler function can be registered
to be run when the MIDIMonster is shut down. The Lua output
API can now be called during the
initial parse step, output values are cached and routed as soon as processing starts.
Channel handlers can now access the previous value of the channel using the input_value
API,
with the current value being the argument to the handler. Lua functions can now be run as thread-like
coroutines, allowing for cooperative multithreading.
The Python backend now supports routing all channel events to a single function using the
default-handler
functionality. Additionally, a cleanup handler function can be registered
to be run when the MIDIMonster is shut down. The Python output
API can now be called during the
initial parse step, output values are cached and routed as soon as processing starts.
Channel handlers can now access the previous value of the channel using the inputvalue
API,
with the current value being the argument to the handler.
The OpenPixelControl, ArtNet and sACN backends have received bug fixes and performance improvements.
All multi-platform backends have received updated error-reporting code and should now output
useful socket-level error messages on Windows as well as Linux and OSX.
The core has received fixes to the initial configuration validity checks and will now output basic
routing performance information on startup. The global channel store as well as the core routing facilities
have been optimized for better performance with large channel mapping sets.
Rudimentary deadlock elimination was put into place to prevent misconfigured backends from
locking processing entirely.
The configuration parser now supports the [include file.cfg]
directive to recursively include
configuration files.