BEAST/BSE - Better Audio System and Sound Engine  0.8.2
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Bse Namespace Reference

The Bse namespace contains all functions of the synthesis engine. More...

Namespaces

namespace  Contrib
 

The Contrib namespace contains contributed BSE modules.


namespace  Procedure
 

The Procedure namespace contains procedure/IDL helpers.


namespace  Standard
 

The Standard namespace contains BSE standard modules.


Classes

interface  TestObject
 Object to carry out IDL, API, signal, etc tests. More...
struct  UserMessage
 Structure for submission of user interface messages from BSE. More...
interface  Server
 Main Bse remote origin object. More...
class  IntSeq
class  TypeSeq
class  StringSeq
class  FloatSeq
class  NoteSeq
class  ItemSeq
class  PartNoteSeq
class  PartControlSeq
class  PixelSeq
class  CategorySeq
class  DotSeq
class  PartLinkSeq
class  TrackPartSeq
class  MidiChannelEvent
class  PropertyCandidates
class  PartNote
class  PartControl
class  NoteDescription
class  NoteSequence
class  Icon
class  Category
class  Dot
class  PartLink
class  TrackPart
class  SongTiming
class  SampleFileInfo
class  GConfig
class  BusModuleBase
class  TestObjectHandle
 See also the corresponding IDL class TestObject. More...
class  ServerHandle
 See also the corresponding IDL class Server. More...
class  ThreadInfoSeq
class  Message
class  ThreadInfo
class  ThreadTotals
class  TaskRegistry
 The task registry keeps track of runtime threads for profiling and statistical purposes. More...
class  AidaGlibSource
 A GSource implementation to attach an Aida::BaseConnection to a Glib main loop. More...
struct  Arg
class  CxxBaseClass
interface  CxxBase
class  CxxClosure
struct  JStream
struct  IStream
struct  OStream
class  SynthesisModule
class  EffectBase
interface  Effect
class  ExportTypeKeeper
struct  EnforceDerivedFrom
struct  EnforceDerivedFrom< Derived *, Base * >
struct  Exception
struct  InvalidArgument2
struct  WrongTypeGValue
struct  DontReach
struct  InvalidConnection
class  Record
struct  ClassInfo
class  TypeRegistry
struct  Value
class  Flac1Handle
 Flac1Handle supports storing flac files as binary appendix to BSE files. More...
class  MasterThread
interface  Item
interface  PcmWriter
interface  Source
interface  Snooper
interface  Constant
interface  Container
interface  Super
interface  WaveRepo
interface  SNet
interface  MidiSynth
interface  CSynth
interface  Song
interface  Project
interface  SubIPort
interface  InstrumentInput
interface  WaveOsc
interface  MidiVoiceInput
interface  ContextMerger
interface  Track
interface  MidiController
interface  BiquadFilter
interface  SubSynth
interface  Bus
interface  StandardOsc
interface  MidiInput
interface  PcmOutput
interface  PcmInput
interface  SubOPort
interface  InstrumentOutput
interface  Wave
interface  MidiVoiceSwitch
interface  LadspaModule
interface  MidiNotifier
interface  Part
interface  DataPocket
interface  Janitor
interface  EditableSample
struct  ProbeSeq
struct  ProbeRequestSeq
struct  ProbeFeatures
struct  Probe
struct  ProbeRequest
class  Sequencer
 Note and MIDI sequencer. More...
class  ServerImpl
class  TestObjectIface
 See also the corresponding IDL class TestObject. More...
class  ServerIface
 See also the corresponding IDL class Server. More...
class  TickStamp
class  TestObjectImpl
class  AmplifierBase
class  BalanceBase
class  NoiseBase
class  SummationBase

Typedefs

typedef Sfi::RecordHandle
< MidiChannelEvent
MidiChannelEventHandle
typedef Sfi::RecordHandle
< PropertyCandidates
PropertyCandidatesHandle
typedef Sfi::RecordHandle
< PartNote
PartNoteHandle
typedef Sfi::RecordHandle
< PartControl
PartControlHandle
typedef Sfi::RecordHandle
< NoteDescription
NoteDescriptionHandle
typedef Sfi::RecordHandle
< NoteSequence
NoteSequenceHandle
typedef Sfi::RecordHandle< IconIconHandle
typedef Sfi::RecordHandle
< Category
CategoryHandle
typedef Sfi::RecordHandle< DotDotHandle
typedef Sfi::RecordHandle
< PartLink
PartLinkHandle
typedef Sfi::RecordHandle
< TrackPart
TrackPartHandle
typedef Sfi::RecordHandle
< SongTiming
SongTimingHandle
typedef Sfi::RecordHandle
< SampleFileInfo
SampleFileInfoHandle
typedef Sfi::RecordHandle
< GConfig
GConfigHandle
typedef TestObjectHandle TestObjectH
 Convenience alias for the IDL type TestObject.
typedef ServerHandle ServerH
 Convenience alias for the IDL type Server.
typedef Sfi::RecordHandle
< Message
MessageHandle
typedef Sfi::RecordHandle
< ThreadInfo
ThreadInfoHandle
typedef Sfi::RecordHandle
< ThreadTotals
ThreadTotalsHandle
typedef std::string String
typedef std::complex< double > Complex
typedef Sfi::RecordHandle
< ProbeFeatures
ProbeFeaturesHandle
typedef Sfi::RecordHandle< ProbeProbeHandle
typedef Sfi::RecordHandle
< ProbeRequest
ProbeRequestHandle
typedef TickStamp::WakeupP TickStampWakeupP
typedef std::shared_ptr
< TestObjectImpl
TestObjectImplP

Enumerations

