BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Modules | Classes | Typedefs | Enumerations | Functions | Variables
Bse Module Reference

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

Modules

 Contrib
 The Contrib namespace contains contributed BSE modules.
 
 Procedure
 The Procedure namespace contains procedure/IDL helpers.
 
 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  EditableSample
 
interface  Source
 
interface  WaveOsc
 
interface  SubOPort
 
interface  InstrumentOutput
 
interface  ContextMerger
 
interface  Track
 
interface  Container
 
interface  Super
 
interface  SNet
 
interface  CSynth
 
interface  MidiSynth
 
interface  Song
 
interface  WaveRepo
 
interface  Project
 
interface  Snooper
 
interface  SubIPort
 
interface  InstrumentInput
 
interface  MidiVoiceInput
 
interface  StandardOsc
 
interface  BiquadFilter
 
interface  SubSynth
 
interface  Bus
 
interface  LadspaModule
 
interface  Wave
 
interface  PcmOutput
 
interface  MidiVoiceSwitch
 
interface  MidiInput
 
interface  PcmInput
 
interface  MidiController
 
interface  Constant
 
interface  Janitor
 
interface  DataPocket
 
interface  Part
 
interface  MidiNotifier
 
interface  PcmWriter
 
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  ImplicitBase
 IDL API base class until Rapicorn supports ImplicitBaseP out of the box. 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::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. More...
 
void init_async (int *argc, char **argv, const char *app_name, const StringVector &args)
 Initialize and start BSE. More...
 
const String tokenize_gtype (GType t)
 
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. More...
 
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.