Add tag for the 120219 release.
[pub/USBasp.git] / Demos / Device / ClassDriver / MIDI / Descriptors.h
index 7cddaaf..c5dc2e2 100644 (file)
@@ -1,81 +1,87 @@
-/*\r
-             LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
-              \r
-  dean [at] fourwalledcubicle [dot] com\r
-      www.fourwalledcubicle.com\r
-*/\r
-\r
-/*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
-\r
-  Permission to use, copy, modify, distribute, and sell this \r
-  software and its documentation for any purpose is hereby granted\r
-  without fee, provided that the above copyright notice appear in \r
-  all copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting \r
-  documentation, and that the name of the author not be used in \r
-  advertising or publicity pertaining to distribution of the \r
-  software without specific, written prior permission.\r
-\r
-  The author disclaim all warranties with regard to this\r
-  software, including all implied warranties of merchantability\r
-  and fitness.  In no event shall the author be liable for any\r
-  special, indirect or consequential damages or any damages\r
-  whatsoever resulting from loss of use, data or profits, whether\r
-  in an action of contract, negligence or other tortious action,\r
-  arising out of or in connection with the use or performance of\r
-  this software.\r
-*/\r
-\r
-/** \file\r
- *\r
- *  Header file for Descriptors.c.\r
- */\r
\r
-#ifndef _DESCRIPTORS_H_\r
-#define _DESCRIPTORS_H_\r
-\r
-       /* Includes: */\r
-               #include <LUFA/Drivers/USB/USB.h>\r
-               #include <LUFA/Drivers/USB/Class/MIDI.h>\r
-\r
-               #include <avr/pgmspace.h>\r
-\r
-       /* Macros: */\r
-               /** Endpoint number of the MIDI streaming data IN endpoint, for device-to-host data transfers. */\r
-               #define MIDI_STREAM_IN_EPNUM        2\r
-\r
-               /** Endpoint number of the MIDI streaming data OUT endpoint, for host-to-device data transfers. */\r
-               #define MIDI_STREAM_OUT_EPNUM       1\r
-\r
-               /** Endpoint size in bytes of the Audio isochronous streaming data IN and OUT endpoints. */\r
-               #define MIDI_STREAM_EPSIZE          64\r
-               \r
-       /* Type Defines: */\r
-               /** Type define for the device configuration descriptor structure. This must be defined in the\r
-                *  application code, as the configuration descriptor contains several sub-descriptors which\r
-                *  vary between devices, and which describe the device's usage to the host.\r
-                */\r
-               typedef struct\r
-               {\r
-                       USB_Descriptor_Configuration_Header_t Config;\r
-                       USB_Descriptor_Interface_t            AudioControlInterface;\r
-                       USB_Audio_Interface_AC_t              AudioControlInterface_SPC;\r
-                       USB_Descriptor_Interface_t            AudioStreamInterface;\r
-                       USB_MIDI_AudioInterface_AS_t          AudioStreamInterface_SPC;\r
-                       USB_MIDI_In_Jack_t                    MIDI_In_Jack_Emb;\r
-                       USB_MIDI_In_Jack_t                    MIDI_In_Jack_Ext;\r
-                       USB_MIDI_Out_Jack_t                   MIDI_Out_Jack_Emb;\r
-                       USB_MIDI_Out_Jack_t                   MIDI_Out_Jack_Ext;\r
-                       USB_Audio_StreamEndpoint_Std_t        MIDI_In_Jack_Endpoint;\r
-                       USB_MIDI_Jack_Endpoint_t              MIDI_In_Jack_Endpoint_SPC;\r
-                       USB_Audio_StreamEndpoint_Std_t        MIDI_Out_Jack_Endpoint;\r
-                       USB_MIDI_Jack_Endpoint_t              MIDI_Out_Jack_Endpoint_SPC;\r
-               } USB_Descriptor_Configuration_t;\r
-               \r
-       /* Function Prototypes: */\r
-               uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)\r
-                                                                                       ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);\r
-\r
-#endif\r
+/*
+             LUFA Library
+     Copyright (C) Dean Camera, 2012.
+
+  dean [at] fourwalledcubicle [dot] com
+           www.lufa-lib.org
+*/
+
+/*
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+  Permission to use, copy, modify, distribute, and sell this
+  software and its documentation for any purpose is hereby granted
+  without fee, provided that the above copyright notice appear in
+  all copies and that both that the copyright notice and this
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
+  software without specific, written prior permission.
+
+  The author disclaim all warranties with regard to this
+  software, including all implied warranties of merchantability
+  and fitness.  In no event shall the author be liable for any
+  special, indirect or consequential damages or any damages
+  whatsoever resulting from loss of use, data or profits, whether
+  in an action of contract, negligence or other tortious action,
+  arising out of or in connection with the use or performance of
+  this software.
+*/
+
+/** \file
+ *
+ *  Header file for Descriptors.c.
+ */
+
+#ifndef _DESCRIPTORS_H_
+#define _DESCRIPTORS_H_
+
+       /* Includes: */
+               #include <LUFA/Drivers/USB/USB.h>
+
+               #include <avr/pgmspace.h>
+
+       /* Macros: */
+               /** Endpoint number of the MIDI streaming data IN endpoint, for device-to-host data transfers. */
+               #define MIDI_STREAM_IN_EPNUM        2
+
+               /** Endpoint number of the MIDI streaming data OUT endpoint, for host-to-device data transfers. */
+               #define MIDI_STREAM_OUT_EPNUM       1
+
+               /** Endpoint size in bytes of the Audio isochronous streaming data IN and OUT endpoints. */
+               #define MIDI_STREAM_EPSIZE          64
+
+       /* Type Defines: */
+               /** Type define for the device configuration descriptor structure. This must be defined in the
+                *  application code, as the configuration descriptor contains several sub-descriptors which
+                *  vary between devices, and which describe the device's usage to the host.
+                */
+               typedef struct
+               {
+                       USB_Descriptor_Configuration_Header_t     Config;
+
+                       // MIDI Audio Control Interface
+                       USB_Descriptor_Interface_t                Audio_ControlInterface;
+                       USB_Audio_Descriptor_Interface_AC_t       Audio_ControlInterface_SPC;
+
+                       // MIDI Audio Streaming Interface
+                       USB_Descriptor_Interface_t                Audio_StreamInterface;
+                       USB_MIDI_Descriptor_AudioInterface_AS_t   Audio_StreamInterface_SPC;
+                       USB_MIDI_Descriptor_InputJack_t           MIDI_In_Jack_Emb;
+                       USB_MIDI_Descriptor_InputJack_t           MIDI_In_Jack_Ext;
+                       USB_MIDI_Descriptor_OutputJack_t          MIDI_Out_Jack_Emb;
+                       USB_MIDI_Descriptor_OutputJack_t          MIDI_Out_Jack_Ext;
+                       USB_Audio_Descriptor_StreamEndpoint_Std_t MIDI_In_Jack_Endpoint;
+                       USB_MIDI_Descriptor_Jack_Endpoint_t       MIDI_In_Jack_Endpoint_SPC;
+                       USB_Audio_Descriptor_StreamEndpoint_Std_t MIDI_Out_Jack_Endpoint;
+                       USB_MIDI_Descriptor_Jack_Endpoint_t       MIDI_Out_Jack_Endpoint_SPC;
+               } USB_Descriptor_Configuration_t;
+
+       /* Function Prototypes: */
+               uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+                                                   const uint8_t wIndex,
+                                                   const void** const DescriptorAddress)
+                                                   ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
+
+#endif
+