Python-rtmidi

Latest version: v1.5.8

Safety actively analyzes 630406 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 7

1.4.0

Changes:

- Dropped nominal Python 2 support (no code changes or removals
related to this, though).
- Dropped Python 3.4 support.
- Added Python 3.8 to `setup.py` classifier.

Enhancements:

- Added `MODULATION` as an alias for `MODULATION_WHEEL` to
`rtmidi.midiconstants`.

Examples:

- Added `midiclock` example to show how to receive MIDI timing clock (48).
- Changed `midioutwrapper` example to use `rtmidi.midiutil.open_midiout` so
that it also works on Windows (with no virtual ports support) (51).

Documentation:

- Added note about `pip` being called `pip3` on Debian-based systems to
install instructions (49).
- Documented context manager protocol support better (52).
- Clarified purpose of `data` argument of `MidiIn.set_callback` (55).
- Updated year in copyright info in license file and Sphinx documentation.


Project infrastructure:

- Removed Python 2.7 from CI tests and package builds.
- Added Python 3.8 to CI and package builds.

1.3.1

Enhancements / Changes:

- RtMidi C++ exceptions are now caught when creating `RtMidiIn/Out` instances
and converted into a Python `rtmidi.SystemError` exception.
- Helper functions in `rtmidi.midiutil` now raise sub-classes of
`rtmidi.RtMidiError` wherever appropriate. The docstrings were updated
accordingly.
- Updated `rtmidi` sub-module, which includes the following changes:
- C++ exceptions, when thrown, do not print the error message to stderr
anymore.
- When the JACK backend can't be initialized (e.g. when the server isn't
running) it causes a `DRIVER_ERROR` instead of just a printing a
`WARNING`.

Examples:

- `midiout.py`: removed surplus second argument to `open_midioutput` left
over from previous version of script.
- Renamed example script `midiwrapper.py` to `midioutwrapper.py` to better
indicate its function.
- `sendsysex.py`: use helper functions from midiutil module to list and open
MIDI ports; improve error handling.
- Made sure MIDI ports are always properly closed and `MidiIn/Out` instances
are deleted.
- Inserted delay before closing/deleting output (may be needed with Windows
MMS).
- Simplified command line argument handling.
- Fixed example script file names in header comments.

Documentation:

- Made various small documentation wording changes and typo fixes.
- Updated year in copyright info in license file and Sphinx documentation.

Project infrastructure:

- Updated development dependency on `urllib3` to 1.24.2 (CVE-2019-11324).

1.3.0

Enhancements / Changes:

- Added `get_api_display_name` module-level function.
- Added `get_api_name` module-level function.
- Added `get_compiled_api_by_name` module-level function.
- Updated `rtmidi` sub-module to include all changes from upstream up to
commit 791dfea.

Documentation:

- Improved installation instructions and listed options recognized by
`setup.py`.

1.2.1

Fixes:

- Fixed build when compiling with JACK support, but JACK version is too old
to have `jack_port_rename` function (40).

Project infrastructure:

- Added Linux builds for Python 2.7 and 3.4 - 3.7 to Travis CI setup.

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.

[fork]: https://github.com/SpotlightKid/rtmidi

Enhancements / Changes:

- Added `get_rtmidi_version` module-level function.
- Added `set_client_name` and `set_port_name` methods to `MidiIn`'s and
`MidiOut`'s base class.
- Added a bunch of new custom exceptions, all derived from `RtMidiError`.
- A default error handler callback is now set for `MidiIn` and`MidiOut`
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 kinds 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.

1.1.2

Project infrastructure:

- Added bagdes and link to documentation to README visible on GitHub page.
- Tweaked project description wording.
- Updated copyright year in various documentation files.

Building:

- Binary wheels for Windows and OS X for Python 2.7, 3.5 (only Windows), 3.6,
and 3.7 are automatically built on AppVeyor resp. Travis CI and uploaded
to PyPI when a new release tag is pushed to GitHub.

Thanks to Benoit Pierre for the PR (36).

- Upload Gzip\'ed instead Bzip\'ed tarballs for source distributions to PyPI.

- `python setup.py test` now runs `tox`, so `tests_require` in `setup.py` is
empty now. We want dependencies to be only handled by `pip`, never by
`setuptools`.

Documentation:

- Minor additions, updates, fixes and wording tweaks.

Page 4 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.