enum  UserMessageType { ERROR, WARNING, INFO, DEBUG }
enum  MusicalTuningType {
  MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET, MUSICAL_TUNING_5_TET, MUSICAL_TUNING_DIATONIC_SCALE,
  MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING, MUSICAL_TUNING_PENTATONIC_5_LIMIT, MUSICAL_TUNING_PENTATONIC_BLUES,
  MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, MUSICAL_TUNING_SILBERMANN_SORGE, MUSICAL_TUNING_WERCKMEISTER_3,
  MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5, MUSICAL_TUNING_WERCKMEISTER_6, MUSICAL_TUNING_KIRNBERGER_3,
  MUSICAL_TUNING_YOUNG, MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET, MUSICAL_TUNING_5_TET,
  MUSICAL_TUNING_DIATONIC_SCALE, MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING, MUSICAL_TUNING_PENTATONIC_5_LIMIT,
  MUSICAL_TUNING_PENTATONIC_BLUES, MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, MUSICAL_TUNING_SILBERMANN_SORGE,
  MUSICAL_TUNING_WERCKMEISTER_3, MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5, MUSICAL_TUNING_WERCKMEISTER_6,
  MUSICAL_TUNING_KIRNBERGER_3, MUSICAL_TUNING_YOUNG, MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET,
  MUSICAL_TUNING_5_TET, MUSICAL_TUNING_DIATONIC_SCALE, MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING,
  MUSICAL_TUNING_PENTATONIC_5_LIMIT, MUSICAL_TUNING_PENTATONIC_BLUES, MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE,
  MUSICAL_TUNING_SILBERMANN_SORGE, MUSICAL_TUNING_WERCKMEISTER_3, MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5,
  MUSICAL_TUNING_WERCKMEISTER_6, MUSICAL_TUNING_KIRNBERGER_3, MUSICAL_TUNING_YOUNG
}
enum  MidiSignalType {
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127,
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127,
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127
}
enum  MidiControlType {
  MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0, MIDI_CONTROL_CONTINUOUS_1, MIDI_CONTROL_CONTINUOUS_2,
  MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4, MIDI_CONTROL_CONTINUOUS_5, MIDI_CONTROL_CONTINUOUS_6,
  MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8, MIDI_CONTROL_CONTINUOUS_9, MIDI_CONTROL_CONTINUOUS_10,
  MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12, MIDI_CONTROL_CONTINUOUS_13, MIDI_CONTROL_CONTINUOUS_14,
  MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16, MIDI_CONTROL_CONTINUOUS_17, MIDI_CONTROL_CONTINUOUS_18,
  MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20, MIDI_CONTROL_CONTINUOUS_21, MIDI_CONTROL_CONTINUOUS_22,
  MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24, MIDI_CONTROL_CONTINUOUS_25, MIDI_CONTROL_CONTINUOUS_26,
  MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28, MIDI_CONTROL_CONTINUOUS_29, MIDI_CONTROL_CONTINUOUS_30,
  MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0, MIDI_CONTROL_1, MIDI_CONTROL_2,
  MIDI_CONTROL_3, MIDI_CONTROL_4, MIDI_CONTROL_5, MIDI_CONTROL_6,
  MIDI_CONTROL_7, MIDI_CONTROL_8, MIDI_CONTROL_9, MIDI_CONTROL_10,
  MIDI_CONTROL_11, MIDI_CONTROL_12, MIDI_CONTROL_13, MIDI_CONTROL_14,
  MIDI_CONTROL_15, MIDI_CONTROL_16, MIDI_CONTROL_17, MIDI_CONTROL_18,
  MIDI_CONTROL_19, MIDI_CONTROL_20, MIDI_CONTROL_21, MIDI_CONTROL_22,
  MIDI_CONTROL_23, MIDI_CONTROL_24, MIDI_CONTROL_25, MIDI_CONTROL_26,
  MIDI_CONTROL_27, MIDI_CONTROL_28, MIDI_CONTROL_29, MIDI_CONTROL_30,
  MIDI_CONTROL_31, MIDI_CONTROL_32, MIDI_CONTROL_33, MIDI_CONTROL_34,
  MIDI_CONTROL_35, MIDI_CONTROL_36, MIDI_CONTROL_37, MIDI_CONTROL_38,
  MIDI_CONTROL_39, MIDI_CONTROL_40, MIDI_CONTROL_41, MIDI_CONTROL_42,
  MIDI_CONTROL_43, MIDI_CONTROL_44, MIDI_CONTROL_45, MIDI_CONTROL_46,
  MIDI_CONTROL_47, MIDI_CONTROL_48, MIDI_CONTROL_49, MIDI_CONTROL_50,
  MIDI_CONTROL_51, MIDI_CONTROL_52, MIDI_CONTROL_53, MIDI_CONTROL_54,
  MIDI_CONTROL_55, MIDI_CONTROL_56, MIDI_CONTROL_57, MIDI_CONTROL_58,
  MIDI_CONTROL_59, MIDI_CONTROL_60, MIDI_CONTROL_61, MIDI_CONTROL_62,
  MIDI_CONTROL_63, MIDI_CONTROL_64, MIDI_CONTROL_65, MIDI_CONTROL_66,
  MIDI_CONTROL_67, MIDI_CONTROL_68, MIDI_CONTROL_69, MIDI_CONTROL_70,
  MIDI_CONTROL_71, MIDI_CONTROL_72, MIDI_CONTROL_73, MIDI_CONTROL_74,
  MIDI_CONTROL_75, MIDI_CONTROL_76, MIDI_CONTROL_77, MIDI_CONTROL_78,
  MIDI_CONTROL_79, MIDI_CONTROL_80, MIDI_CONTROL_81, MIDI_CONTROL_82,
  MIDI_CONTROL_83, MIDI_CONTROL_84, MIDI_CONTROL_85, MIDI_CONTROL_86,
  MIDI_CONTROL_87, MIDI_CONTROL_88, MIDI_CONTROL_89, MIDI_CONTROL_90,
  MIDI_CONTROL_91, MIDI_CONTROL_92, MIDI_CONTROL_93, MIDI_CONTROL_94,
  MIDI_CONTROL_95, MIDI_CONTROL_96, MIDI_CONTROL_97, MIDI_CONTROL_98,
  MIDI_CONTROL_99, MIDI_CONTROL_100, MIDI_CONTROL_101, MIDI_CONTROL_102,
  MIDI_CONTROL_103, MIDI_CONTROL_104, MIDI_CONTROL_105, MIDI_CONTROL_106,
  MIDI_CONTROL_107, MIDI_CONTROL_108, MIDI_CONTROL_109, MIDI_CONTROL_110,
  MIDI_CONTROL_111, MIDI_CONTROL_112, MIDI_CONTROL_113, MIDI_CONTROL_114,
  MIDI_CONTROL_115, MIDI_CONTROL_116, MIDI_CONTROL_117, MIDI_CONTROL_118,
  MIDI_CONTROL_119, MIDI_CONTROL_120, MIDI_CONTROL_121, MIDI_CONTROL_122,
  MIDI_CONTROL_123, MIDI_CONTROL_124, MIDI_CONTROL_125, MIDI_CONTROL_126,
  MIDI_CONTROL_127, MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0, MIDI_CONTROL_CONTINUOUS_1,
  MIDI_CONTROL_CONTINUOUS_2, MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4, MIDI_CONTROL_CONTINUOUS_5,
  MIDI_CONTROL_CONTINUOUS_6, MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8, MIDI_CONTROL_CONTINUOUS_9,
  MIDI_CONTROL_CONTINUOUS_10, MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12, MIDI_CONTROL_CONTINUOUS_13,
  MIDI_CONTROL_CONTINUOUS_14, MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16, MIDI_CONTROL_CONTINUOUS_17,
  MIDI_CONTROL_CONTINUOUS_18, MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20, MIDI_CONTROL_CONTINUOUS_21,
  MIDI_CONTROL_CONTINUOUS_22, MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24, MIDI_CONTROL_CONTINUOUS_25,
  MIDI_CONTROL_CONTINUOUS_26, MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28, MIDI_CONTROL_CONTINUOUS_29,
  MIDI_CONTROL_CONTINUOUS_30, MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0, MIDI_CONTROL_1,
  MIDI_CONTROL_2, MIDI_CONTROL_3, MIDI_CONTROL_4, MIDI_CONTROL_5,
  MIDI_CONTROL_6, MIDI_CONTROL_7, MIDI_CONTROL_8, MIDI_CONTROL_9,
  MIDI_CONTROL_10, MIDI_CONTROL_11, MIDI_CONTROL_12, MIDI_CONTROL_13,
  MIDI_CONTROL_14, MIDI_CONTROL_15, MIDI_CONTROL_16, MIDI_CONTROL_17,
  MIDI_CONTROL_18, MIDI_CONTROL_19, MIDI_CONTROL_20, MIDI_CONTROL_21,
  MIDI_CONTROL_22, MIDI_CONTROL_23, MIDI_CONTROL_24, MIDI_CONTROL_25,
  MIDI_CONTROL_26, MIDI_CONTROL_27, MIDI_CONTROL_28, MIDI_CONTROL_29,
  MIDI_CONTROL_30, MIDI_CONTROL_31, MIDI_CONTROL_32, MIDI_CONTROL_33,
  MIDI_CONTROL_34, MIDI_CONTROL_35, MIDI_CONTROL_36, MIDI_CONTROL_37,
  MIDI_CONTROL_38, MIDI_CONTROL_39, MIDI_CONTROL_40, MIDI_CONTROL_41,
  MIDI_CONTROL_42, MIDI_CONTROL_43, MIDI_CONTROL_44, MIDI_CONTROL_45,
  MIDI_CONTROL_46, MIDI_CONTROL_47, MIDI_CONTROL_48, MIDI_CONTROL_49,
  MIDI_CONTROL_50, MIDI_CONTROL_51, MIDI_CONTROL_52, MIDI_CONTROL_53,
  MIDI_CONTROL_54, MIDI_CONTROL_55, MIDI_CONTROL_56, MIDI_CONTROL_57,
  MIDI_CONTROL_58, MIDI_CONTROL_59, MIDI_CONTROL_60, MIDI_CONTROL_61,
  MIDI_CONTROL_62, MIDI_CONTROL_63, MIDI_CONTROL_64, MIDI_CONTROL_65,
  MIDI_CONTROL_66, MIDI_CONTROL_67, MIDI_CONTROL_68, MIDI_CONTROL_69,
  MIDI_CONTROL_70, MIDI_CONTROL_71, MIDI_CONTROL_72, MIDI_CONTROL_73,
  MIDI_CONTROL_74, MIDI_CONTROL_75, MIDI_CONTROL_76, MIDI_CONTROL_77,
  MIDI_CONTROL_78, MIDI_CONTROL_79, MIDI_CONTROL_80, MIDI_CONTROL_81,
  MIDI_CONTROL_82, MIDI_CONTROL_83, MIDI_CONTROL_84, MIDI_CONTROL_85,
  MIDI_CONTROL_86, MIDI_CONTROL_87, MIDI_CONTROL_88, MIDI_CONTROL_89,
  MIDI_CONTROL_90, MIDI_CONTROL_91, MIDI_CONTROL_92, MIDI_CONTROL_93,
  MIDI_CONTROL_94, MIDI_CONTROL_95, MIDI_CONTROL_96, MIDI_CONTROL_97,
  MIDI_CONTROL_98, MIDI_CONTROL_99, MIDI_CONTROL_100, MIDI_CONTROL_101,
  MIDI_CONTROL_102, MIDI_CONTROL_103, MIDI_CONTROL_104, MIDI_CONTROL_105,
  MIDI_CONTROL_106, MIDI_CONTROL_107, MIDI_CONTROL_108, MIDI_CONTROL_109,
  MIDI_CONTROL_110, MIDI_CONTROL_111, MIDI_CONTROL_112, MIDI_CONTROL_113,
  MIDI_CONTROL_114, MIDI_CONTROL_115, MIDI_CONTROL_116, MIDI_CONTROL_117,
  MIDI_CONTROL_118, MIDI_CONTROL_119, MIDI_CONTROL_120, MIDI_CONTROL_121,
  MIDI_CONTROL_122, MIDI_CONTROL_123, MIDI_CONTROL_124, MIDI_CONTROL_125,
  MIDI_CONTROL_126, MIDI_CONTROL_127, MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0,
  MIDI_CONTROL_CONTINUOUS_1, MIDI_CONTROL_CONTINUOUS_2, MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4,
  MIDI_CONTROL_CONTINUOUS_5, MIDI_CONTROL_CONTINUOUS_6, MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8,
  MIDI_CONTROL_CONTINUOUS_9, MIDI_CONTROL_CONTINUOUS_10, MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12,
  MIDI_CONTROL_CONTINUOUS_13, MIDI_CONTROL_CONTINUOUS_14, MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16,
  MIDI_CONTROL_CONTINUOUS_17, MIDI_CONTROL_CONTINUOUS_18, MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20,
  MIDI_CONTROL_CONTINUOUS_21, MIDI_CONTROL_CONTINUOUS_22, MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24,
  MIDI_CONTROL_CONTINUOUS_25, MIDI_CONTROL_CONTINUOUS_26, MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28,
  MIDI_CONTROL_CONTINUOUS_29, MIDI_CONTROL_CONTINUOUS_30, MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0,
  MIDI_CONTROL_1, MIDI_CONTROL_2, MIDI_CONTROL_3, MIDI_CONTROL_4,
  MIDI_CONTROL_5, MIDI_CONTROL_6, MIDI_CONTROL_7, MIDI_CONTROL_8,
  MIDI_CONTROL_9, MIDI_CONTROL_10, MIDI_CONTROL_11, MIDI_CONTROL_12,
  MIDI_CONTROL_13, MIDI_CONTROL_14, MIDI_CONTROL_15, MIDI_CONTROL_16,
  MIDI_CONTROL_17, MIDI_CONTROL_18, MIDI_CONTROL_19, MIDI_CONTROL_20,
  MIDI_CONTROL_21, MIDI_CONTROL_22, MIDI_CONTROL_23, MIDI_CONTROL_24,
  MIDI_CONTROL_25, MIDI_CONTROL_26, MIDI_CONTROL_27, MIDI_CONTROL_28,
  MIDI_CONTROL_29, MIDI_CONTROL_30, MIDI_CONTROL_31, MIDI_CONTROL_32,
  MIDI_CONTROL_33, MIDI_CONTROL_34, MIDI_CONTROL_35, MIDI_CONTROL_36,
  MIDI_CONTROL_37, MIDI_CONTROL_38, MIDI_CONTROL_39, MIDI_CONTROL_40,
  MIDI_CONTROL_41, MIDI_CONTROL_42, MIDI_CONTROL_43, MIDI_CONTROL_44,
  MIDI_CONTROL_45, MIDI_CONTROL_46, MIDI_CONTROL_47, MIDI_CONTROL_48,
  MIDI_CONTROL_49, MIDI_CONTROL_50, MIDI_CONTROL_51, MIDI_CONTROL_52,
  MIDI_CONTROL_53, MIDI_CONTROL_54, MIDI_CONTROL_55, MIDI_CONTROL_56,
  MIDI_CONTROL_57, MIDI_CONTROL_58, MIDI_CONTROL_59, MIDI_CONTROL_60,
  MIDI_CONTROL_61, MIDI_CONTROL_62, MIDI_CONTROL_63, MIDI_CONTROL_64,
  MIDI_CONTROL_65, MIDI_CONTROL_66, MIDI_CONTROL_67, MIDI_CONTROL_68,
  MIDI_CONTROL_69, MIDI_CONTROL_70, MIDI_CONTROL_71, MIDI_CONTROL_72,
  MIDI_CONTROL_73, MIDI_CONTROL_74, MIDI_CONTROL_75, MIDI_CONTROL_76,
  MIDI_CONTROL_77, MIDI_CONTROL_78, MIDI_CONTROL_79, MIDI_CONTROL_80,
  MIDI_CONTROL_81, MIDI_CONTROL_82, MIDI_CONTROL_83, MIDI_CONTROL_84,
  MIDI_CONTROL_85, MIDI_CONTROL_86, MIDI_CONTROL_87, MIDI_CONTROL_88,
  MIDI_CONTROL_89, MIDI_CONTROL_90, MIDI_CONTROL_91, MIDI_CONTROL_92,
  MIDI_CONTROL_93, MIDI_CONTROL_94, MIDI_CONTROL_95, MIDI_CONTROL_96,
  MIDI_CONTROL_97, MIDI_CONTROL_98, MIDI_CONTROL_99, MIDI_CONTROL_100,
  MIDI_CONTROL_101, MIDI_CONTROL_102, MIDI_CONTROL_103, MIDI_CONTROL_104,
  MIDI_CONTROL_105, MIDI_CONTROL_106, MIDI_CONTROL_107, MIDI_CONTROL_108,
  MIDI_CONTROL_109, MIDI_CONTROL_110, MIDI_CONTROL_111, MIDI_CONTROL_112,
  MIDI_CONTROL_113, MIDI_CONTROL_114, MIDI_CONTROL_115, MIDI_CONTROL_116,
  MIDI_CONTROL_117, MIDI_CONTROL_118, MIDI_CONTROL_119, MIDI_CONTROL_120,
  MIDI_CONTROL_121, MIDI_CONTROL_122, MIDI_CONTROL_123, MIDI_CONTROL_124,
  MIDI_CONTROL_125, MIDI_CONTROL_126, MIDI_CONTROL_127
}
enum  MidiChannelEventType {
  MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF, MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE,
  MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE, MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND,
  MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER, MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE,
  MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START, MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP,
  MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET, MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF,
  MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE, MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE,
  MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND, MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER,
  MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE, MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START,
  MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP, MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET,
  MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF, MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE,
  MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE, MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND,
  MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER, MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE,
  MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START, MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP,
  MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET
}
enum  MusicalTuningType {
  MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET, MUSICAL_TUNING_5_TET, MUSICAL_TUNING_DIATONIC_SCALE,
  MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING, MUSICAL_TUNING_PENTATONIC_5_LIMIT, MUSICAL_TUNING_PENTATONIC_BLUES,
  MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, MUSICAL_TUNING_SILBERMANN_SORGE, MUSICAL_TUNING_WERCKMEISTER_3,
  MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5, MUSICAL_TUNING_WERCKMEISTER_6, MUSICAL_TUNING_KIRNBERGER_3,
  MUSICAL_TUNING_YOUNG, MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET, MUSICAL_TUNING_5_TET,
  MUSICAL_TUNING_DIATONIC_SCALE, MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING, MUSICAL_TUNING_PENTATONIC_5_LIMIT,
  MUSICAL_TUNING_PENTATONIC_BLUES, MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, MUSICAL_TUNING_SILBERMANN_SORGE,
  MUSICAL_TUNING_WERCKMEISTER_3, MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5, MUSICAL_TUNING_WERCKMEISTER_6,
  MUSICAL_TUNING_KIRNBERGER_3, MUSICAL_TUNING_YOUNG, MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET,
  MUSICAL_TUNING_5_TET, MUSICAL_TUNING_DIATONIC_SCALE, MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING,
  MUSICAL_TUNING_PENTATONIC_5_LIMIT, MUSICAL_TUNING_PENTATONIC_BLUES, MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE,
  MUSICAL_TUNING_SILBERMANN_SORGE, MUSICAL_TUNING_WERCKMEISTER_3, MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5,
  MUSICAL_TUNING_WERCKMEISTER_6, MUSICAL_TUNING_KIRNBERGER_3, MUSICAL_TUNING_YOUNG
}
enum  MidiSignalType {
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127,
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127,
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127
}
enum  MidiControlType {
  MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0, MIDI_CONTROL_CONTINUOUS_1, MIDI_CONTROL_CONTINUOUS_2,
  MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4, MIDI_CONTROL_CONTINUOUS_5, MIDI_CONTROL_CONTINUOUS_6,
  MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8, MIDI_CONTROL_CONTINUOUS_9, MIDI_CONTROL_CONTINUOUS_10,
  MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12, MIDI_CONTROL_CONTINUOUS_13, MIDI_CONTROL_CONTINUOUS_14,
  MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16, MIDI_CONTROL_CONTINUOUS_17, MIDI_CONTROL_CONTINUOUS_18,
  MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20, MIDI_CONTROL_CONTINUOUS_21, MIDI_CONTROL_CONTINUOUS_22,
  MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24, MIDI_CONTROL_CONTINUOUS_25, MIDI_CONTROL_CONTINUOUS_26,
  MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28, MIDI_CONTROL_CONTINUOUS_29, MIDI_CONTROL_CONTINUOUS_30,
  MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0, MIDI_CONTROL_1, MIDI_CONTROL_2,
  MIDI_CONTROL_3, MIDI_CONTROL_4, MIDI_CONTROL_5, MIDI_CONTROL_6,
  MIDI_CONTROL_7, MIDI_CONTROL_8, MIDI_CONTROL_9, MIDI_CONTROL_10,
  MIDI_CONTROL_11, MIDI_CONTROL_12, MIDI_CONTROL_13, MIDI_CONTROL_14,
  MIDI_CONTROL_15, MIDI_CONTROL_16, MIDI_CONTROL_17, MIDI_CONTROL_18,
  MIDI_CONTROL_19, MIDI_CONTROL_20, MIDI_CONTROL_21, MIDI_CONTROL_22,
  MIDI_CONTROL_23, MIDI_CONTROL_24, MIDI_CONTROL_25, MIDI_CONTROL_26,
  MIDI_CONTROL_27, MIDI_CONTROL_28, MIDI_CONTROL_29, MIDI_CONTROL_30,
  MIDI_CONTROL_31, MIDI_CONTROL_32, MIDI_CONTROL_33, MIDI_CONTROL_34,
  MIDI_CONTROL_35, MIDI_CONTROL_36, MIDI_CONTROL_37, MIDI_CONTROL_38,
  MIDI_CONTROL_39, MIDI_CONTROL_40, MIDI_CONTROL_41, MIDI_CONTROL_42,
  MIDI_CONTROL_43, MIDI_CONTROL_44, MIDI_CONTROL_45, MIDI_CONTROL_46,
  MIDI_CONTROL_47, MIDI_CONTROL_48, MIDI_CONTROL_49, MIDI_CONTROL_50,
  MIDI_CONTROL_51, MIDI_CONTROL_52, MIDI_CONTROL_53, MIDI_CONTROL_54,
  MIDI_CONTROL_55, MIDI_CONTROL_56, MIDI_CONTROL_57, MIDI_CONTROL_58,
  MIDI_CONTROL_59, MIDI_CONTROL_60, MIDI_CONTROL_61, MIDI_CONTROL_62,
  MIDI_CONTROL_63, MIDI_CONTROL_64, MIDI_CONTROL_65, MIDI_CONTROL_66,
  MIDI_CONTROL_67, MIDI_CONTROL_68, MIDI_CONTROL_69, MIDI_CONTROL_70,
  MIDI_CONTROL_71, MIDI_CONTROL_72, MIDI_CONTROL_73, MIDI_CONTROL_74,
  MIDI_CONTROL_75, MIDI_CONTROL_76, MIDI_CONTROL_77, MIDI_CONTROL_78,
  MIDI_CONTROL_79, MIDI_CONTROL_80, MIDI_CONTROL_81, MIDI_CONTROL_82,
  MIDI_CONTROL_83, MIDI_CONTROL_84, MIDI_CONTROL_85, MIDI_CONTROL_86,
  MIDI_CONTROL_87, MIDI_CONTROL_88, MIDI_CONTROL_89, MIDI_CONTROL_90,
  MIDI_CONTROL_91, MIDI_CONTROL_92, MIDI_CONTROL_93, MIDI_CONTROL_94,
  MIDI_CONTROL_95, MIDI_CONTROL_96, MIDI_CONTROL_97, MIDI_CONTROL_98,
  MIDI_CONTROL_99, MIDI_CONTROL_100, MIDI_CONTROL_101, MIDI_CONTROL_102,
  MIDI_CONTROL_103, MIDI_CONTROL_104, MIDI_CONTROL_105, MIDI_CONTROL_106,
  MIDI_CONTROL_107, MIDI_CONTROL_108, MIDI_CONTROL_109, MIDI_CONTROL_110,
  MIDI_CONTROL_111, MIDI_CONTROL_112, MIDI_CONTROL_113, MIDI_CONTROL_114,
  MIDI_CONTROL_115, MIDI_CONTROL_116, MIDI_CONTROL_117, MIDI_CONTROL_118,
  MIDI_CONTROL_119, MIDI_CONTROL_120, MIDI_CONTROL_121, MIDI_CONTROL_122,
  MIDI_CONTROL_123, MIDI_CONTROL_124, MIDI_CONTROL_125, MIDI_CONTROL_126,
  MIDI_CONTROL_127, MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0, MIDI_CONTROL_CONTINUOUS_1,
  MIDI_CONTROL_CONTINUOUS_2, MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4, MIDI_CONTROL_CONTINUOUS_5,
  MIDI_CONTROL_CONTINUOUS_6, MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8, MIDI_CONTROL_CONTINUOUS_9,
  MIDI_CONTROL_CONTINUOUS_10, MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12, MIDI_CONTROL_CONTINUOUS_13,
  MIDI_CONTROL_CONTINUOUS_14, MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16, MIDI_CONTROL_CONTINUOUS_17,
  MIDI_CONTROL_CONTINUOUS_18, MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20, MIDI_CONTROL_CONTINUOUS_21,
  MIDI_CONTROL_CONTINUOUS_22, MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24, MIDI_CONTROL_CONTINUOUS_25,
  MIDI_CONTROL_CONTINUOUS_26, MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28, MIDI_CONTROL_CONTINUOUS_29,
  MIDI_CONTROL_CONTINUOUS_30, MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0, MIDI_CONTROL_1,
  MIDI_CONTROL_2, MIDI_CONTROL_3, MIDI_CONTROL_4, MIDI_CONTROL_5,
  MIDI_CONTROL_6, MIDI_CONTROL_7, MIDI_CONTROL_8, MIDI_CONTROL_9,
  MIDI_CONTROL_10, MIDI_CONTROL_11, MIDI_CONTROL_12, MIDI_CONTROL_13,
  MIDI_CONTROL_14, MIDI_CONTROL_15, MIDI_CONTROL_16, MIDI_CONTROL_17,
  MIDI_CONTROL_18, MIDI_CONTROL_19, MIDI_CONTROL_20, MIDI_CONTROL_21,
  MIDI_CONTROL_22, MIDI_CONTROL_23, MIDI_CONTROL_24, MIDI_CONTROL_25,
  MIDI_CONTROL_26, MIDI_CONTROL_27, MIDI_CONTROL_28, MIDI_CONTROL_29,
  MIDI_CONTROL_30, MIDI_CONTROL_31, MIDI_CONTROL_32, MIDI_CONTROL_33,
  MIDI_CONTROL_34, MIDI_CONTROL_35, MIDI_CONTROL_36, MIDI_CONTROL_37,
  MIDI_CONTROL_38, MIDI_CONTROL_39, MIDI_CONTROL_40, MIDI_CONTROL_41,
  MIDI_CONTROL_42, MIDI_CONTROL_43, MIDI_CONTROL_44, MIDI_CONTROL_45,
  MIDI_CONTROL_46, MIDI_CONTROL_47, MIDI_CONTROL_48, MIDI_CONTROL_49,
  MIDI_CONTROL_50, MIDI_CONTROL_51, MIDI_CONTROL_52, MIDI_CONTROL_53,
  MIDI_CONTROL_54, MIDI_CONTROL_55, MIDI_CONTROL_56, MIDI_CONTROL_57,
  MIDI_CONTROL_58, MIDI_CONTROL_59, MIDI_CONTROL_60, MIDI_CONTROL_61,
  MIDI_CONTROL_62, MIDI_CONTROL_63, MIDI_CONTROL_64, MIDI_CONTROL_65,
  MIDI_CONTROL_66, MIDI_CONTROL_67, MIDI_CONTROL_68, MIDI_CONTROL_69,
  MIDI_CONTROL_70, MIDI_CONTROL_71, MIDI_CONTROL_72, MIDI_CONTROL_73,
  MIDI_CONTROL_74, MIDI_CONTROL_75, MIDI_CONTROL_76, MIDI_CONTROL_77,
  MIDI_CONTROL_78, MIDI_CONTROL_79, MIDI_CONTROL_80, MIDI_CONTROL_81,
  MIDI_CONTROL_82, MIDI_CONTROL_83, MIDI_CONTROL_84, MIDI_CONTROL_85,
  MIDI_CONTROL_86, MIDI_CONTROL_87, MIDI_CONTROL_88, MIDI_CONTROL_89,
  MIDI_CONTROL_90, MIDI_CONTROL_91, MIDI_CONTROL_92, MIDI_CONTROL_93,
  MIDI_CONTROL_94, MIDI_CONTROL_95, MIDI_CONTROL_96, MIDI_CONTROL_97,
  MIDI_CONTROL_98, MIDI_CONTROL_99, MIDI_CONTROL_100, MIDI_CONTROL_101,
  MIDI_CONTROL_102, MIDI_CONTROL_103, MIDI_CONTROL_104, MIDI_CONTROL_105,
  MIDI_CONTROL_106, MIDI_CONTROL_107, MIDI_CONTROL_108, MIDI_CONTROL_109,
  MIDI_CONTROL_110, MIDI_CONTROL_111, MIDI_CONTROL_112, MIDI_CONTROL_113,
  MIDI_CONTROL_114, MIDI_CONTROL_115, MIDI_CONTROL_116, MIDI_CONTROL_117,
  MIDI_CONTROL_118, MIDI_CONTROL_119, MIDI_CONTROL_120, MIDI_CONTROL_121,
  MIDI_CONTROL_122, MIDI_CONTROL_123, MIDI_CONTROL_124, MIDI_CONTROL_125,
  MIDI_CONTROL_126, MIDI_CONTROL_127, MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0,
  MIDI_CONTROL_CONTINUOUS_1, MIDI_CONTROL_CONTINUOUS_2, MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4,
  MIDI_CONTROL_CONTINUOUS_5, MIDI_CONTROL_CONTINUOUS_6, MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8,
  MIDI_CONTROL_CONTINUOUS_9, MIDI_CONTROL_CONTINUOUS_10, MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12,
  MIDI_CONTROL_CONTINUOUS_13, MIDI_CONTROL_CONTINUOUS_14, MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16,
  MIDI_CONTROL_CONTINUOUS_17, MIDI_CONTROL_CONTINUOUS_18, MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20,
  MIDI_CONTROL_CONTINUOUS_21, MIDI_CONTROL_CONTINUOUS_22, MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24,
  MIDI_CONTROL_CONTINUOUS_25, MIDI_CONTROL_CONTINUOUS_26, MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28,
  MIDI_CONTROL_CONTINUOUS_29, MIDI_CONTROL_CONTINUOUS_30, MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0,
  MIDI_CONTROL_1, MIDI_CONTROL_2, MIDI_CONTROL_3, MIDI_CONTROL_4,
  MIDI_CONTROL_5, MIDI_CONTROL_6, MIDI_CONTROL_7, MIDI_CONTROL_8,
  MIDI_CONTROL_9, MIDI_CONTROL_10, MIDI_CONTROL_11, MIDI_CONTROL_12,
  MIDI_CONTROL_13, MIDI_CONTROL_14, MIDI_CONTROL_15, MIDI_CONTROL_16,
  MIDI_CONTROL_17, MIDI_CONTROL_18, MIDI_CONTROL_19, MIDI_CONTROL_20,
  MIDI_CONTROL_21, MIDI_CONTROL_22, MIDI_CONTROL_23, MIDI_CONTROL_24,
  MIDI_CONTROL_25, MIDI_CONTROL_26, MIDI_CONTROL_27, MIDI_CONTROL_28,
  MIDI_CONTROL_29, MIDI_CONTROL_30, MIDI_CONTROL_31, MIDI_CONTROL_32,
  MIDI_CONTROL_33, MIDI_CONTROL_34, MIDI_CONTROL_35, MIDI_CONTROL_36,
  MIDI_CONTROL_37, MIDI_CONTROL_38, MIDI_CONTROL_39, MIDI_CONTROL_40,
  MIDI_CONTROL_41, MIDI_CONTROL_42, MIDI_CONTROL_43, MIDI_CONTROL_44,
  MIDI_CONTROL_45, MIDI_CONTROL_46, MIDI_CONTROL_47, MIDI_CONTROL_48,
  MIDI_CONTROL_49, MIDI_CONTROL_50, MIDI_CONTROL_51, MIDI_CONTROL_52,
  MIDI_CONTROL_53, MIDI_CONTROL_54, MIDI_CONTROL_55, MIDI_CONTROL_56,
  MIDI_CONTROL_57, MIDI_CONTROL_58, MIDI_CONTROL_59, MIDI_CONTROL_60,
  MIDI_CONTROL_61, MIDI_CONTROL_62, MIDI_CONTROL_63, MIDI_CONTROL_64,
  MIDI_CONTROL_65, MIDI_CONTROL_66, MIDI_CONTROL_67, MIDI_CONTROL_68,
  MIDI_CONTROL_69, MIDI_CONTROL_70, MIDI_CONTROL_71, MIDI_CONTROL_72,
  MIDI_CONTROL_73, MIDI_CONTROL_74, MIDI_CONTROL_75, MIDI_CONTROL_76,
  MIDI_CONTROL_77, MIDI_CONTROL_78, MIDI_CONTROL_79, MIDI_CONTROL_80,
  MIDI_CONTROL_81, MIDI_CONTROL_82, MIDI_CONTROL_83, MIDI_CONTROL_84,
  MIDI_CONTROL_85, MIDI_CONTROL_86, MIDI_CONTROL_87, MIDI_CONTROL_88,
  MIDI_CONTROL_89, MIDI_CONTROL_90, MIDI_CONTROL_91, MIDI_CONTROL_92,
  MIDI_CONTROL_93, MIDI_CONTROL_94, MIDI_CONTROL_95, MIDI_CONTROL_96,
  MIDI_CONTROL_97, MIDI_CONTROL_98, MIDI_CONTROL_99, MIDI_CONTROL_100,
  MIDI_CONTROL_101, MIDI_CONTROL_102, MIDI_CONTROL_103, MIDI_CONTROL_104,
  MIDI_CONTROL_105, MIDI_CONTROL_106, MIDI_CONTROL_107, MIDI_CONTROL_108,
  MIDI_CONTROL_109, MIDI_CONTROL_110, MIDI_CONTROL_111, MIDI_CONTROL_112,
  MIDI_CONTROL_113, MIDI_CONTROL_114, MIDI_CONTROL_115, MIDI_CONTROL_116,
  MIDI_CONTROL_117, MIDI_CONTROL_118, MIDI_CONTROL_119, MIDI_CONTROL_120,
  MIDI_CONTROL_121, MIDI_CONTROL_122, MIDI_CONTROL_123, MIDI_CONTROL_124,
  MIDI_CONTROL_125, MIDI_CONTROL_126, MIDI_CONTROL_127
}
enum  MidiChannelEventType {
  MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF, MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE,
  MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE, MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND,
  MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER, MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE,
  MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START, MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP,
  MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET, MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF,
  MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE, MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE,
  MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND, MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER,
  MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE, MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START,
  MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP, MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET,
  MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF, MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE,
  MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE, MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND,
  MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER, MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE,
  MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START, MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP,
  MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET
}
enum  MusicalTuningType {
  MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET, MUSICAL_TUNING_5_TET, MUSICAL_TUNING_DIATONIC_SCALE,
  MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING, MUSICAL_TUNING_PENTATONIC_5_LIMIT, MUSICAL_TUNING_PENTATONIC_BLUES,
  MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, MUSICAL_TUNING_SILBERMANN_SORGE, MUSICAL_TUNING_WERCKMEISTER_3,
  MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5, MUSICAL_TUNING_WERCKMEISTER_6, MUSICAL_TUNING_KIRNBERGER_3,
  MUSICAL_TUNING_YOUNG, MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET, MUSICAL_TUNING_5_TET,
  MUSICAL_TUNING_DIATONIC_SCALE, MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING, MUSICAL_TUNING_PENTATONIC_5_LIMIT,
  MUSICAL_TUNING_PENTATONIC_BLUES, MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE, MUSICAL_TUNING_SILBERMANN_SORGE,
  MUSICAL_TUNING_WERCKMEISTER_3, MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5, MUSICAL_TUNING_WERCKMEISTER_6,
  MUSICAL_TUNING_KIRNBERGER_3, MUSICAL_TUNING_YOUNG, MUSICAL_TUNING_12_TET, MUSICAL_TUNING_7_TET,
  MUSICAL_TUNING_5_TET, MUSICAL_TUNING_DIATONIC_SCALE, MUSICAL_TUNING_INDIAN_SCALE, MUSICAL_TUNING_PYTHAGOREAN_TUNING,
  MUSICAL_TUNING_PENTATONIC_5_LIMIT, MUSICAL_TUNING_PENTATONIC_BLUES, MUSICAL_TUNING_PENTATONIC_GOGO, MUSICAL_TUNING_QUARTER_COMMA_MEANTONE,
  MUSICAL_TUNING_SILBERMANN_SORGE, MUSICAL_TUNING_WERCKMEISTER_3, MUSICAL_TUNING_WERCKMEISTER_4, MUSICAL_TUNING_WERCKMEISTER_5,
  MUSICAL_TUNING_WERCKMEISTER_6, MUSICAL_TUNING_KIRNBERGER_3, MUSICAL_TUNING_YOUNG
}
enum  MidiSignalType {
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127,
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127,
  MIDI_SIGNAL_PROGRAM, MIDI_SIGNAL_PRESSURE, MIDI_SIGNAL_PITCH_BEND, MIDI_SIGNAL_VELOCITY,
  MIDI_SIGNAL_FINE_TUNE, MIDI_SIGNAL_CONTINUOUS_0, MIDI_SIGNAL_CONTINUOUS_1, MIDI_SIGNAL_CONTINUOUS_2,
  MIDI_SIGNAL_CONTINUOUS_3, MIDI_SIGNAL_CONTINUOUS_4, MIDI_SIGNAL_CONTINUOUS_5, MIDI_SIGNAL_CONTINUOUS_6,
  MIDI_SIGNAL_CONTINUOUS_7, MIDI_SIGNAL_CONTINUOUS_8, MIDI_SIGNAL_CONTINUOUS_9, MIDI_SIGNAL_CONTINUOUS_10,
  MIDI_SIGNAL_CONTINUOUS_11, MIDI_SIGNAL_CONTINUOUS_12, MIDI_SIGNAL_CONTINUOUS_13, MIDI_SIGNAL_CONTINUOUS_14,
  MIDI_SIGNAL_CONTINUOUS_15, MIDI_SIGNAL_CONTINUOUS_16, MIDI_SIGNAL_CONTINUOUS_17, MIDI_SIGNAL_CONTINUOUS_18,
  MIDI_SIGNAL_CONTINUOUS_19, MIDI_SIGNAL_CONTINUOUS_20, MIDI_SIGNAL_CONTINUOUS_21, MIDI_SIGNAL_CONTINUOUS_22,
  MIDI_SIGNAL_CONTINUOUS_23, MIDI_SIGNAL_CONTINUOUS_24, MIDI_SIGNAL_CONTINUOUS_25, MIDI_SIGNAL_CONTINUOUS_26,
  MIDI_SIGNAL_CONTINUOUS_27, MIDI_SIGNAL_CONTINUOUS_28, MIDI_SIGNAL_CONTINUOUS_29, MIDI_SIGNAL_CONTINUOUS_30,
  MIDI_SIGNAL_CONTINUOUS_31, MIDI_SIGNAL_CONSTANT_HIGH, MIDI_SIGNAL_CONSTANT_CENTER, MIDI_SIGNAL_CONSTANT_LOW,
  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER, MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH, MIDI_SIGNAL_PARAMETER, MIDI_SIGNAL_NON_PARAMETER,
  MIDI_SIGNAL_CONTROL_0, MIDI_SIGNAL_CONTROL_1, MIDI_SIGNAL_CONTROL_2, MIDI_SIGNAL_CONTROL_3,
  MIDI_SIGNAL_CONTROL_4, MIDI_SIGNAL_CONTROL_5, MIDI_SIGNAL_CONTROL_6, MIDI_SIGNAL_CONTROL_7,
  MIDI_SIGNAL_CONTROL_8, MIDI_SIGNAL_CONTROL_9, MIDI_SIGNAL_CONTROL_10, MIDI_SIGNAL_CONTROL_11,
  MIDI_SIGNAL_CONTROL_12, MIDI_SIGNAL_CONTROL_13, MIDI_SIGNAL_CONTROL_14, MIDI_SIGNAL_CONTROL_15,
  MIDI_SIGNAL_CONTROL_16, MIDI_SIGNAL_CONTROL_17, MIDI_SIGNAL_CONTROL_18, MIDI_SIGNAL_CONTROL_19,
  MIDI_SIGNAL_CONTROL_20, MIDI_SIGNAL_CONTROL_21, MIDI_SIGNAL_CONTROL_22, MIDI_SIGNAL_CONTROL_23,
  MIDI_SIGNAL_CONTROL_24, MIDI_SIGNAL_CONTROL_25, MIDI_SIGNAL_CONTROL_26, MIDI_SIGNAL_CONTROL_27,
  MIDI_SIGNAL_CONTROL_28, MIDI_SIGNAL_CONTROL_29, MIDI_SIGNAL_CONTROL_30, MIDI_SIGNAL_CONTROL_31,
  MIDI_SIGNAL_CONTROL_32, MIDI_SIGNAL_CONTROL_33, MIDI_SIGNAL_CONTROL_34, MIDI_SIGNAL_CONTROL_35,
  MIDI_SIGNAL_CONTROL_36, MIDI_SIGNAL_CONTROL_37, MIDI_SIGNAL_CONTROL_38, MIDI_SIGNAL_CONTROL_39,
  MIDI_SIGNAL_CONTROL_40, MIDI_SIGNAL_CONTROL_41, MIDI_SIGNAL_CONTROL_42, MIDI_SIGNAL_CONTROL_43,
  MIDI_SIGNAL_CONTROL_44, MIDI_SIGNAL_CONTROL_45, MIDI_SIGNAL_CONTROL_46, MIDI_SIGNAL_CONTROL_47,
  MIDI_SIGNAL_CONTROL_48, MIDI_SIGNAL_CONTROL_49, MIDI_SIGNAL_CONTROL_50, MIDI_SIGNAL_CONTROL_51,
  MIDI_SIGNAL_CONTROL_52, MIDI_SIGNAL_CONTROL_53, MIDI_SIGNAL_CONTROL_54, MIDI_SIGNAL_CONTROL_55,
  MIDI_SIGNAL_CONTROL_56, MIDI_SIGNAL_CONTROL_57, MIDI_SIGNAL_CONTROL_58, MIDI_SIGNAL_CONTROL_59,
  MIDI_SIGNAL_CONTROL_60, MIDI_SIGNAL_CONTROL_61, MIDI_SIGNAL_CONTROL_62, MIDI_SIGNAL_CONTROL_63,
  MIDI_SIGNAL_CONTROL_64, MIDI_SIGNAL_CONTROL_65, MIDI_SIGNAL_CONTROL_66, MIDI_SIGNAL_CONTROL_67,
  MIDI_SIGNAL_CONTROL_68, MIDI_SIGNAL_CONTROL_69, MIDI_SIGNAL_CONTROL_70, MIDI_SIGNAL_CONTROL_71,
  MIDI_SIGNAL_CONTROL_72, MIDI_SIGNAL_CONTROL_73, MIDI_SIGNAL_CONTROL_74, MIDI_SIGNAL_CONTROL_75,
  MIDI_SIGNAL_CONTROL_76, MIDI_SIGNAL_CONTROL_77, MIDI_SIGNAL_CONTROL_78, MIDI_SIGNAL_CONTROL_79,
  MIDI_SIGNAL_CONTROL_80, MIDI_SIGNAL_CONTROL_81, MIDI_SIGNAL_CONTROL_82, MIDI_SIGNAL_CONTROL_83,
  MIDI_SIGNAL_CONTROL_84, MIDI_SIGNAL_CONTROL_85, MIDI_SIGNAL_CONTROL_86, MIDI_SIGNAL_CONTROL_87,
  MIDI_SIGNAL_CONTROL_88, MIDI_SIGNAL_CONTROL_89, MIDI_SIGNAL_CONTROL_90, MIDI_SIGNAL_CONTROL_91,
  MIDI_SIGNAL_CONTROL_92, MIDI_SIGNAL_CONTROL_93, MIDI_SIGNAL_CONTROL_94, MIDI_SIGNAL_CONTROL_95,
  MIDI_SIGNAL_CONTROL_96, MIDI_SIGNAL_CONTROL_97, MIDI_SIGNAL_CONTROL_98, MIDI_SIGNAL_CONTROL_99,
  MIDI_SIGNAL_CONTROL_100, MIDI_SIGNAL_CONTROL_101, MIDI_SIGNAL_CONTROL_102, MIDI_SIGNAL_CONTROL_103,
  MIDI_SIGNAL_CONTROL_104, MIDI_SIGNAL_CONTROL_105, MIDI_SIGNAL_CONTROL_106, MIDI_SIGNAL_CONTROL_107,
  MIDI_SIGNAL_CONTROL_108, MIDI_SIGNAL_CONTROL_109, MIDI_SIGNAL_CONTROL_110, MIDI_SIGNAL_CONTROL_111,
  MIDI_SIGNAL_CONTROL_112, MIDI_SIGNAL_CONTROL_113, MIDI_SIGNAL_CONTROL_114, MIDI_SIGNAL_CONTROL_115,
  MIDI_SIGNAL_CONTROL_116, MIDI_SIGNAL_CONTROL_117, MIDI_SIGNAL_CONTROL_118, MIDI_SIGNAL_CONTROL_119,
  MIDI_SIGNAL_CONTROL_120, MIDI_SIGNAL_CONTROL_121, MIDI_SIGNAL_CONTROL_122, MIDI_SIGNAL_CONTROL_123,
  MIDI_SIGNAL_CONTROL_124, MIDI_SIGNAL_CONTROL_125, MIDI_SIGNAL_CONTROL_126, MIDI_SIGNAL_CONTROL_127
}
enum  MidiControlType {
  MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0, MIDI_CONTROL_CONTINUOUS_1, MIDI_CONTROL_CONTINUOUS_2,
  MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4, MIDI_CONTROL_CONTINUOUS_5, MIDI_CONTROL_CONTINUOUS_6,
  MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8, MIDI_CONTROL_CONTINUOUS_9, MIDI_CONTROL_CONTINUOUS_10,
  MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12, MIDI_CONTROL_CONTINUOUS_13, MIDI_CONTROL_CONTINUOUS_14,
  MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16, MIDI_CONTROL_CONTINUOUS_17, MIDI_CONTROL_CONTINUOUS_18,
  MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20, MIDI_CONTROL_CONTINUOUS_21, MIDI_CONTROL_CONTINUOUS_22,
  MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24, MIDI_CONTROL_CONTINUOUS_25, MIDI_CONTROL_CONTINUOUS_26,
  MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28, MIDI_CONTROL_CONTINUOUS_29, MIDI_CONTROL_CONTINUOUS_30,
  MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0, MIDI_CONTROL_1, MIDI_CONTROL_2,
  MIDI_CONTROL_3, MIDI_CONTROL_4, MIDI_CONTROL_5, MIDI_CONTROL_6,
  MIDI_CONTROL_7, MIDI_CONTROL_8, MIDI_CONTROL_9, MIDI_CONTROL_10,
  MIDI_CONTROL_11, MIDI_CONTROL_12, MIDI_CONTROL_13, MIDI_CONTROL_14,
  MIDI_CONTROL_15, MIDI_CONTROL_16, MIDI_CONTROL_17, MIDI_CONTROL_18,
  MIDI_CONTROL_19, MIDI_CONTROL_20, MIDI_CONTROL_21, MIDI_CONTROL_22,
  MIDI_CONTROL_23, MIDI_CONTROL_24, MIDI_CONTROL_25, MIDI_CONTROL_26,
  MIDI_CONTROL_27, MIDI_CONTROL_28, MIDI_CONTROL_29, MIDI_CONTROL_30,
  MIDI_CONTROL_31, MIDI_CONTROL_32, MIDI_CONTROL_33, MIDI_CONTROL_34,
  MIDI_CONTROL_35, MIDI_CONTROL_36, MIDI_CONTROL_37, MIDI_CONTROL_38,
  MIDI_CONTROL_39, MIDI_CONTROL_40, MIDI_CONTROL_41, MIDI_CONTROL_42,
  MIDI_CONTROL_43, MIDI_CONTROL_44, MIDI_CONTROL_45, MIDI_CONTROL_46,
  MIDI_CONTROL_47, MIDI_CONTROL_48, MIDI_CONTROL_49, MIDI_CONTROL_50,
  MIDI_CONTROL_51, MIDI_CONTROL_52, MIDI_CONTROL_53, MIDI_CONTROL_54,
  MIDI_CONTROL_55, MIDI_CONTROL_56, MIDI_CONTROL_57, MIDI_CONTROL_58,
  MIDI_CONTROL_59, MIDI_CONTROL_60, MIDI_CONTROL_61, MIDI_CONTROL_62,
  MIDI_CONTROL_63, MIDI_CONTROL_64, MIDI_CONTROL_65, MIDI_CONTROL_66,
  MIDI_CONTROL_67, MIDI_CONTROL_68, MIDI_CONTROL_69, MIDI_CONTROL_70,
  MIDI_CONTROL_71, MIDI_CONTROL_72, MIDI_CONTROL_73, MIDI_CONTROL_74,
  MIDI_CONTROL_75, MIDI_CONTROL_76, MIDI_CONTROL_77, MIDI_CONTROL_78,
  MIDI_CONTROL_79, MIDI_CONTROL_80, MIDI_CONTROL_81, MIDI_CONTROL_82,
  MIDI_CONTROL_83, MIDI_CONTROL_84, MIDI_CONTROL_85, MIDI_CONTROL_86,
  MIDI_CONTROL_87, MIDI_CONTROL_88, MIDI_CONTROL_89, MIDI_CONTROL_90,
  MIDI_CONTROL_91, MIDI_CONTROL_92, MIDI_CONTROL_93, MIDI_CONTROL_94,
  MIDI_CONTROL_95, MIDI_CONTROL_96, MIDI_CONTROL_97, MIDI_CONTROL_98,
  MIDI_CONTROL_99, MIDI_CONTROL_100, MIDI_CONTROL_101, MIDI_CONTROL_102,
  MIDI_CONTROL_103, MIDI_CONTROL_104, MIDI_CONTROL_105, MIDI_CONTROL_106,
  MIDI_CONTROL_107, MIDI_CONTROL_108, MIDI_CONTROL_109, MIDI_CONTROL_110,
  MIDI_CONTROL_111, MIDI_CONTROL_112, MIDI_CONTROL_113, MIDI_CONTROL_114,
  MIDI_CONTROL_115, MIDI_CONTROL_116, MIDI_CONTROL_117, MIDI_CONTROL_118,
  MIDI_CONTROL_119, MIDI_CONTROL_120, MIDI_CONTROL_121, MIDI_CONTROL_122,
  MIDI_CONTROL_123, MIDI_CONTROL_124, MIDI_CONTROL_125, MIDI_CONTROL_126,
  MIDI_CONTROL_127, MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0, MIDI_CONTROL_CONTINUOUS_1,
  MIDI_CONTROL_CONTINUOUS_2, MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4, MIDI_CONTROL_CONTINUOUS_5,
  MIDI_CONTROL_CONTINUOUS_6, MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8, MIDI_CONTROL_CONTINUOUS_9,
  MIDI_CONTROL_CONTINUOUS_10, MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12, MIDI_CONTROL_CONTINUOUS_13,
  MIDI_CONTROL_CONTINUOUS_14, MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16, MIDI_CONTROL_CONTINUOUS_17,
  MIDI_CONTROL_CONTINUOUS_18, MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20, MIDI_CONTROL_CONTINUOUS_21,
  MIDI_CONTROL_CONTINUOUS_22, MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24, MIDI_CONTROL_CONTINUOUS_25,
  MIDI_CONTROL_CONTINUOUS_26, MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28, MIDI_CONTROL_CONTINUOUS_29,
  MIDI_CONTROL_CONTINUOUS_30, MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0, MIDI_CONTROL_1,
  MIDI_CONTROL_2, MIDI_CONTROL_3, MIDI_CONTROL_4, MIDI_CONTROL_5,
  MIDI_CONTROL_6, MIDI_CONTROL_7, MIDI_CONTROL_8, MIDI_CONTROL_9,
  MIDI_CONTROL_10, MIDI_CONTROL_11, MIDI_CONTROL_12, MIDI_CONTROL_13,
  MIDI_CONTROL_14, MIDI_CONTROL_15, MIDI_CONTROL_16, MIDI_CONTROL_17,
  MIDI_CONTROL_18, MIDI_CONTROL_19, MIDI_CONTROL_20, MIDI_CONTROL_21,
  MIDI_CONTROL_22, MIDI_CONTROL_23, MIDI_CONTROL_24, MIDI_CONTROL_25,
  MIDI_CONTROL_26, MIDI_CONTROL_27, MIDI_CONTROL_28, MIDI_CONTROL_29,
  MIDI_CONTROL_30, MIDI_CONTROL_31, MIDI_CONTROL_32, MIDI_CONTROL_33,
  MIDI_CONTROL_34, MIDI_CONTROL_35, MIDI_CONTROL_36, MIDI_CONTROL_37,
  MIDI_CONTROL_38, MIDI_CONTROL_39, MIDI_CONTROL_40, MIDI_CONTROL_41,
  MIDI_CONTROL_42, MIDI_CONTROL_43, MIDI_CONTROL_44, MIDI_CONTROL_45,
  MIDI_CONTROL_46, MIDI_CONTROL_47, MIDI_CONTROL_48, MIDI_CONTROL_49,
  MIDI_CONTROL_50, MIDI_CONTROL_51, MIDI_CONTROL_52, MIDI_CONTROL_53,
  MIDI_CONTROL_54, MIDI_CONTROL_55, MIDI_CONTROL_56, MIDI_CONTROL_57,
  MIDI_CONTROL_58, MIDI_CONTROL_59, MIDI_CONTROL_60, MIDI_CONTROL_61,
  MIDI_CONTROL_62, MIDI_CONTROL_63, MIDI_CONTROL_64, MIDI_CONTROL_65,
  MIDI_CONTROL_66, MIDI_CONTROL_67, MIDI_CONTROL_68, MIDI_CONTROL_69,
  MIDI_CONTROL_70, MIDI_CONTROL_71, MIDI_CONTROL_72, MIDI_CONTROL_73,
  MIDI_CONTROL_74, MIDI_CONTROL_75, MIDI_CONTROL_76, MIDI_CONTROL_77,
  MIDI_CONTROL_78, MIDI_CONTROL_79, MIDI_CONTROL_80, MIDI_CONTROL_81,
  MIDI_CONTROL_82, MIDI_CONTROL_83, MIDI_CONTROL_84, MIDI_CONTROL_85,
  MIDI_CONTROL_86, MIDI_CONTROL_87, MIDI_CONTROL_88, MIDI_CONTROL_89,
  MIDI_CONTROL_90, MIDI_CONTROL_91, MIDI_CONTROL_92, MIDI_CONTROL_93,
  MIDI_CONTROL_94, MIDI_CONTROL_95, MIDI_CONTROL_96, MIDI_CONTROL_97,
  MIDI_CONTROL_98, MIDI_CONTROL_99, MIDI_CONTROL_100, MIDI_CONTROL_101,
  MIDI_CONTROL_102, MIDI_CONTROL_103, MIDI_CONTROL_104, MIDI_CONTROL_105,
  MIDI_CONTROL_106, MIDI_CONTROL_107, MIDI_CONTROL_108, MIDI_CONTROL_109,
  MIDI_CONTROL_110, MIDI_CONTROL_111, MIDI_CONTROL_112, MIDI_CONTROL_113,
  MIDI_CONTROL_114, MIDI_CONTROL_115, MIDI_CONTROL_116, MIDI_CONTROL_117,
  MIDI_CONTROL_118, MIDI_CONTROL_119, MIDI_CONTROL_120, MIDI_CONTROL_121,
  MIDI_CONTROL_122, MIDI_CONTROL_123, MIDI_CONTROL_124, MIDI_CONTROL_125,
  MIDI_CONTROL_126, MIDI_CONTROL_127, MIDI_CONTROL_NONE, MIDI_CONTROL_CONTINUOUS_0,
  MIDI_CONTROL_CONTINUOUS_1, MIDI_CONTROL_CONTINUOUS_2, MIDI_CONTROL_CONTINUOUS_3, MIDI_CONTROL_CONTINUOUS_4,
  MIDI_CONTROL_CONTINUOUS_5, MIDI_CONTROL_CONTINUOUS_6, MIDI_CONTROL_CONTINUOUS_7, MIDI_CONTROL_CONTINUOUS_8,
  MIDI_CONTROL_CONTINUOUS_9, MIDI_CONTROL_CONTINUOUS_10, MIDI_CONTROL_CONTINUOUS_11, MIDI_CONTROL_CONTINUOUS_12,
  MIDI_CONTROL_CONTINUOUS_13, MIDI_CONTROL_CONTINUOUS_14, MIDI_CONTROL_CONTINUOUS_15, MIDI_CONTROL_CONTINUOUS_16,
  MIDI_CONTROL_CONTINUOUS_17, MIDI_CONTROL_CONTINUOUS_18, MIDI_CONTROL_CONTINUOUS_19, MIDI_CONTROL_CONTINUOUS_20,
  MIDI_CONTROL_CONTINUOUS_21, MIDI_CONTROL_CONTINUOUS_22, MIDI_CONTROL_CONTINUOUS_23, MIDI_CONTROL_CONTINUOUS_24,
  MIDI_CONTROL_CONTINUOUS_25, MIDI_CONTROL_CONTINUOUS_26, MIDI_CONTROL_CONTINUOUS_27, MIDI_CONTROL_CONTINUOUS_28,
  MIDI_CONTROL_CONTINUOUS_29, MIDI_CONTROL_CONTINUOUS_30, MIDI_CONTROL_CONTINUOUS_31, MIDI_CONTROL_0,
  MIDI_CONTROL_1, MIDI_CONTROL_2, MIDI_CONTROL_3, MIDI_CONTROL_4,
  MIDI_CONTROL_5, MIDI_CONTROL_6, MIDI_CONTROL_7, MIDI_CONTROL_8,
  MIDI_CONTROL_9, MIDI_CONTROL_10, MIDI_CONTROL_11, MIDI_CONTROL_12,
  MIDI_CONTROL_13, MIDI_CONTROL_14, MIDI_CONTROL_15, MIDI_CONTROL_16,
  MIDI_CONTROL_17, MIDI_CONTROL_18, MIDI_CONTROL_19, MIDI_CONTROL_20,
  MIDI_CONTROL_21, MIDI_CONTROL_22, MIDI_CONTROL_23, MIDI_CONTROL_24,
  MIDI_CONTROL_25, MIDI_CONTROL_26, MIDI_CONTROL_27, MIDI_CONTROL_28,
  MIDI_CONTROL_29, MIDI_CONTROL_30, MIDI_CONTROL_31, MIDI_CONTROL_32,
  MIDI_CONTROL_33, MIDI_CONTROL_34, MIDI_CONTROL_35, MIDI_CONTROL_36,
  MIDI_CONTROL_37, MIDI_CONTROL_38, MIDI_CONTROL_39, MIDI_CONTROL_40,
  MIDI_CONTROL_41, MIDI_CONTROL_42, MIDI_CONTROL_43, MIDI_CONTROL_44,
  MIDI_CONTROL_45, MIDI_CONTROL_46, MIDI_CONTROL_47, MIDI_CONTROL_48,
  MIDI_CONTROL_49, MIDI_CONTROL_50, MIDI_CONTROL_51, MIDI_CONTROL_52,
  MIDI_CONTROL_53, MIDI_CONTROL_54, MIDI_CONTROL_55, MIDI_CONTROL_56,
  MIDI_CONTROL_57, MIDI_CONTROL_58, MIDI_CONTROL_59, MIDI_CONTROL_60,
  MIDI_CONTROL_61, MIDI_CONTROL_62, MIDI_CONTROL_63, MIDI_CONTROL_64,
  MIDI_CONTROL_65, MIDI_CONTROL_66, MIDI_CONTROL_67, MIDI_CONTROL_68,
  MIDI_CONTROL_69, MIDI_CONTROL_70, MIDI_CONTROL_71, MIDI_CONTROL_72,
  MIDI_CONTROL_73, MIDI_CONTROL_74, MIDI_CONTROL_75, MIDI_CONTROL_76,
  MIDI_CONTROL_77, MIDI_CONTROL_78, MIDI_CONTROL_79, MIDI_CONTROL_80,
  MIDI_CONTROL_81, MIDI_CONTROL_82, MIDI_CONTROL_83, MIDI_CONTROL_84,
  MIDI_CONTROL_85, MIDI_CONTROL_86, MIDI_CONTROL_87, MIDI_CONTROL_88,
  MIDI_CONTROL_89, MIDI_CONTROL_90, MIDI_CONTROL_91, MIDI_CONTROL_92,
  MIDI_CONTROL_93, MIDI_CONTROL_94, MIDI_CONTROL_95, MIDI_CONTROL_96,
  MIDI_CONTROL_97, MIDI_CONTROL_98, MIDI_CONTROL_99, MIDI_CONTROL_100,
  MIDI_CONTROL_101, MIDI_CONTROL_102, MIDI_CONTROL_103, MIDI_CONTROL_104,
  MIDI_CONTROL_105, MIDI_CONTROL_106, MIDI_CONTROL_107, MIDI_CONTROL_108,
  MIDI_CONTROL_109, MIDI_CONTROL_110, MIDI_CONTROL_111, MIDI_CONTROL_112,
  MIDI_CONTROL_113, MIDI_CONTROL_114, MIDI_CONTROL_115, MIDI_CONTROL_116,
  MIDI_CONTROL_117, MIDI_CONTROL_118, MIDI_CONTROL_119, MIDI_CONTROL_120,
  MIDI_CONTROL_121, MIDI_CONTROL_122, MIDI_CONTROL_123, MIDI_CONTROL_124,
  MIDI_CONTROL_125, MIDI_CONTROL_126, MIDI_CONTROL_127
}
enum  MidiChannelEventType {
  MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF, MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE,
  MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE, MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND,
  MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER, MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE,
  MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START, MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP,
  MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET, MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF,
  MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE, MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE,
  MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND, MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER,
  MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE, MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START,
  MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP, MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET,
  MIDI_EVENT_NONE, MIDI_EVENT_NOTE_OFF, MIDI_EVENT_NOTE_ON, MIDI_EVENT_KEY_PRESSURE,
  MIDI_EVENT_CONTROL_CHANGE, MIDI_EVENT_PROGRAM_CHANGE, MIDI_EVENT_CHANNEL_PRESSURE, MIDI_EVENT_PITCH_BEND,
  MIDI_EVENT_SYS_EX, MIDI_EVENT_SONG_POINTER, MIDI_EVENT_SONG_SELECT, MIDI_EVENT_TUNE,
  MIDI_EVENT_TIMING_CLOCK, MIDI_EVENT_SONG_START, MIDI_EVENT_SONG_CONTINUE, MIDI_EVENT_SONG_STOP,
  MIDI_EVENT_ACTIVE_SENSING, MIDI_EVENT_SYSTEM_RESET
}
enum  MsgType {
  MSG_NONE, MSG_ALWAYS, MSG_ERROR, MSG_WARNING,
  MSG_SCRIPT, MSG_INFO, MSG_DIAG, MSG_DEBUG
}
enum  ThreadState {
  THREAD_STATE_UNKNOWN, THREAD_STATE_RUNNING, THREAD_STATE_SLEEPING, THREAD_STATE_DISKWAIT,
  THREAD_STATE_TRACED, THREAD_STATE_PAGING, THREAD_STATE_ZOMBIE, THREAD_STATE_DEAD
}
enum  ProcessCost { NORMAL, CHEAP, EXPENSIVE }
enum  FlacZOffset { NO_ZOFFSET, ADD_ZOFFSET }
enum  BiquadFilterType { BIQUAD_FILTER_RESONANT_LOWPASS, BIQUAD_FILTER_RESONANT_HIGHPASS }
enum  RegistrationType { REGISTER_PLUGIN, REGISTER_SCRIPT, REGISTER_DONE }
enum  ErrorType {
  ERROR_NONE, ERROR_INTERNAL, ERROR_UNKNOWN, ERROR_IO,
  ERROR_PERMS, ERROR_FILE_BUSY, ERROR_FILE_EXISTS, ERROR_FILE_EOF,
  ERROR_FILE_EMPTY, ERROR_FILE_NOT_FOUND, ERROR_FILE_IS_DIR, ERROR_FILE_OPEN_FAILED,
  ERROR_FILE_SEEK_FAILED, ERROR_FILE_READ_FAILED, ERROR_FILE_WRITE_FAILED, ERROR_MANY_FILES,
  ERROR_NO_FILES, ERROR_NO_SPACE, ERROR_NO_MEMORY, ERROR_NO_HEADER,
  ERROR_NO_SEEK_INFO, ERROR_NO_DATA, ERROR_DATA_CORRUPT, ERROR_WRONG_N_CHANNELS,
  ERROR_FORMAT_INVALID, ERROR_FORMAT_UNKNOWN, ERROR_DATA_UNMATCHED, ERROR_TEMP,
  ERROR_WAVE_NOT_FOUND, ERROR_CODEC_FAILURE, ERROR_UNIMPLEMENTED, ERROR_INVALID_PROPERTY,
  ERROR_INVALID_MIDI_CONTROL, ERROR_PARSE_ERROR, ERROR_SPAWN, ERROR_DEVICE_NOT_AVAILABLE,
  ERROR_DEVICE_ASYNC, ERROR_DEVICE_BUSY, ERROR_DEVICE_FORMAT, ERROR_DEVICE_BUFFER,
  ERROR_DEVICE_LATENCY, ERROR_DEVICE_CHANNELS, ERROR_DEVICE_FREQUENCY, ERROR_DEVICES_MISMATCH,
  ERROR_SOURCE_NO_SUCH_MODULE, ERROR_SOURCE_NO_SUCH_ICHANNEL, ERROR_SOURCE_NO_SUCH_OCHANNEL, ERROR_SOURCE_NO_SUCH_CONNECTION,
  ERROR_SOURCE_PRIVATE_ICHANNEL, ERROR_SOURCE_ICHANNEL_IN_USE, ERROR_SOURCE_CHANNELS_CONNECTED, ERROR_SOURCE_CONNECTION_INVALID,
  ERROR_SOURCE_PARENT_MISMATCH, ERROR_SOURCE_BAD_LOOPBACK, ERROR_SOURCE_BUSY, ERROR_SOURCE_TYPE_INVALID,
  ERROR_PROC_NOT_FOUND, ERROR_PROC_BUSY, ERROR_PROC_PARAM_INVAL, ERROR_PROC_EXECUTION,
  ERROR_PROC_ABORT, ERROR_NO_ENTRY, ERROR_NO_EVENT, ERROR_NO_TARGET,
  ERROR_NOT_OWNER, ERROR_INVALID_OFFSET, ERROR_INVALID_DURATION, ERROR_INVALID_OVERLAP
}
enum  ProjectState { PROJECT_INACTIVE, PROJECT_ACTIVE, PROJECT_PLAYING }
enum  StandardOscWaveType {
  STANDARD_OSC_SINE, STANDARD_OSC_TRIANGLE, STANDARD_OSC_SAW_RISE, STANDARD_OSC_SAW_FALL,
  STANDARD_OSC_PEAK_RISE, STANDARD_OSC_PEAK_FALL, STANDARD_OSC_MOOG_SAW, STANDARD_OSC_SQUARE,
  STANDARD_OSC_PULSE
}

