1 #ifndef __AUMIDIDefs_h__
2 #define __AUMIDIDefs_h__
3 
4 #if !defined(__TMidiMessage)	/* DAS HACK */
5 enum
6 {
7 	kMidiMessage_NoteOff 			= 0x80,
8 	kMidiMessage_NoteOn 			= 0x90,
9 	kMidiMessage_PolyPressure 		= 0xA0,
10 	kMidiMessage_ControlChange 		= 0xB0,
11 	kMidiMessage_ProgramChange 		= 0xC0,
12 	kMidiMessage_ChannelPressure 	= 0xD0,
13 	kMidiMessage_PitchWheel 		= 0xE0,
14 	kMidiMessage_SysEx				= 0xF0,
15 	kMidiMessage_SysEx_End			= 0xF7,
16 	kMidiMessage_MetaEvent			= 0xFF
17 };
18 #endif
19 
20 enum
21 {
22 	kMidiController_BankSelect				= 0,
23 	kMidiController_ModWheel				= 1,
24 	kMidiController_Breath					= 2,
25 	kMidiController_Foot					= 4,
26 	kMidiController_PortamentoTime			= 5,
27 	kMidiController_DataEntry				= 6,
28 	kMidiController_Volume					= 7,
AUMIDIBase(AUBase * inBase)29 	kMidiController_Balance					= 8,
30 	kMidiController_Pan						= 10,
31 	kMidiController_Expression				= 11,
32 
33 	// these controls have a (0-63) == off, (64-127) == on
34 	kMidiController_Sustain					= 64, //hold1
35 	kMidiController_Portamento				= 65,
36 	kMidiController_Sostenuto				= 66,
37 	kMidiController_Soft					= 67,
38 	kMidiController_LegatoPedal				= 68,
39 	kMidiController_Hold2Pedal				= 69,
40 	kMidiController_FilterResonance			= 71,
41 	kMidiController_ReleaseTime				= 72,
42 	kMidiController_AttackTime				= 73,
43 	kMidiController_Brightness				= 74,
44 	kMidiController_DecayTime				= 75,
45 	kMidiController_VibratoRate				= 76,
46 	kMidiController_VibratoDepth			= 77,
47 	kMidiController_VibratoDelay			= 78,
48 
49 	// these controls have a 0-127 range and in MIDI they have no LSB (so fractional values are lost in MIDI)
50 	kMidiController_ReverbLevel				= 91,
51 	kMidiController_ChorusLevel				= 93,
52 
53 	kMidiController_RPN_LSB					= 100,
54 	kMidiController_RPN_MSB					= 101,
55 
56 	kMidiController_AllSoundOff				= 120,
57 	kMidiController_ResetAllControllers		= 121,
58 	kMidiController_AllNotesOff				= 123,
59 	kMidiController_OmniModeOff				= 124,
60 	kMidiController_OmniModeOn				= 125,
61     kMidiController_MonoModeOn              = 126,
62     kMidiController_MonoModeOff             = 127
63 };
64 
65 // RPN values
66 enum
67 {
68 	kMidiControllerValue_RPNPitchBendSensitivity	= 0,
69 	kMidiControllerValue_RPNChannelFineTuning		= 1,
70 	kMidiControllerValue_RPNChannelCoarseTuning		= 2,
71 	kMidiControllerValue_RPNModDepthRange			= 5,
72 	kMidiControllerValue_RPNNull					= 0x3fff	//! 0x7f/0x7f
73 };
74 
75 // GM2 Sound Bank Constants
76 enum
77 {
78 	kGM2MelodicBank						= 0x7900,
79 	kGM2PercussionBank					= 0x7800,
80 	kGSPercussionBank					= 0x7f00,
81 	kXGSFXBank							= 0x7E00,
82 	kXGPercussionBank					= kGSPercussionBank,
83 	kBankMSBMask						= 0xff00
84 };
85 
86 enum
87 {
88 	kMSBController_MidPoint			= 0x40
89 };
90 
91 #endif	// __AUMIDIDefs_h__
92 
93