X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/5a4def747897c1c6ffbe465506d846c7c686d3e9..d41cd9a41aca81eaa21e65e6c53672fe604fa3d5:/LUFA/Drivers/USB/Class/Host/MIDI.h diff --git a/LUFA/Drivers/USB/Class/Host/MIDI.h b/LUFA/Drivers/USB/Class/Host/MIDI.h index e77487db4..83b08d1ae 100644 --- a/LUFA/Drivers/USB/Class/Host/MIDI.h +++ b/LUFA/Drivers/USB/Class/Host/MIDI.h @@ -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 @@ * * Host 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 @@ -64,7 +64,11 @@ /* 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_HOST_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: */ @@ -133,6 +137,13 @@ uint16_t ConfigDescriptorSize, void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3); + /** General management task for a given MIDI host 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 an MIDI Class host configuration and state. + */ + void MIDI_Host_USBTask(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); + /** Sends a MIDI event packet to the device. If no device is connected, the event packet is discarded. * * \pre This function must only be called when the Host state machine is in the \ref HOST_STATE_Configured state or the @@ -170,27 +181,10 @@ bool MIDI_Host_ReceiveEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo, 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 host 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 an MIDI Class host configuration and state. - */ - static inline void MIDI_Host_USBTask(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); - static inline void MIDI_Host_USBTask(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo) - { - (void)MIDIInterfaceInfo; - } - /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) - /* Macros: */ - #define MIDI_STREAMING_CLASS 0x01 - #define MIDI_STREAMING_SUBCLASS 0x03 - #define MIDI_STREAMING_PROTOCOL 0x00 - /* Function Prototypes: */ - #if defined(__INCLUDE_FROM_MIDI_CLASS_HOST_C) + #if defined(__INCLUDE_FROM_MIDI_HOST_C) static uint8_t DCOMP_MIDI_Host_NextMIDIStreamingInterface(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1); static uint8_t DCOMP_MIDI_Host_NextMIDIStreamingDataEndpoint(void* const CurrentDescriptor) ATTR_NON_NULL_PTR_ARG(1); #endif