Functions

 BSE_CXX_REGISTER_ALL_TYPES_FROM_BSEBASICS_IDL ()
void operator<<= (Rapicorn::Aida::FieldBuffer &fb, const TestObjectHandle &handle)
void operator>>= (Rapicorn::Aida::FieldReader &fbr, TestObjectHandle &handle)
void operator<<= (Rapicorn::Aida::Any &any, const UserMessage &rec)
void operator<<= (Rapicorn::Aida::FieldBuffer &, const UserMessage &)
void operator>>= (Rapicorn::Aida::FieldReader &, UserMessage &)
void operator<<= (Rapicorn::Aida::FieldBuffer &, const ServerHandle &)
void operator>>= (Rapicorn::Aida::FieldReader &, ServerHandle &)
SfiGlueContext * init_glue_context (const gchar *client, const std::function< void()> &caller_wakeup)
 Create SFI glue layer context.
void init_async (int *argc, char **argv, const char *app_name, const StringVector &args)
 Initialize and start BSE.
template<class T >
CxxBasecast (T *t)
const GEnumValue EnumValue (int int_value, const char *value_name, const char *value_nick)
void bse_cxx_init (void)
template<class Derived , class Base >
void assert_derived_from (void)
template<class C >
const GType bse_type_id_wrapper (const char *type_name)
Category category_from_id (Int category_id)
CategorySeq categories_match (String pattern)
CategorySeq categories_match_method (String pattern, String type)
CategorySeq categories_match_typed (String pattern, String type)
NoteDescription note_describe (MusicalTuningType musical_tuning, Int note, Int fine_tune)
NoteDescription note_describe_from_freq (MusicalTuningType musical_tuning, Real freq)
String error_blurb (ErrorType error)
String error_name (ErrorType error)
NoteDescription note_construct (MusicalTuningType musical_tuning, Int semitone, Int octave, Int fine_tune)
NoteDescription note_from_string (MusicalTuningType musical_tuning, String name)
Int note_from_freq (MusicalTuningType musical_tuning, Real frequency)
Real note_to_freq (MusicalTuningType musical_tuning, Int note, Int fine_tune)
Bool proxy_check (Item item, String type_name)
SampleFileInfo sample_file_info (String file_name)
void script_add_action (String action, String name, String blurb)
Janitor script_janitor ()
void script_send_message (String domain, String msg_type, String title, String primary, String secondary, String details, String config_check)
void script_progress (Real progress)
void script_quit ()
void script_remove_action (String action)
void script_set_status (String message)
void wave_osc_mass_seek_perc (ItemSeq wosc_seq, Real pos_perc)
Real string_extract_number (String string, String format, Real aux_base, Real dflt)
String type_authors (String type)
String type_blurb (String type)
String type_license (String type)
String type_options (String type)
 BSE_CXX_REGISTER_ALL_TYPES_FROM_BSEPROBE_IDL ()
