|
Nanomidi
Simple stream-based MIDI message encoder and decoder
|
MIDI message encoder. More...
Data Structures | |
| struct | midi_ostream |
| Output stream for midi_encode() More... | |
Functions | |
| size_t | midi_encode (struct midi_ostream *stream, const struct midi_message *msg) |
| Encodes a single MIDI message. More... | |
| size_t | midi_encode_usb (struct midi_ostream *stream, const struct midi_message *msg, uint8_t cable_number) |
| Encodes a single MIDI message into USB packet. More... | |
| void | midi_ostream_from_buffer (struct midi_ostream *stream, void *buffer, size_t size) |
| Creates an output stream which writes to a buffer. More... | |
MIDI message encoder.
| size_t midi_encode | ( | struct midi_ostream * | stream, |
| const struct midi_message * | msg | ||
| ) |
Encodes a single MIDI message.
| stream | Pointer to the midi_ostream structure | |
| [in] | msg | Pointer to the midi_message structure to be encoded |
| size_t midi_encode_usb | ( | struct midi_ostream * | stream, |
| const struct midi_message * | msg, | ||
| uint8_t | cable_number | ||
| ) |
Encodes a single MIDI message into USB packet.
The packet format is described in Universal Serial Bus Device Class Definition for MIDI Devices.
| stream | Pointer to the midi_ostream structure | |
| [in] | msg | Pointer to the midi_message structure to be encoded |
| cable_number | Cable number (0-15) |
| void midi_ostream_from_buffer | ( | struct midi_ostream * | stream, |
| void * | buffer, | ||
| size_t | size | ||
| ) |
Creates an output stream which writes to a buffer.
The output stream can be used to write a finite number of messages into a pre-allocated buffer. It can be also used to encode a single message if the function is called right before midi_encode().
| stream | Pointer to the midi_ostream structure to be initialized |
| buffer | Pointer to the buffer to be written to |
| size | Buffer size (in bytes) |