MIDI Abstraction Layer
This is a neat little toolkit that interfaces with JACK, and translates incoming MIDI control data into OSC messages and then sends these to the designated recipient(s).
You can map almost any kind of MIDI control, including the standard MIDI continuous controllers, program changes, pitch bend messages, aftertouch, and even individual notes.
The target can receive these messages in a variety of formats (boolean true/false, float 0.0 ~ 1.0, char 0 ~ 127) and a single control may have multiple mappings.
Additionally, MAL features a "learn mode". When a MAL port is set to "learn mode", incoming MIDI control data is monitored but not sent to any targets. The control information received may then be mapped, or discarded.
Whilst MAL is primarily concerned with control data, it also allows mapping of the keyboard as a whole. MAL does nothing more than simply pass note-on and note-off messages to the designated recipients when the keyboard is mapped.
Getting Involved
You can download a recent release of MAL from the link below. This version was released on 22nd August, 2007. You will need LIBLO and the latest JACK development libraries installed.
If you'd like the latest and greatest version of the source code, please download this from the SVN repository:
- svn://svn.silverblade.co.uk/mal
Alternatively, if you simply want to take a look at MAL or are otherwise unable to obtain the source via the SVN repository, daily snapshots are downloadable from the following links. There are also some other useful downloads here as well.
- Daily SVN Snapshot (gzip)
- Daily SVN Snapshot (bzip)
- Documentation (pdf)
- MIDI Abstraction Layer (tar source code archive)
Please submit patches/bug reports via the Contact Me page.