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