pmidi
Play MIDI files to ALSA ports
SYNOPSIS
pmidi
PARAMETERS
No options
The standard pmidi utility, as commonly found in PortMidi examples, typically does not accept any command-line options or arguments. It is run without parameters to list all detected MIDI devices.
DESCRIPTION
pmidi is a simple command-line utility typically provided as an example or tool within the PortMidi library distribution. Its primary function is to enumerate and display information about MIDI input and output devices detected by the PortMidi library on the system.
It provides a quick way to identify connected MIDI interfaces, their unique device IDs, and their capabilities (input, output, or both). This information is crucial for developers and users of PortMidi-based applications who need to know which device IDs to use for MIDI communication. It does not send or receive MIDI data itself, acting purely as a diagnostic tool for device discovery.
CAVEATS
pmidi is not a standard POSIX or Linux core utility and is not part of the `util-linux` or `coreutils` packages. Its availability depends on the installation of the PortMidi library, often distributed as part of a `portmidi-examples` or similar development package. The exact functionality or availability of command-line options might vary slightly depending on the specific PortMidi version or how it was compiled/packaged.
TYPICAL OUTPUT
When executed, pmidi usually outputs a numbered list of detected MIDI devices. Each entry typically includes:
- Device ID: A unique integer identifier for the device.
- Device Name: A human-readable name for the MIDI interface or port.
- Capabilities: Indicators such as 'Input', 'Output', or 'Input, Output', denoting whether the device can send or receive MIDI data.
- Default Status: Whether it's the system's default input/output device (often marked with 'default').
DEPENDENCIES
The pmidi command relies on the PortMidi library. To use pmidi, the PortMidi development files and runtime libraries must be installed on your system. On Debian/Ubuntu-based systems, this often means installing packages like `libportmidi-dev` or similar.
HISTORY
pmidi emerged as a basic utility within the PortMidi project. PortMidi itself is a cross-platform C library designed to provide a uniform API for real-time MIDI input and output across different operating systems, including Linux, macOS, and Windows. Developed to simplify MIDI programming by abstracting OS-specific details, pmidi was created as a straightforward example program to demonstrate the library's device enumeration capabilities, serving as a practical tool for users to identify MIDI devices on their system.
SEE ALSO
aconnect(1), aplaymidi(1), arecordmidi(1), amidi(1), qjackctl(1)