00001 //------------------------------------------------------------------------ 00002 // Project : VST SDK 00003 // Version : 3.0 00004 // 00005 // Category : Interfaces 00006 // Filename : ivstmidicontroller.h 00007 // Created by : Steinberg, 02/2006 00008 // Modified : $Date: 2008/01/09 12:51:44 $ 00009 // Description : VST MIDI Controller Enumeration 00010 // 00011 //----------------------------------------------------------------------------- 00012 // LICENSE 00013 // © 2008, Steinberg Media Technologies GmbH, All Rights Reserved 00014 //----------------------------------------------------------------------------- 00015 // This Software Development Kit may not be distributed in parts or its entirety 00016 // without prior written agreement by Steinberg Media Technologies GmbH. 00017 // This SDK must not be used to re-engineer or manipulate any technology used 00018 // in any Steinberg or Third-party application or software module, 00019 // unless permitted by law. 00020 // Neither the name of the Steinberg Media Technologies nor the names of its 00021 // contributors may be used to endorse or promote products derived from this 00022 // software without specific prior written permission. 00023 // 00024 // THIS SDK IS PROVIDED BY STEINBERG MEDIA TECHNOLOGIES GMBH "AS IS" AND 00025 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00026 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00027 // IN NO EVENT SHALL STEINBERG MEDIA TECHNOLOGIES GMBH BE LIABLE FOR ANY DIRECT, 00028 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 00029 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00030 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00031 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 00032 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 00033 // OF THE POSSIBILITY OF SUCH DAMAGE. 00034 //---------------------------------------------------------------------------------- 00035 00036 #ifndef __ivstmidicontrollers__ 00037 #define __ivstmidicontrollers__ 00038 00039 //------------------------------------------------------------------------ 00040 namespace Steinberg { 00041 namespace Vst { 00042 00043 //------------------------------------------------------------------------ 00045 //------------------------------------------------------------------------ 00046 enum ControllerNumbers 00047 { 00048 kCtrlBankSelectMSB = 0, // Bank Select MSB 00049 kCtrlModWheel = 1, // Modulation Wheel 00050 kCtrlBreath = 2, // Breath controller 00051 00052 kCtrlFoot = 4, // Foot Controller 00053 kCtrlPortaTime = 5, // Portamento Time 00054 kCtrlDataEntryMSB = 6, // Data Entry MSB 00055 kCtrlVolume = 7, // Channel Volume (formerly Main Volume) 00056 kCtrlBalance = 8, // Balance 00057 00058 kCtrlPan = 10, // Pan 00059 kCtrlExpression = 11, // Expression 00060 kCtrlEffect1 = 12, // Effect Control 1 00061 kCtrlEffect2 = 13, // Effect Control 2 00062 00063 //---General Purpose Controllers #1 to #4--- 00064 kCtrlGPC1 = 16, // General Purpose Controller #1 00065 kCtrlGPC2 = 17, // General Purpose Controller #2 00066 kCtrlGPC3 = 18, // General Purpose Controller #3 00067 kCtrlGPC4 = 19, // General Purpose Controller #4 00068 00069 kCtrlBankSelectLSB = 32, // Bank Select LSB 00070 00071 kCtrlDataEntryLSB = 38, // Data Entry LSB 00072 00073 kCtrlSustainOnOff = 64, // Damper Pedal On/Off (Sustain) 00074 kCtrlPortaOnOff = 65, // Portamento On/Off 00075 kCtrlSustenutoOnOff = 66, // Sustenuto On/Off 00076 kCtrlSoftPedalOnOff = 67, // Soft Pedal On/Off 00077 kCtrlLegatoFootSwOnOff= 68, // Legato Footswitch On/Off 00078 kCtrlHold2OnOff = 69, // Hold 2 On/Off 00079 00080 00081 //---Sound Controllers #1 to #10--- 00082 kCtrlSoundVariation = 70, // Sound Variation 00083 kCtrlFilterCutoff = 71, // Filter Cutoff (Timbre/Harmonic Intensity) 00084 kCtrlReleaseTime = 72, // Release Time 00085 kCtrlAttackTime = 73, // Attack Time 00086 kCtrlFilterResonance= 74, // Filter Resonance (Brightness) 00087 kCtrlDecayTime = 75, // Decay Time 00088 kCtrlVibratoRate = 76, // Vibrato Rate 00089 kCtrlVibratoDepth = 77, // Vibrato Depth 00090 kCtrlVibratoDelay = 78, // Vibrato Delay 00091 kCtrlSoundCtrler10 = 79, // undefined 00092 00093 //---General Purpose Controllers #5 to #8--- 00094 kCtrlGPC5 = 80, // General Purpose Controller #5 00095 kCtrlGPC6 = 81, // General Purpose Controller #6 00096 kCtrlGPC7 = 82, // General Purpose Controller #7 00097 kCtrlGPC8 = 83, // General Purpose Controller #8 00098 00099 kCtrlPortaControl = 84, // Portamento Control 00100 00101 //---Effect Controllers--- 00102 kCtrlEff1Depth = 91, // Effect 1 Depth (Reverb Send Level) 00103 kCtrlEff2Depth = 92, // Effect 2 Depth 00104 kCtrlEff3Depth = 93, // Effect 3 Depth (Chorus Send Level) 00105 kCtrlEff4Depth = 94, // Effect 4 Depth (Delay/Variation Level) 00106 kCtrlEff5Depth = 95, // Effect 5 Depth 00107 00108 kCtrlDataIncrement = 96, // Data Increment (+1) 00109 kCtrlDataDecrement = 97, // Data Decrement (-1) 00110 kCtrlNRPNSelectLSB = 98, // NRPN Select LSB 00111 kCtrlNRPNSelectMSB = 99, // NRPN Select MSB 00112 kCtrlRPNSelectLSB = 100, // RPN Select LSB 00113 kCtrlRPNSelectMSB = 101, // RPN Select MSB 00114 00115 //---Other Channel Mode Messages--- 00116 kCtrlAllSoundsOff = 120, // All Sounds Off 00117 kCtrlResetAllCtrlers = 121, // Reset All Controllers 00118 kCtrlLocalCtrlOnOff = 122, // Local Control On/Off 00119 kCtrlAllNotesOff = 123, // All Notes Off 00120 kCtrlOmniModeOff = 124, // Omni Mode Off + All Notes Off 00121 kCtrlOmniModeOn = 125, // Omni Mode On + All Notes Off 00122 kCtrlPolyModeOnOff = 126, // Poly Mode On/Off + All Sounds Off 00123 kCtrlPolyModeOn = 127, // Poly Mode On 00124 00125 //---Extra-------------------------- 00126 kAfterTouch = 128, // After Touch 00127 kPitchBend, // Pitch Bend 00128 00129 kCountCtrlNumber 00130 }; 00131 00132 //------------------------------------------------------------------------ 00133 } // namespace Vst 00134 } // namespace Steinberg 00135 00136 #endif // __ivstmidicontrollers__