1 //------------------------------------------------------------------------
4 // Category : Interfaces
5 // Filename : pluginterfaces/vst/ivstmidicontrollers.h
6 // Created by : Steinberg, 02/2006
7 // Description : VST MIDI Controller Enumeration
9 //-----------------------------------------------------------------------------
10 // This file is part of a Steinberg SDK. It is subject to the license terms
11 // in the LICENSE file found in the top-level directory of this distribution
12 // and at www.steinberg.net/sdklicenses.
13 // No part of the SDK, including this file, may be copied, modified, propagated,
14 // or distributed except according to the terms contained in the LICENSE file.
15 //-----------------------------------------------------------------------------
19 //------------------------------------------------------------------------
23 //------------------------------------------------------------------------
24 /** Controller Numbers (MIDI) */
25 enum ControllerNumbers
27 kCtrlBankSelectMSB
= 0, ///< Bank Select MSB
28 kCtrlModWheel
= 1, ///< Modulation Wheel
29 kCtrlBreath
= 2, ///< Breath controller
31 kCtrlFoot
= 4, ///< Foot Controller
32 kCtrlPortaTime
= 5, ///< Portamento Time
33 kCtrlDataEntryMSB
= 6, ///< Data Entry MSB
34 kCtrlVolume
= 7, ///< Channel Volume (formerly Main Volume)
35 kCtrlBalance
= 8, ///< Balance
37 kCtrlPan
= 10, ///< Pan
38 kCtrlExpression
= 11, ///< Expression
39 kCtrlEffect1
= 12, ///< Effect Control 1
40 kCtrlEffect2
= 13, ///< Effect Control 2
42 //---General Purpose Controllers #1 to #4---
43 kCtrlGPC1
= 16, ///< General Purpose Controller #1
44 kCtrlGPC2
= 17, ///< General Purpose Controller #2
45 kCtrlGPC3
= 18, ///< General Purpose Controller #3
46 kCtrlGPC4
= 19, ///< General Purpose Controller #4
48 kCtrlBankSelectLSB
= 32, ///< Bank Select LSB
50 kCtrlDataEntryLSB
= 38, ///< Data Entry LSB
52 kCtrlSustainOnOff
= 64, ///< Damper Pedal On/Off (Sustain)
53 kCtrlPortaOnOff
= 65, ///< Portamento On/Off
54 kCtrlSustenutoOnOff
= 66, ///< Sustenuto On/Off
55 kCtrlSoftPedalOnOff
= 67, ///< Soft Pedal On/Off
56 kCtrlLegatoFootSwOnOff
= 68, ///< Legato Footswitch On/Off
57 kCtrlHold2OnOff
= 69, ///< Hold 2 On/Off
59 //---Sound Controllers #1 to #10---
60 kCtrlSoundVariation
= 70, ///< Sound Variation
61 kCtrlFilterCutoff
= 71, ///< Filter Cutoff (Timbre/Harmonic Intensity)
62 kCtrlReleaseTime
= 72, ///< Release Time
63 kCtrlAttackTime
= 73, ///< Attack Time
64 kCtrlFilterResonance
= 74, ///< Filter Resonance (Brightness)
65 kCtrlDecayTime
= 75, ///< Decay Time
66 kCtrlVibratoRate
= 76, ///< Vibrato Rate
67 kCtrlVibratoDepth
= 77, ///< Vibrato Depth
68 kCtrlVibratoDelay
= 78, ///< Vibrato Delay
69 kCtrlSoundCtrler10
= 79, ///< undefined
71 //---General Purpose Controllers #5 to #8---
72 kCtrlGPC5
= 80, ///< General Purpose Controller #5
73 kCtrlGPC6
= 81, ///< General Purpose Controller #6
74 kCtrlGPC7
= 82, ///< General Purpose Controller #7
75 kCtrlGPC8
= 83, ///< General Purpose Controller #8
77 kCtrlPortaControl
= 84, ///< Portamento Control
79 //---Effect Controllers---
80 kCtrlEff1Depth
= 91, ///< Effect 1 Depth (Reverb Send Level)
81 kCtrlEff2Depth
= 92, ///< Effect 2 Depth (Tremolo Level)
82 kCtrlEff3Depth
= 93, ///< Effect 3 Depth (Chorus Send Level)
83 kCtrlEff4Depth
= 94, ///< Effect 4 Depth (Delay/Variation/Detune Level)
84 kCtrlEff5Depth
= 95, ///< Effect 5 Depth (Phaser Level)
86 kCtrlDataIncrement
= 96, ///< Data Increment (+1)
87 kCtrlDataDecrement
= 97, ///< Data Decrement (-1)
88 kCtrlNRPNSelectLSB
= 98, ///< NRPN Select LSB
89 kCtrlNRPNSelectMSB
= 99, ///< NRPN Select MSB
90 kCtrlRPNSelectLSB
= 100, ///< RPN Select LSB
91 kCtrlRPNSelectMSB
= 101, ///< RPN Select MSB
93 //---Other Channel Mode Messages---
94 kCtrlAllSoundsOff
= 120, ///< All Sounds Off
95 kCtrlResetAllCtrlers
= 121, ///< Reset All Controllers
96 kCtrlLocalCtrlOnOff
= 122, ///< Local Control On/Off
97 kCtrlAllNotesOff
= 123, ///< All Notes Off
98 kCtrlOmniModeOff
= 124, ///< Omni Mode Off + All Notes Off
99 kCtrlOmniModeOn
= 125, ///< Omni Mode On + All Notes Off
100 kCtrlPolyModeOnOff
= 126, ///< Poly Mode On/Off + All Sounds Off
101 kCtrlPolyModeOn
= 127, ///< Poly Mode On
103 //---Extra--------------------------
104 kAfterTouch
= 128, ///< After Touch (associated to Channel Pressure)
105 kPitchBend
= 129, ///< Pitch Bend Change
107 kCountCtrlNumber
, ///< Count of Controller Number
109 //---Extra for kLegacyMIDICCOutEvent-
110 kCtrlProgramChange
= 130, ///< Program Change (use LegacyMIDICCOutEvent.value only)
111 kCtrlPolyPressure
= 131, ///< Polyphonic Key Pressure (use LegacyMIDICCOutEvent.value for pitch and
112 /// LegacyMIDICCOutEvent.value2 for pressure)
113 kCtrlQuarterFrame
= 132 ///< Quarter Frame ((use LegacyMIDICCOutEvent.value only)
116 //------------------------------------------------------------------------
118 } // namespace Steinberg