1.2.0
Project infrastructure:
-
RtMidi Sources and header are now included as a git sub-module from the 'python-rtmidi' branch of a fork of the upstream RtMidi repository.
This fork incorporates changes and fixes by pull requests to the upstream repository, which are (yet) unmerged, and some changes specific to python-rtmidi.
Enhancements / Changes:
- Added
get_rtmidi_version
module-level function. - Added
set_client_name
andset_port_name
methods toMidiIn
's andMidiOut
's base class. - Added a bunch of new custom exceptions, all derived from
RtMidiError
. - A default error handler callback is now set for
MidiIn
andMidiOut
instances, which maps C++ level errors into custom Python exceptions.
Examples:
- Enhanced example script
midiwrapper.py
with methods for more MIDI messages, including sending all kind of controller change and of (N)RPN messages.
Fixes:
- Fixed SysEx message reception in JACK backend in RtMidi: messages broken up over several events are now collected into a single event before being passed to the input callback or returned by
MidiIn.get_message
. - Fixed missing MIDI message input filtering in JACK backend in RtMidi:
MidiIn.ignoreTypes
now works as intended.
Testing:
- Restructured tests in
test_rtmidi
and added tests for new methods.