LUFA Library  120730
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Common Class Definitions

Data Structures

struct  USB_MIDI_Descriptor_AudioInterface_AS_t
 MIDI class-specific Streaming Interface Descriptor (LUFA naming conventions). More...
struct  USB_MIDI_StdDescriptor_AudioInterface_AS_t
 MIDI class-specific Streaming Interface Descriptor (USB-IF naming conventions). More...
struct  USB_MIDI_Descriptor_InputJack_t
 MIDI class-specific Input Jack Descriptor (LUFA naming conventions). More...
struct  USB_MIDI_StdDescriptor_InputJack_t
 MIDI class-specific Input Jack Descriptor (USB-IF naming conventions). More...
struct  USB_MIDI_Descriptor_OutputJack_t
 MIDI class-specific Output Jack Descriptor (LUFA naming conventions). More...
struct  USB_MIDI_StdDescriptor_OutputJack_t
 MIDI class-specific Output Jack Descriptor (USB-IF naming conventions). More...
struct  USB_MIDI_Descriptor_Jack_Endpoint_t
 Audio class-specific Jack Endpoint Descriptor (LUFA naming conventions). More...
struct  USB_MIDI_StdDescriptor_Jack_Endpoint_t
 Audio class-specific Jack Endpoint Descriptor (USB-IF naming conventions). More...
struct  MIDI_EventPacket_t
 MIDI Class Driver Event Packet. More...

Macros

#define MIDI_STANDARD_VELOCITY   64
#define MIDI_CHANNEL(channel)   ((channel) - 1)
#define MIDI_EVENT(virtualcable, command)   ((virtualcable << 4) | (command >> 4))

Enumerations

enum  MIDI_JackTypes_t {
  MIDI_JACKTYPE_Embedded = 0x01,
  MIDI_JACKTYPE_External = 0x02
}

MIDI Command Values

#define MIDI_COMMAND_NOTE_ON   0x90
#define MIDI_COMMAND_NOTE_OFF   0x80

Detailed Description

Module Description

Constants, Types and Enum definitions that are common to both Device and Host modes for the USB MIDI Class.

Macro Definition Documentation

#define MIDI_CHANNEL (   channel)    ((channel) - 1)

Convenience macro. MIDI channels are numbered from 1-10 (natural numbers) however the logical channel addresses are zero-indexed. This converts a natural MIDI channel number into the logical channel address.

Parameters
[in]channelMIDI channel number to address.
Returns
Constructed MIDI channel ID.
#define MIDI_COMMAND_NOTE_OFF   0x80

MIDI command for a note off (deactivation) event.

#define MIDI_COMMAND_NOTE_ON   0x90

MIDI command for a note on (activation) event.

#define MIDI_EVENT (   virtualcable,
  command 
)    ((virtualcable << 4) | (command >> 4))

Constructs a MIDI event ID from a given MIDI command and a virtual MIDI cable index. This can then be used to create and decode MIDI_EventPacket_t MIDI event packets.

Parameters
[in]virtualcableIndex of the virtual MIDI cable the event relates to
[in]commandMIDI command to send through the virtual MIDI cable
Returns
Constructed MIDI event ID.
#define MIDI_STANDARD_VELOCITY   64

Standard key press velocity value used for all note events.

Enumeration Type Documentation

Enum for the possible MIDI jack types in a MIDI device jack descriptor.

Enumerator:
MIDI_JACKTYPE_Embedded 

MIDI class descriptor jack type value for an embedded (logical) MIDI input or output jack.

MIDI_JACKTYPE_External 

MIDI class descriptor jack type value for an external (physical) MIDI input or output jack.