/** \file
 *
 *  This file contains special DoxyGen information for the generation of the main page and other special
 *  documentation pages. It is not a project source file.
 */
 
/** \mainpage MIDI Input Device Demo
 *
 *  \section SSec_Compat Demo Compatibility:
 *
 *  The following table indicates what microcontrollers are compatible with this demo.
 *
 *  - AT90USB1287
 *  - AT90USB1286
 *  - AT90USB647
 *  - AT90USB646
 *  - ATMEGA32U6
 *  - ATMEGA32U4
 *  - ATMEGA16U4
 *  - AT90USB162
 *  - AT90USB82
 *
 *  \section SSec_Info USB Information:
 *
 *  The following table gives a rundown of the USB utilization of this demo.
 *
 *  <table>
 *   <tr>
 *    <td><b>USB Mode:</b></td>
 *    <td>Device</td>
 *   </tr>
 *   <tr>
 *    <td><b>USB Class:</b></td>
 *    <td>Audio Class</td>
 *   </tr>
 *   <tr> 
 *    <td><b>USB Subclass:</b></td>
 *    <td>Standard Audio Device</td>
 *   </tr>
 *   <tr>
 *    <td><b>Relevant Standards:</b></td>
 *    <td>USBIF Audio Class Specification</td>
 *    <td>USB-MIDI Audio Class Extension Specification</td>
 *    <td>General MIDI Specification</td>
 *   </tr>
 *   <tr>
 *    <td><b>Usable Speeds:</b></td>
 *    <td>Full Speed Mode</td>
 *   </tr>
 *  </table>
 *
 *  \section SSec_Description Project Description: 
 *
 *  MIDI demonstration application. This gives a simple reference
 *  application for implementing the USB-MIDI class in USB devices.
 *  It is built upon the USB Audio class.
 *  
 *  Joystick movements are translated into note on/off messages and
 *  are sent to the host PC as MIDI streams which can be read by any
 *  MIDI program supporting MIDI IN devices.
 *  
 *  If the HWB is not pressed, channel 1 (default piano) is used. If
 *  the HWB is set, then channel 10 (default percussion) is selected.
 *  
 *  This device implements MIDI-THRU mode, with the IN MIDI data being
 *  generated by the device itself. OUT MIDI data is discarded.
 *
 *  \section SSec_Options Project Options
 *
 *  The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
 *
 *  <table>
 *   <tr>
 *    <td>
 *     None
 *    </td>
 *   </tr>
 *  </table>
 */
