Device implementation functions. More...
#include "midi_function_types.h"
#include "bytequeue/bytequeue.h"
Go to the source code of this file.
Classes | |
struct | _midi_device |
This structure represents the input and output functions and processing data for a midi device. More... | |
Defines | |
#define | MIDI_INPUT_QUEUE_LENGTH 192 |
Typedefs | |
typedef void(* | midi_no_byte_func_t )(MidiDevice *device) |
Enumerations | |
enum | input_state_t { IDLE, ONE_BYTE_MESSAGE = 1, TWO_BYTE_MESSAGE = 2, THREE_BYTE_MESSAGE = 3, SYSEX_MESSAGE } |
Functions | |
void | midi_device_input (MidiDevice *device, uint8_t cnt, uint8_t byte0, uint8_t byte1, uint8_t byte2) |
Process input bytes. This function parses bytes and calls the appropriate callbacks associated with the given device. You use this function if you are creating a custom device and you want to have midi input. | |
void | midi_device_set_send_func (MidiDevice *device, midi_var_byte_func_t send_func) |
Set the callback function that will be used for sending output data bytes. This is only used if you're creating a custom device. You'll most likely want the callback function to disable interrupts so that you can call the various midi send functions without worrying about locking. | |
void | midi_device_set_pre_input_process_func (MidiDevice *device, midi_no_byte_func_t pre_process_func) |
Set a callback which is called at the beginning of the midi_device_process call. This can be used to poll for input data and send the data through the midi_device_input function. You'll probably only use this if you're creating a custom device. |
Device implementation functions.