void source_request_probes (Source source, Int ochannel_id, ProbeFeatures probe_features)
void source_mass_request (ProbeRequestSeq prseq)
Num source_get_tick_stamp (Source obj)
Int source_get_mix_freq (Source obj)
void operator<<= (Rapicorn::Aida::FieldBuffer &fb, TestObjectIface *obj)
void operator>>= (Rapicorn::Aida::FieldReader &fbr, TestObjectIface *&obj)
TestObjectIfaceoperator->* (TestObjectHandle &sh, Rapicorn::Aida::_ServantType)
TestObjectHandle operator->* (TestObjectIface *obj, Rapicorn::Aida::_HandleType)
void operator<<= (Rapicorn::Aida::FieldBuffer &fb, ServerIface *obj)
void operator>>= (Rapicorn::Aida::FieldReader &fbr, ServerIface *&obj)
ServerIfaceoperator->* (ServerHandle &sh, Rapicorn::Aida::_ServantType)
ServerHandle operator->* (ServerIface *obj, Rapicorn::Aida::_HandleType)
void bse_debug (const char *key, const char *file_path, const int line, const String &message)
 Issue a debugging message, configurable via #$BSE_DEBUG.
bool bse_debug_enabled (const char *key)
 Check if debugging is enabled for key.
bool _bse_debug_enabled (const char *key)
bool bse_flipper_check (const char *key)
 Check if the feature toggle key is enabled in #$BSE_FLIPPER.

