-               void SendMIDINoteChange(const uint8_t Pitch, const bool OnOff,\r
-                                       const uint8_t CableID, const uint8_t Channel);          \r
-               void UpdateStatus(uint8_t CurrentStatus);\r
+       /* Type Defines: */\r
+               /** Type define for a USB MIDI event packet, used to encapsulate sent and received MIDI messages from a USB MIDI interface. */\r
+               typedef struct\r
+               {\r
+                       unsigned char Command     : 4; /**< MIDI command being sent or received in the event packet */\r
+                       unsigned char CableNumber : 4; /**< Virtual cable number of the event being sent or received in the given MIDI interface */\r
+                       \r
+                       uint8_t Data1; /**< First byte of data in the MIDI event */\r
+                       uint8_t Data2; /**< Second byte of data in the MIDI event */\r
+                       uint8_t Data3; /**< Third byte of data in the MIDI event */             \r
+               } USB_MIDI_EventPacket_t;\r
+               \r
+   /* Function Prototypes: */\r
+               void SetupHardware(void);\r
+               void MIDI_Task(void);\r
+   \r
+               void EVENT_USB_Device_Connect(void);\r
+               void EVENT_USB_Device_Disconnect(void);\r
+               void EVENT_USB_Device_ConfigurationChanged(void);\r