Move RNDISConstants.h into the RNDIS class driver common definition header.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / MIDI.h
index 5af6e18..a8b79b7 100644 (file)
@@ -3,7 +3,7 @@
      Copyright (C) Dean Camera, 2010.
 
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
@@ -33,8 +33,8 @@
  *
  *  Device mode driver for the library USB MIDI Class driver.
  *
- *  \note This file should not be included directly. It is automatically included as needed by the class driver
- *        dispatch header located in LUFA/Drivers/USB/Class/MIDI.h.
+ *  \note This file should not be included directly. It is automatically included as needed by the USB module driver
+ *        dispatch header located in LUFA/Drivers/USB.h.
  */
 
 /** \ingroup Group_USBClassMIDI
 
        /* Preprocessor Checks: */
                #if !defined(__INCLUDE_FROM_MIDI_DRIVER)
-                       #error Do not include this file directly. Include LUFA/Drivers/Class/MIDI.h instead.
+                       #error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
+               #endif
+
+               #if defined(__INCLUDE_FROM_MIDI_DEVICE_C) && defined(NO_STREAM_CALLBACKS)
+                       #error The NO_STREAM_CALLBACKS compile time option cannot be used in projects using the library Class drivers.
                #endif
 
        /* Public Interface - May be used in end-application: */
                         */
                        bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
+                       /** General management task for a given MIDI class interface, required for the correct operation of the interface. This should
+                        *  be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
+                        *
+                        *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state.
+                        */
+                       void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
+
                        /** Sends a MIDI event packet to the host. If no host is connected, the event packet is discarded. Events are queued into the
                         *  endpoint bank until either the endpoint bank is full, or \ref MIDI_Device_Flush() is called. This allows for multiple
                         *  MIDI events to be packed into a single endpoint packet, increasing data throughput.
                                                            MIDI_EventPacket_t* const Event) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2);
 
                /* Inline Functions: */
-                       /** General management task for a given MIDI class interface, required for the correct operation of the interface. This should
-                        *  be called frequently in the main program loop, before the master USB management task \ref USB_USBTask().
-                        *
-                        *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state.
-                        */
-                       static inline void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
-                       static inline void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
-                       {
-                               (void)MIDIInterfaceInfo;
-                       }
-
                        /** Processes incoming control requests from the host, that are directed to the given MIDI class interface. This should be
                         *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
                         *