A class that converts byte streams into MIDI messages, and stores them in a FIFO. This is useful if you wish to read MIDI messages via polling instead of interrupts. The class supports every type of MIDI message, and System Realtime messages can be interleaved with regular ones.
MIDIparser Class Reference
A parser that accepts bytes and outputs MIDI messages. More...
#include <MIDIparser.h>
Public Member Functions | |
MIDIparser () | |
Create a parser and allocate input/output buffers. | |
void | parse (uint8_t data) |
Input a byte to the parser. | |
uint32_t | available () |
Determine if a MIDI message is in the queue. | |
MIDIMessage | grab () |
Grab the next MIDI message. |
Detailed Description
A parser that accepts bytes and outputs MIDI messages.
Example:
#include "mbed.h" #include "MIDIparser.h" MIDIparser myParser; Serial pc(USBTX, USBRX); int main() { while(1) { while(pc.readable()) { myParser.parse(pc.getc()); } while (myParser.available()) { MIDIMessage myMessage = myParser.grab(); pc.printf("%d %d %d %d\n", myMessage.type(), myMessage.channel(), myMessage.key(), myMessage.velocity()); } } }
Definition at line 60 of file MIDIparser.h.
Constructor & Destructor Documentation
MIDIparser | ( | ) |
Create a parser and allocate input/output buffers.
Definition at line 25 of file MIDIparser.cpp.
Member Function Documentation
uint32_t available | ( | ) |
Determine if a MIDI message is in the queue.
- Returns:
- 1 if something is ready, 0 otherwise
Definition at line 136 of file MIDIparser.cpp.
MIDIMessage grab | ( | ) |
Grab the next MIDI message.
- Returns:
- The next MIDI message
Definition at line 138 of file MIDIparser.cpp.
void parse | ( | uint8_t | data ) |
Input a byte to the parser.
- Parameters:
-
data The byte to parse
Definition at line 29 of file MIDIparser.cpp.
Generated on Tue Jul 12 2022 21:41:49 by 1.7.2