MIDI API
概述
Matrix OS 的 MIDI 系统复杂且强大。它允许你向不同的已注册 MIDI 端口或同时向多个 MIDI 端口发送和接收 MIDI 消息,包括系统独占(SysEx)消息。
你甚至可以在线程上创建虚拟端口来与你的应用程序通信。
有关 MIDI 数据包和端口结构的更多信息,请参阅 MIDI 数据包 和 MIDI 端口 文档。
此 API 的头文件是 os/MatrixOS.h 的一部分,实现位于 os/system/MIDI.cpp。
MatrixOS::MIDI::Get
bool Get(MidiPacket* midiPacketDest, uint16_t timeout_ms = 0);
检索下一个可用的 MIDI 数据包。如果没有数据包可用,函数将等待指定的超时时间。
MIDI 数据包的源在数据包的 port 字段中。
参数:
midiPacketDest(MidiPacket*):用于存储检索到的 MIDI 数据包的指针。timeout_ms(uint16_t,可选):等待 MIDI 数据包的最大时间(以毫秒为单位)。默认值为0。
返回值:
bool:如果成功检索到 MIDI 数据包则返回true,否则返回false。
MatrixOS::MIDI::Send
bool Send(MidiPacket midiPacket, uint16_t timeout_ms = 0);
发送 MIDI 数据包。数据包将被发送到数据包中指定的端口。
参数:
midiPacket(MidiPacket):要发送的 MIDI 数据包。timeout_ms(uint16_t,可选):发送操作的最大等待时间(以毫秒为单位)。默认值为0。
返回值:
bool:如果 MIDI 数据包发送成功则返回true,否则返回false。