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. |
You use the functions when you are implementing your own midi device.
You set a send function to actually send bytes via your device, this method is called when you call a send function with this device, for instance midi_send_cc
You use the midi_device_input to process input data from the device and pass it through the device's associated callbacks.
You use the midi_device_set_pre_input_process_func if you want to have a function called at the beginning of the device's process function, generally to poll for input and pass that into midi_device_input
#define MIDI_INPUT_QUEUE_LENGTH 192 |
typedef void(* midi_no_byte_func_t)(MidiDevice *device) |
enum input_state_t |
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.
device | the midi device to associate the input with | |
cnt | the number of bytes you are processing | |
byte0 | the first byte to process | |
byte1 | the second byte to process, ignored if cnt != 2 | |
byte2 | the third byte to process , ignored if cnt != 3 |
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 | the midi device to associate this callback with | |
midi_no_byte_func_t | the actual callback function |
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.
device | the midi device to associate this callback with | |
send_func | the callback function that will do the sending |