PortMidi

Name: mido.backends.portmidi

Resources:

Installing

The PortMidi backend requires the portmidi shared library.

Ubuntu:

apt install libportmidi-dev

Homebrew:

brew install portmidi

MacPorts:

port install portmidi

The backend will look for:

portmidi.so      (Linux)
portmidi.dynlib  (macOS)
portmidi.dll     (Windows)

Features

  • Can send but doesn’t receive active_sensing messages.

  • No callback mechanism so callbacks are implemented in Python with threads. Each port with a callback has a dedicated thread doing blocking reads from the device.

  • Due to limitations in PortMidi the port list will not be up-to-date if there are any ports open. (The refresh is implemented by re-initializing PortMidi which would break any open ports.)