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