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) |