#include <LUFA/Version.h>
#include <LUFA/Drivers/USB/USB.h>
#include "host.h"
-
-
+#ifdef MIDI_ENABLE
+ #include "midi.h"
+#endif
#ifdef __cplusplus
extern "C" {
#endif
uint16_t usage;
} __attribute__ ((packed)) report_extra_t;
+#ifdef MIDI_ENABLE
+ #define MIDI_SYSEX_BUFFER 16
+ void MIDI_Task(void);
+ MidiDevice midi_device;
-#if LUFA_VERSION_INTEGER < 0x120730
- /* old API 120219 */
- #define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank) Endpoint_ConfigureEndpoint(epnum, eptype, epdir, epsize, epbank)
-#else
+ 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);
+#endif
+
+// #if LUFA_VERSION_INTEGER < 0x120730
+// /* old API 120219 */
+// #define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank) Endpoint_ConfigureEndpoint(epnum, eptype, epdir, epsize, epbank)
+// #else
/* new API >= 120730 */
#define ENDPOINT_BANK_SINGLE 1
#define ENDPOINT_BANK_DOUBLE 2
#define ENDPOINT_CONFIG(epnum, eptype, epdir, epsize, epbank) Endpoint_ConfigureEndpoint((epdir) | (epnum) , eptype, epsize, epbank)
-#endif
+// #endif
#endif