MIDI API
Preview notice
The MatrixOS Python API is in preview and is subject to change; it may contain errors.
Overview
The MIDI system in MatrixOS provides communication with external MIDI devices and software. It supports standard MIDI messages, SysEx data, and handles multiple MIDI ports. The MIDI API is available as MatrixOS.MIDI and is imported by default.
The Python MIDI API is implemented in Applications/Python/PikaPython/MatrixOS_MIDI.py with type hints in Applications/Python/PikaPython/_MatrixOS_MIDI.pyi.
MatrixOS.MIDI.Get
def Get(timeout_ms: int = 0) -> any
Receives the next MIDI packet from the input queue.
Parameters:
timeout_ms(int, optional): Timeout in milliseconds to wait for MIDI data (defaults to 0 for no timeout)
Returns:
MidiPacket: MIDI packet object on successNone: On timeout or no data available
MatrixOS.MIDI.Send
def Send(packet: MidiPacket, timeout_ms: int = 0) -> bool
Sends a MIDI packet to the output.
Parameters:
packet(MidiPacket): MIDI packet to sendtimeout_ms(int, optional): Timeout in milliseconds for send operation (defaults to 0 for no timeout)
Returns:
bool: True if sent successfully, False on timeout or error
MatrixOS.MIDI.SendSysEx
def SendSysEx(port: int, length: int, data: bytes, include_meta: bool = False) -> bool
Sends System Exclusive (SysEx) MIDI data.
Parameters:
port(int): MIDI port to send onlength(int): Length of SysEx datadata(bytes): SysEx data bytesinclude_meta(bool, optional): Whether to include SysEx meta bytes (F0/F7) (defaults to False)
Returns:
bool: True if sent successfully
Comments