Variables

 MusicalTuningType
 BseMusicalTuningType
v
 MidiSignalType
 BseMidiSignalType
 MidiControlType
 BseMidiControlType
 MidiChannelEventType
 BseMidiChannelEventType
 IntSeq
 TypeSeq
 StringSeq
 FloatSeq
 NoteSeq
 ItemSeq
 PartNoteSeq
 PartControlSeq
 PixelSeq
 CategorySeq
 DotSeq
 PartLinkSeq
 TrackPartSeq
 MidiChannelEvent
 PropertyCandidates
 PartNote
 PartControl
 NoteDescription
 NoteSequence
 Icon
 Category
 Dot
 PartLink
 TrackPart
 SongTiming
 SampleFileInfo
 GConfig
Const READWRITE
Const STORAGE
Const STANDARD
Const STANDARD_RDONLY
Const GUI
Const GUI_RDONLY
Const GUI_READABLE
Const SKIP_DEFAULT
Const SKIP_UNDO
Const DEFAULT
Const MAXINT
Const MININT
Const MAXNUM
Const MINNUM
Const MINDB
Const DEFAULT_AUTHOR
Const DEFAULT_LICENSE
Const USER_DATA_PATH
Const DEFAULT_SAMPLE_PATH
Const DEFAULT_EFFECTS_PATH
Const DEFAULT_INSTRUMENTS_PATH
Const DEFAULT_SCRIPTS_PATH
Const DEFAULT_PLUGINS_PATH
 BusModule
 MsgType
 BseMsgType
 ThreadState
 BseThreadState
 ThreadInfoSeq
 Message
 ThreadInfo
 ThreadTotals
 bool
 b
 no_cast
