Releases: cbdevnet/midimonster
MIDIMonster v0.6
After a pretty long time in development, this release introduces three new backends:
The wininput
backend allows users to use mouse, keyboard and joysticks as input on Windows.
It can also be used to remotely control the mouse and keyboard state.
The visca
backend connects to motorized cameras (known as PTZ cameras) and allows
them to be controlled remotely.
The mqtt
backend provides read and write access to the popular message queueing telemetry
transport protocol, which is used in a wide variety of projects and applications.
The configuration parser now allows list-type multichannel specifications.
Additional example configurations have been added to the distribution.
Due to internal API changes, backends built for previous releases are incompatible with
this release.
The maweb backend will now retry connections after being disconnected.
The sACN backend has received improvements to the multicast receive functionality.
The sACN and ArtNet backends have been outfitted with a basic detect
functionality.
The ArtNet backend supports a new option to ignore the output rate limit.
The Lua and Python backends now support additional methods to gather the list of all
channels currently mapped to them.
The MIDI backends (midi
, winmidi
, jack
, rtpmidi
) have gained the ability to receive and
send extended parameter numbers (RPN/NRPN), which allow for finer grained control, as well as
support for the program change control.
The evdev backend will now terminate the core when losing the connection to an input device.
Device name matching for the evdev backend has been changed to allow for true prefix matching.
The maweb
backend has received fixes to the core interface, fixing a bug that required the channels
to be specified in order.
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.
MIDIMonster v0.4
This release introduces the project Logo, which is also used as the executable icon on Windows.
It contains two new backends, the OpenPixelControl backend for interfacing with intelligent pixel strips and clients written therefor,
and the Python backend, allowing users to implement custom logic, ranging up to backend-like extensions, using the Python 3 programming language.
Configuration read from files can now be extended or overridden from the command line, using the -i
and -b
arguments to override instance and backend configuration parameters, respectively.
The Windows build will now keep the console window alive until a key is pressed if it is exiting as the last process in the console (for example, if started from a file manager).
Some error messages that reported wrong or misleading information due to platform differences have been corrected.
Due to internal API changes, backends built for previous releases will need to be rebuilt to work with this one.
The sACN and ArtNet backends were outfitted with rate-limiting logic according to their respective specifications, which additionally should aid performance when translating multiple universes.
The Lua backend gained access to some new API calls and received some bug fixes, as has the Windows MIDI backend.
The MA Web backend can now be configured to output fewer warnings while in operation.
MIDIMonster v0.3
"The last release of the decade"
This release contains bugfixes to the winmidi, jack, maweb, evdev and sacn backends,
as well as the new 'local' option for descriptors of the sacn backend.
It updates several example configurations and introduces a layering demonstration.
This release introduces command-line argument parsing, initially by providing a
'-v' parameter for querying the binary version.
Due to internal API changes, backends built for previous releases are incompatible with
this release.
MIDIMonster v0.2
This release mostly contains improvements to the build process encountered during initial packaging efforts.
Core and backend functionality are on the same level and built from the same sources as the previous release.
MIDIMonster v0.1
This tag serves as the baseline for future releases and packaging efforts.
It is thought to be reasonably stable and feature-complete for general usage with the included backends.