milk,

the software you can download on this page,
is a Python extension module written in C++.

milk provides Python with classes
representing key MIDI sequencer components: MIDI I/O, EventLists, Plugins
and a realtime Flow class. The components can be freely interconnected
in a fashion very similar to physical MIDI cabling, however the milk
event system is not limited to MIDI events alone; you can define your
own extensions should the need arise.

All component classes can be subclassed in Python; in
fact the Plugin class is meant to be, providing two
methods for you to define: one that is called for every 1/4 note
passing and one that is called for every event the plugin receives.
Plugins can schedule events to be played in the future.
The timing of queued events is
accurate to a best-case ± .5 ms depending on system features
and load.

milk requires Python 2.3 running on a UNIX system.
The module can make use of the ALSA sequencer
infrastructure and the realtime clock /dev/rtc on Linux
systems.

Current Status

Unpolished. You'll need to manually edit the Makefile.

Unfinished. Quite a few pieces (tempo map, seeking) missing.

What's in it should work. If it doesn't, it's worth reporting.

The flow of time is irreversible and irrevocable.

Download

milk is released under the terms of the GNU Public
License with no warranties whatsoever made.
If you'd prefer different licensing conditions, feel
free to contact me.