Cleanup
[carla.git] / source / includes / vst3sdk / pluginterfaces / vst / ivstmidicontrollers.h
blob04ec6ee074395a203f892d79fa386ada4724d948
1 //------------------------------------------------------------------------
2 // Project : VST SDK
3 //
4 // Category : Interfaces
5 // Filename : pluginterfaces/vst/ivstmidicontrollers.h
6 // Created by : Steinberg, 02/2006
7 // Description : VST MIDI Controller Enumeration
8 //
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 //-----------------------------------------------------------------------------
17 #pragma once
19 //------------------------------------------------------------------------
20 namespace Steinberg {
21 namespace Vst {
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 //------------------------------------------------------------------------
117 } // namespace Vst
118 } // namespace Steinberg