Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
4.7KB

  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. //-----------------------------------------------------------------------------
  16. #pragma once
  17. //------------------------------------------------------------------------
  18. namespace Steinberg {
  19. namespace Vst {
  20. //------------------------------------------------------------------------
  21. /** Controller Numbers (MIDI) */
  22. enum ControllerNumbers
  23. {
  24. kCtrlBankSelectMSB = 0, ///< Bank Select MSB
  25. kCtrlModWheel = 1, ///< Modulation Wheel
  26. kCtrlBreath = 2, ///< Breath controller
  27. kCtrlFoot = 4, ///< Foot Controller
  28. kCtrlPortaTime = 5, ///< Portamento Time
  29. kCtrlDataEntryMSB = 6, ///< Data Entry MSB
  30. kCtrlVolume = 7, ///< Channel Volume (formerly Main Volume)
  31. kCtrlBalance = 8, ///< Balance
  32. kCtrlPan = 10, ///< Pan
  33. kCtrlExpression = 11, ///< Expression
  34. kCtrlEffect1 = 12, ///< Effect Control 1
  35. kCtrlEffect2 = 13, ///< Effect Control 2
  36. //---General Purpose Controllers #1 to #4---
  37. kCtrlGPC1 = 16, ///< General Purpose Controller #1
  38. kCtrlGPC2 = 17, ///< General Purpose Controller #2
  39. kCtrlGPC3 = 18, ///< General Purpose Controller #3
  40. kCtrlGPC4 = 19, ///< General Purpose Controller #4
  41. kCtrlBankSelectLSB = 32, ///< Bank Select LSB
  42. kCtrlDataEntryLSB = 38, ///< Data Entry LSB
  43. kCtrlSustainOnOff = 64, ///< Damper Pedal On/Off (Sustain)
  44. kCtrlPortaOnOff = 65, ///< Portamento On/Off
  45. kCtrlSustenutoOnOff = 66, ///< Sustenuto On/Off
  46. kCtrlSoftPedalOnOff = 67, ///< Soft Pedal On/Off
  47. kCtrlLegatoFootSwOnOff= 68, ///< Legato Footswitch On/Off
  48. kCtrlHold2OnOff = 69, ///< Hold 2 On/Off
  49. //---Sound Controllers #1 to #10---
  50. kCtrlSoundVariation = 70, ///< Sound Variation
  51. kCtrlFilterCutoff = 71, ///< Filter Cutoff (Timbre/Harmonic Intensity)
  52. kCtrlReleaseTime = 72, ///< Release Time
  53. kCtrlAttackTime = 73, ///< Attack Time
  54. kCtrlFilterResonance= 74, ///< Filter Resonance (Brightness)
  55. kCtrlDecayTime = 75, ///< Decay Time
  56. kCtrlVibratoRate = 76, ///< Vibrato Rate
  57. kCtrlVibratoDepth = 77, ///< Vibrato Depth
  58. kCtrlVibratoDelay = 78, ///< Vibrato Delay
  59. kCtrlSoundCtrler10 = 79, ///< undefined
  60. //---General Purpose Controllers #5 to #8---
  61. kCtrlGPC5 = 80, ///< General Purpose Controller #5
  62. kCtrlGPC6 = 81, ///< General Purpose Controller #6
  63. kCtrlGPC7 = 82, ///< General Purpose Controller #7
  64. kCtrlGPC8 = 83, ///< General Purpose Controller #8
  65. kCtrlPortaControl = 84, ///< Portamento Control
  66. //---Effect Controllers---
  67. kCtrlEff1Depth = 91, ///< Effect 1 Depth (Reverb Send Level)
  68. kCtrlEff2Depth = 92, ///< Effect 2 Depth (Tremolo Level)
  69. kCtrlEff3Depth = 93, ///< Effect 3 Depth (Chorus Send Level)
  70. kCtrlEff4Depth = 94, ///< Effect 4 Depth (Delay/Variation/Detune Level)
  71. kCtrlEff5Depth = 95, ///< Effect 5 Depth (Phaser Level)
  72. kCtrlDataIncrement = 96, ///< Data Increment (+1)
  73. kCtrlDataDecrement = 97, ///< Data Decrement (-1)
  74. kCtrlNRPNSelectLSB = 98, ///< NRPN Select LSB
  75. kCtrlNRPNSelectMSB = 99, ///< NRPN Select MSB
  76. kCtrlRPNSelectLSB = 100, ///< RPN Select LSB
  77. kCtrlRPNSelectMSB = 101, ///< RPN Select MSB
  78. //---Other Channel Mode Messages---
  79. kCtrlAllSoundsOff = 120, ///< All Sounds Off
  80. kCtrlResetAllCtrlers = 121, ///< Reset All Controllers
  81. kCtrlLocalCtrlOnOff = 122, ///< Local Control On/Off
  82. kCtrlAllNotesOff = 123, ///< All Notes Off
  83. kCtrlOmniModeOff = 124, ///< Omni Mode Off + All Notes Off
  84. kCtrlOmniModeOn = 125, ///< Omni Mode On + All Notes Off
  85. kCtrlPolyModeOnOff = 126, ///< Poly Mode On/Off + All Sounds Off
  86. kCtrlPolyModeOn = 127, ///< Poly Mode On
  87. //---Extra--------------------------
  88. kAfterTouch = 128, ///< After Touch (associated to Channel Pressure)
  89. kPitchBend = 129, ///< Pitch Bend Change
  90. kCountCtrlNumber, ///< Count of Controller Number
  91. //---Extra for kLegacyMIDICCOutEvent-
  92. kCtrlProgramChange = 130, ///< Program Change (use LegacyMIDICCOutEvent.value only)
  93. kCtrlPolyPressure = 131, ///< Polyphonic Key Pressure (use LegacyMIDICCOutEvent.value for pitch and
  94. /// LegacyMIDICCOutEvent.value2 for pressure)
  95. kCtrlQuarterFrame = 132 ///< Quarter Frame ((use LegacyMIDICCOutEvent.value only)
  96. };
  97. //------------------------------------------------------------------------
  98. } // namespace Vst
  99. } // namespace Steinberg