skip to navigation
skip to content

Not Logged In

rtmidi-python 0.2.2

Python wrapper for RtMidi

Python wrapper for RtMidi, the lightweight, cross-platform MIDI I/O library. For Linux, Mac OS X and Windows.

Setup

The wrapper is written in Cython, but the generated C++ code is included, so you can install the module as usual:

python setup.py install

If you want to build from the Cython source, make sure that you have a recent version of Cython (>= 0.17), and run:

python setup.py install --from-cython

Usage Examples

rtmidi-python uses the same API as RtMidi, only reformatted to comply with PEP-8, and with small changes to make it a little more pythonic.

Send messages

import rtmidi_python as rtmidi

midi_out = rtmidi.MidiOut()
midi_out.open_port(0)

midi_out.send_message([0x90, 48, 100]) # Note on
midi_out.send_message([0x80, 48, 100]) # Note off

Get incoming messages by polling

import rtmidi_python as rtmidi

midi_in = rtmidi.MidiIn()
midi_in.open_port(0)

while True:
    message, delta_time = midi_in.get_message()
    if message:
        print message, delta_time

Note that the signature of get_message() differs from the original RtMidi API: It returns a tuple instead of using a return parameter.

Get incoming messages using a callback

import rtmidi_python as rtmidi

def callback(message, time_stamp):
    print message, time_stamp

midi_in = rtmidi.MidiIn()
midi_in.callback = callback
midi_in.open_port(0)

# do something else here (but don't quit)

Note that the signature of the callback differs from the original RtMidi API: message is now the first parameter, like in the tuple returned by get_message().

License

rtmidi-python is licensed under the MIT License, see LICENSE.

It uses RtMidi, licensed under a modified MIT License, see RtMidi/RtMidi.h.

 
File Type Py Version Uploaded on Size
rtmidi-python-0.2.2.tar.gz (md5) Source 2014-02-04 53KB
rtmidi-python-0.2.2.win-amd64-py2.7.exe (md5) MS Windows installer 2.7 2014-02-04 250KB
rtmidi-python-0.2.2.win32-py2.7.exe (md5) MS Windows installer 2.7 2014-02-04 219KB
  • Downloads (All Versions):
  • 7 downloads in the last day
  • 88 downloads in the last week
  • 397 downloads in the last month