#include <LUFA/Drivers/USB/USB.h>
#include "host.h"
#ifdef MIDI_ENABLE
- #include "midi.h"
+ #include "process_midi.h"
#endif
#ifdef __cplusplus
extern "C" {
} __attribute__ ((packed)) report_extra_t;
#ifdef MIDI_ENABLE
- #define MIDI_SYSEX_BUFFER 16
void MIDI_Task(void);
MidiDevice midi_device;
+#endif
+
+#ifdef API_ENABLE
+ #include "api.h"
+#endif
- void sysex_callback(MidiDevice * device, uint16_t start, uint8_t length, uint8_t * data);
- uint32_t decode_uint32_chunk(uint8_t * data);
- uint32_t decode_uint8_chunk(uint8_t * data);
- void encode_uint32_chunk(uint32_t data, uint8_t * pointer);
- void encode_uint8_chunk(uint8_t data, uint8_t * pointer);
- void sysex_buffer_callback(MidiDevice * device, uint8_t length, uint8_t * data);
- void send_unicode_midi(uint32_t unicode);
- void send_bytes_sysex(uint8_t type, uint8_t * bytes, uint8_t length);
+#ifdef API_SYSEX_ENABLE
+ #include "api_sysex.h"
+ // Allocate space for encoding overhead.
+ //The header and terminator are not stored to save a few bytes of precious ram
+ #define MIDI_SYSEX_BUFFER (API_SYSEX_MAX_SIZE + API_SYSEX_MAX_SIZE / 7 + (API_SYSEX_MAX_SIZE % 7 ? 1 : 0))
#endif
// #if LUFA_VERSION_INTEGER < 0x120730