Metadata-Version: 1.1
Name: rtmidi-python
Version: 0.2.2
Summary: Python wrapper for RtMidi
Home-page: https://github.com/superquadratic/rtmidi-python
Author: Guido Lorenz
Author-email: code@superquadratic.net
License: MIT
Description: rtmidi-python
        =============
        
        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.
        
        Print all output ports
        ~~~~~~~~~~~~~~~~~~~~~~
        
        ::
        
            import rtmidi_python as rtmidi
        
            midi_out = rtmidi.MidiOut()
            for port_name in midi_out.ports:
                print port_name
        
        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.
        
        .. _RtMidi: http://www.music.mcgill.ca/~gary/rtmidi/
        .. _Cython: http://www.cython.org
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Cython
Classifier: Topic :: Multimedia :: Sound/Audio :: MIDI
Classifier: License :: OSI Approved :: MIT License
