ivstmidicontrollers.h

Go to the documentation of this file.
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__
Empty

Copyright ©2008 Steinberg Media Technologies. All Rights Reserved.