signed int
signed i
 uint
signed long
signed long num
signed long n
 float
 real
 r
 double
 gpointer
 pointer
GParamSpec pspec
GParamSpec P
 string
 s
char const_cast< char * >
GObject object
GObject O
BseObject reinterpret_cast< BseObject * >
BseObject reinterpret_cast< GObject * >
BseItem reinterpret_cast< BseItem * >
BseSource reinterpret_cast< BseSource * >
 CxxBase
 BseSource
 NULL
 bse_cxx_base_class_base_init
 Effect
 BseCxxBase
const SfiInt KAMMER_NOTE
const SfiInt KAMMER_OCTAVE
const SfiReal KAMMER_FREQ
const SfiInt MIN_FINE_TUNE
const SfiInt MAX_FINE_TUNE
 ProbeSeq
 ProbeRequestSeq
 ProbeFeatures
 Probe
 ProbeRequest
 Amplifier
 Balance
 CoreHook
 Noise
 Summation
bool volatile _cached_bse_debug
 Caching flag to inhibit useless bse_debug() calls.

Detailed Description

The Bse namespace contains all functions of the synthesis engine.


Enumeration Type Documentation

Enumerator:
ERROR 

Indicate a message about an error condition.

WARNING 

Indicate a message about a possibly harmful condition.

INFO 

Indicate an informational message.

DEBUG 

Indicate a debugging message (usually insignificant).


Function Documentation

bool Bse::bse_debug_enabled ( const char key = NULL) [inline]

Check if debugging is enabled for key.

This function checks if #$BSE_DEBUG contains key or "all" and returns true if debugging is enabled for the given key. The key argument may be NULL in which case the function checks if general debugging is enabled.

void Bse::init_async ( int argc,
char **  argv,
const char app_name,
const StringVector args 
)

Initialize and start BSE.

Initialize the BSE library and start the main BSE thread. Arguments specific to BSE are removed from argc / argv.

SfiGlueContext * Bse::init_glue_context ( const gchar *  client,
const std::function< void()> &  caller_wakeup 
)

Create SFI glue layer context.

Create and push an SFI glue layer context for the calling thread, to enable communications with the main BSE thread library.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines