[beast/devel: 2/16] SFI: use Enum() for value asignments, use 0 to indicate neutral values



commit e58808a3b4323e29c03415b8cc969e1a2f70e6ab
Author: Tim Janik <timj gnu org>
Date:   Tue Dec 25 00:33:35 2012 +0100

    SFI: use Enum() for value asignments, use 0 to indicate neutral values

 beast-gtk/bstrecords.idl      |  122 ++++----
 bse/bsecore.idl               |  704 ++++++++++++++++++++--------------------
 bse/bseprocidl.cc             |    4 +-
 plugins/standardsaturator.idl |   20 +-
 sfi/sfidl-parser.cc           |   34 +--
 sfi/tests/testidl.idl         |   14 +-
 tests/bse/testplugin.idl      |    2 +-
 7 files changed, 444 insertions(+), 456 deletions(-)
---
diff --git a/beast-gtk/bstrecords.idl b/beast-gtk/bstrecords.idl
index 628068b..8c66962 100644
--- a/beast-gtk/bstrecords.idl
+++ b/beast-gtk/bstrecords.idl
@@ -13,73 +13,73 @@ using namespace Sfi;
 Const STORAGE = ":r:w:S:";
 Const STANDARD = STORAGE "G:";
 enum Direction {
-  UP    = (_("Up"), _("Move upwards")),
-  LEFT  = (_("Left"), _("Move to the left")),
-  RIGHT = (_("Right"), _("Move to the right")),
-  DOWN  = (_("Down"), _("Move downwards"))
+  UP    = Enum (_("Up"), _("Move upwards")),
+  LEFT  = Enum (_("Left"), _("Move to the left")),
+  RIGHT = Enum (_("Right"), _("Move to the right")),
+  DOWN  = Enum (_("Down"), _("Move downwards"))
 };
 enum FFTSize {
-  FFT_SIZE_2     = (_("2 Value FFT Window"), _("A 2 value FFT window corresponds to a spectrum with 2 frequency peaks")),
-  FFT_SIZE_4     = (_("4 Value FFT Window"), _("A 4 value FFT window corresponds to a spectrum with 3 frequency peaks")),
-  FFT_SIZE_8     = (_("8 Value FFT Window"), _("A 8 value FFT window corresponds to a spectrum with 5 frequency peaks")),
-  FFT_SIZE_16    = (_("16 Value FFT Window"), _("A 16 value FFT window corresponds to a spectrum with 9 frequency peaks")),
-  FFT_SIZE_32    = (_("32 Value FFT Window"), _("A 32 value FFT window corresponds to a spectrum with 17 frequency peaks")),
-  FFT_SIZE_64    = (_("64 Value FFT Window"), _("A 64 value FFT window corresponds to a spectrum with 33 frequency peaks")),
-  FFT_SIZE_128   = (_("128 Value FFT Window"), _("A 128 value FFT window corresponds to a spectrum with 65 frequency peaks")),
-  FFT_SIZE_256   = (_("256 Value FFT Window"), _("A 256 value FFT window corresponds to a spectrum with 129 frequency peaks")),
-  FFT_SIZE_512   = (_("512 Value FFT Window"), _("A 512 value FFT window corresponds to a spectrum with 257 frequency peaks")),
-  FFT_SIZE_1024  = (_("1024 Value FFT Window"), _("A 1024 value FFT window corresponds to a spectrum with 513 frequency peaks")),
-  FFT_SIZE_2048  = (_("2048 Value FFT Window"), _("A 2048 value FFT window corresponds to a spectrum with 1025 frequency peaks")),
-  FFT_SIZE_4096  = (_("4096 Value FFT Window"), _("A 4096 value FFT window corresponds to a spectrum with 2049 frequency peaks")),
-  FFT_SIZE_8192  = (_("8192 Value FFT Window"), _("A 8192 value FFT window corresponds to a spectrum with 4097 frequency peaks")),
-  FFT_SIZE_16384 = (_("16384 Value FFT Window"), _("A 16384 value FFT window corresponds to a spectrum with 8193 frequency peaks")),
-  FFT_SIZE_32768 = (_("32768 Value FFT Window"), _("A 32768 value FFT window corresponds to a spectrum with 16385 frequency peaks")),
-  FFT_SIZE_65536 = (_("65536 Value FFT Window"), _("A 65536 value FFT window corresponds to a spectrum with 32769 frequency peaks")),
+  FFT_SIZE_2     = Enum (_("2 Value FFT Window"), _("A 2 value FFT window corresponds to a spectrum with 2 frequency peaks")),
+  FFT_SIZE_4     = Enum (_("4 Value FFT Window"), _("A 4 value FFT window corresponds to a spectrum with 3 frequency peaks")),
+  FFT_SIZE_8     = Enum (_("8 Value FFT Window"), _("A 8 value FFT window corresponds to a spectrum with 5 frequency peaks")),
+  FFT_SIZE_16    = Enum (_("16 Value FFT Window"), _("A 16 value FFT window corresponds to a spectrum with 9 frequency peaks")),
+  FFT_SIZE_32    = Enum (_("32 Value FFT Window"), _("A 32 value FFT window corresponds to a spectrum with 17 frequency peaks")),
+  FFT_SIZE_64    = Enum (_("64 Value FFT Window"), _("A 64 value FFT window corresponds to a spectrum with 33 frequency peaks")),
+  FFT_SIZE_128   = Enum (_("128 Value FFT Window"), _("A 128 value FFT window corresponds to a spectrum with 65 frequency peaks")),
+  FFT_SIZE_256   = Enum (_("256 Value FFT Window"), _("A 256 value FFT window corresponds to a spectrum with 129 frequency peaks")),
+  FFT_SIZE_512   = Enum (_("512 Value FFT Window"), _("A 512 value FFT window corresponds to a spectrum with 257 frequency peaks")),
+  FFT_SIZE_1024  = Enum (_("1024 Value FFT Window"), _("A 1024 value FFT window corresponds to a spectrum with 513 frequency peaks")),
+  FFT_SIZE_2048  = Enum (_("2048 Value FFT Window"), _("A 2048 value FFT window corresponds to a spectrum with 1025 frequency peaks")),
+  FFT_SIZE_4096  = Enum (_("4096 Value FFT Window"), _("A 4096 value FFT window corresponds to a spectrum with 2049 frequency peaks")),
+  FFT_SIZE_8192  = Enum (_("8192 Value FFT Window"), _("A 8192 value FFT window corresponds to a spectrum with 4097 frequency peaks")),
+  FFT_SIZE_16384 = Enum (_("16384 Value FFT Window"), _("A 16384 value FFT window corresponds to a spectrum with 8193 frequency peaks")),
+  FFT_SIZE_32768 = Enum (_("32768 Value FFT Window"), _("A 32768 value FFT window corresponds to a spectrum with 16385 frequency peaks")),
+  FFT_SIZE_65536 = Enum (_("65536 Value FFT Window"), _("A 65536 value FFT window corresponds to a spectrum with 32769 frequency peaks")),
 };
 enum NoteLength {
-  NOTE_LENGTH_NONE      = (Neutral,    _("None"), _("Unspecified length")),
-  NOTE_LENGTH_1         = (_("1/1"),   _("Whole note")),
-  NOTE_LENGTH_2         = (_("1/2"),   _("Half note")),
-  NOTE_LENGTH_4         = (_("1/4"),   _("Quarter note")),
-  NOTE_LENGTH_8         = (_("1/8"),   _("Eighths note")),
-  NOTE_LENGTH_16        = (_("1/16"),  _("Sixteenth note")),
-  NOTE_LENGTH_32        = (_("1/32"),  _("Thirty-secondth note")),
-  NOTE_LENGTH_64        = (_("1/64"),  _("Sixty-fourth note")),
-  NOTE_LENGTH_128       = (_("1/128"), _("Hundred twenty-eighth note")),
-  NOTE_LENGTH_1P        = (_("1/1."),  _("Dotted whole note")),
-  NOTE_LENGTH_2P        = (_("1/2."),  _("Dotted half note")),
-  NOTE_LENGTH_4P        = (_("1/4."),  _("Dotted quarter note")),
-  NOTE_LENGTH_8P        = (_("1/8."),  _("Dotted eighths note")),
-  NOTE_LENGTH_16P       = (_("1/16."), _("Dotted sixteenth note")),
-  NOTE_LENGTH_32P       = (_("1/32."), _("Dotted thirty-secondth note")),
-  NOTE_LENGTH_64P       = (_("1/64."), _("Dotted sixty-fourth note")),
-  NOTE_LENGTH_128P      = (_("1/128."),_("Dotted hundred twenty-eighth note")),
-  NOTE_LENGTH_1T        = (_("1/1T"),  _("Triplet whole note")),
-  NOTE_LENGTH_2T        = (_("1/2T"),  _("Triplet half note")),
-  NOTE_LENGTH_4T        = (_("1/4T"),  _("Triplet quarter note")),
-  NOTE_LENGTH_8T        = (_("1/8T"),  _("Triplet eighths note")),
-  NOTE_LENGTH_16T       = (_("1/16T"), _("Triplet sixteenth note")),
-  NOTE_LENGTH_32T       = (_("1/32T"), _("Triplet thirty-secondth note")),
-  NOTE_LENGTH_64T       = (_("1/64T"), _("Triplet sixty-fourth note")),
-  NOTE_LENGTH_128T      = (_("1/128T"),_("Triplet hundred twenty-eighth note")),
+  NOTE_LENGTH_NONE      = Enum (0,	    _("None"), _("Unspecified length")),
+  NOTE_LENGTH_1         = Enum (_("1/1"),   _("Whole note")),
+  NOTE_LENGTH_2         = Enum (_("1/2"),   _("Half note")),
+  NOTE_LENGTH_4         = Enum (_("1/4"),   _("Quarter note")),
+  NOTE_LENGTH_8         = Enum (_("1/8"),   _("Eighths note")),
+  NOTE_LENGTH_16        = Enum (_("1/16"),  _("Sixteenth note")),
+  NOTE_LENGTH_32        = Enum (_("1/32"),  _("Thirty-secondth note")),
+  NOTE_LENGTH_64        = Enum (_("1/64"),  _("Sixty-fourth note")),
+  NOTE_LENGTH_128       = Enum (_("1/128"), _("Hundred twenty-eighth note")),
+  NOTE_LENGTH_1P        = Enum (_("1/1."),  _("Dotted whole note")),
+  NOTE_LENGTH_2P        = Enum (_("1/2."),  _("Dotted half note")),
+  NOTE_LENGTH_4P        = Enum (_("1/4."),  _("Dotted quarter note")),
+  NOTE_LENGTH_8P        = Enum (_("1/8."),  _("Dotted eighths note")),
+  NOTE_LENGTH_16P       = Enum (_("1/16."), _("Dotted sixteenth note")),
+  NOTE_LENGTH_32P       = Enum (_("1/32."), _("Dotted thirty-secondth note")),
+  NOTE_LENGTH_64P       = Enum (_("1/64."), _("Dotted sixty-fourth note")),
+  NOTE_LENGTH_128P      = Enum (_("1/128."),_("Dotted hundred twenty-eighth note")),
+  NOTE_LENGTH_1T        = Enum (_("1/1T"),  _("Triplet whole note")),
+  NOTE_LENGTH_2T        = Enum (_("1/2T"),  _("Triplet half note")),
+  NOTE_LENGTH_4T        = Enum (_("1/4T"),  _("Triplet quarter note")),
+  NOTE_LENGTH_8T        = Enum (_("1/8T"),  _("Triplet eighths note")),
+  NOTE_LENGTH_16T       = Enum (_("1/16T"), _("Triplet sixteenth note")),
+  NOTE_LENGTH_32T       = Enum (_("1/32T"), _("Triplet thirty-secondth note")),
+  NOTE_LENGTH_64T       = Enum (_("1/64T"), _("Triplet sixty-fourth note")),
+  NOTE_LENGTH_128T      = Enum (_("1/128T"),_("Triplet hundred twenty-eighth note")),
 };
 enum RowShading {
-  ROW_SHADING_NONE    = (Neutral,       _("None")),
-  ROW_SHADING_2       = (_("2"),        _("Every second row")),
-  ROW_SHADING_4       = (_("4"),        _("Every fourth row")),
-  ROW_SHADING_8       = (_("8"),        _("Every eighth row")),
-  ROW_SHADING_16      = (_("16"),       _("Every sixteenth row")),
-  ROW_SHADING_2_4     = (_("2 & 4"),    _("Every second and fourth row")),
-  ROW_SHADING_4_8     = (_("4 & 8"),    _("Every fourth and eighth row")),
-  ROW_SHADING_4_12    = (_("4 & 12"),   _("Every fourth and twelfth row")),
-  ROW_SHADING_4_16    = (_("4 & 16"),   _("Every fourth and sixteenth row")),
-  ROW_SHADING_8_16    = (_("8 & 16"),   _("Every eighth and sixteenth row")),
-  ROW_SHADING_3       = (_("3"),        _("Every third row")),
-  ROW_SHADING_6       = (_("6"),        _("Every sixth row")),
-  ROW_SHADING_12      = (_("12"),       _("Every twelfth row")),
-  ROW_SHADING_3_6     = (_("3 & 6"),    _("Every third and sixth row")),
-  ROW_SHADING_3_12    = (_("3 & 12"),   _("Every third and twelfth row")),
-  ROW_SHADING_6_12    = (_("6 & 12"),   _("Every sixth and twelfth row")),
+  ROW_SHADING_NONE    = Enum (0,       	     _("None")),
+  ROW_SHADING_2       = Enum (_("2"),        _("Every second row")),
+  ROW_SHADING_4       = Enum (_("4"),        _("Every fourth row")),
+  ROW_SHADING_8       = Enum (_("8"),        _("Every eighth row")),
+  ROW_SHADING_16      = Enum (_("16"),       _("Every sixteenth row")),
+  ROW_SHADING_2_4     = Enum (_("2 & 4"),    _("Every second and fourth row")),
+  ROW_SHADING_4_8     = Enum (_("4 & 8"),    _("Every fourth and eighth row")),
+  ROW_SHADING_4_12    = Enum (_("4 & 12"),   _("Every fourth and twelfth row")),
+  ROW_SHADING_4_16    = Enum (_("4 & 16"),   _("Every fourth and sixteenth row")),
+  ROW_SHADING_8_16    = Enum (_("8 & 16"),   _("Every eighth and sixteenth row")),
+  ROW_SHADING_3       = Enum (_("3"),        _("Every third row")),
+  ROW_SHADING_6       = Enum (_("6"),        _("Every sixth row")),
+  ROW_SHADING_12      = Enum (_("12"),       _("Every twelfth row")),
+  ROW_SHADING_3_6     = Enum (_("3 & 6"),    _("Every third and sixth row")),
+  ROW_SHADING_3_12    = Enum (_("3 & 12"),   _("Every third and twelfth row")),
+  ROW_SHADING_6_12    = Enum (_("6 & 12"),   _("Every sixth and twelfth row")),
 };
 /* BEAST Global Config */
 record GConfig {
diff --git a/bse/bsecore.idl b/bse/bsecore.idl
index fc3c2a1..2459ca8 100644
--- a/bse/bsecore.idl
+++ b/bse/bsecore.idl
@@ -50,60 +50,60 @@ sequence StringSeq {
 /* musical tunings: http://en.wikipedia.org/wiki/Musical_tuning */
 enum MusicalTuningType {
   /* Equal Temperament: http://en.wikipedia.org/wiki/Equal_temperament */
-  MUSICAL_TUNING_12_TET                 = (1, _("12 Tone Equal Temperament"),   // http://en.wikipedia.org/wiki/Equal_temperament
+  MUSICAL_TUNING_12_TET            = Enum (1, _("12 Tone Equal Temperament"),   // http://en.wikipedia.org/wiki/Equal_temperament
                                            _("The most common tuning system for modern Western music, "
                                              "is the twelve-tone equal temperament, abbreviated as 12-TET, "
                                              "which divides the octave into 12 equal parts.")),
-  MUSICAL_TUNING_7_TET                  = (_("7 Tone Equal Temperament"),      // http://en.wikipedia.org/wiki/Equal_temperament
+  MUSICAL_TUNING_7_TET             = Enum (_("7 Tone Equal Temperament"),      // http://en.wikipedia.org/wiki/Equal_temperament
                                            _("A fairly common tuning system is the seven-tone equal temperament tuning system, "
                                              "abbreviated as 7-TET. It divides the octave into 7 equal parts using 171 cent steps.")),
-  MUSICAL_TUNING_5_TET                  = (_("5 Tone Equal Temperament"),      // http://en.wikipedia.org/wiki/Equal_temperament
+  MUSICAL_TUNING_5_TET             = Enum (_("5 Tone Equal Temperament"),      // http://en.wikipedia.org/wiki/Equal_temperament
                                            _("A fairly common tuning system is the five-tone equal temperament tuning system, "
                                              "abbreviated as 5-TET. It divides the octave into 5 equal parts using 240 cent steps.")),
   /* Rational Intonation: http://en.wikipedia.org/wiki/Just_intonation */
-  MUSICAL_TUNING_DIATONIC_SCALE         = (_("Diatonic Scale"),                 // http://en.wikipedia.org/wiki/Diatonic_scale
+  MUSICAL_TUNING_DIATONIC_SCALE    = Enum (_("Diatonic Scale"),                 // http://en.wikipedia.org/wiki/Diatonic_scale
                                            _("In music theory, a diatonic scale (also: heptatonia prima) is a seven-note "
                                              "musical scale comprising five whole-tone and two half-tone steps. "
                                              "The half tones are maximally separated, so between two half-tone steps "
                                              "there are either two or three whole tones, repeating per octave.")), // Werckmeister I
-  MUSICAL_TUNING_INDIAN_SCALE           = (_("Indian Scale"),                   // http://en.wikipedia.org/wiki/Just_intonation#Indian_scales
+  MUSICAL_TUNING_INDIAN_SCALE      = Enum (_("Indian Scale"),                   // http://en.wikipedia.org/wiki/Just_intonation#Indian_scales
                                            _("Diatonic scale used in Indian music with wolf interval at Dha, close to 3/2")),
-  MUSICAL_TUNING_PYTHAGOREAN_TUNING     = (_("Pythagorean Tuning"),             // http://en.wikipedia.org/wiki/Pythagorean_tuning
+  MUSICAL_TUNING_PYTHAGOREAN_TUNING= Enum (_("Pythagorean Tuning"),             // http://en.wikipedia.org/wiki/Pythagorean_tuning
                                            _("Pythagorean tuning is the oldest way of tuning the 12-note chromatic scale, "
                                              "in which the frequency relationships of all intervals are based on the ratio 3:2. "
                                              "Its discovery is generally credited to Pythagoras.")),
-  MUSICAL_TUNING_PENTATONIC_5_LIMIT     = (_("Pentatonic 5-limit"),             // http://en.wikipedia.org/wiki/Pentatonic_scale
+  MUSICAL_TUNING_PENTATONIC_5_LIMIT= Enum (_("Pentatonic 5-limit"),             // http://en.wikipedia.org/wiki/Pentatonic_scale
                                            _("Pentatonic scales are used in modern jazz and pop/rock contexts "
                                              "because they work exceedingly well over several chords diatonic "
                                              "to the same key, often better than the parent scale.")),
-  MUSICAL_TUNING_PENTATONIC_BLUES       = (_("Pentatonic Blues"),               // http://en.wikipedia.org/wiki/Pentatonic_scale
+  MUSICAL_TUNING_PENTATONIC_BLUES  = Enum (_("Pentatonic Blues"),               // http://en.wikipedia.org/wiki/Pentatonic_scale
                                            _("The blues scale is the minor pentatonic with an additional augmented fourth, "
                                              "which is referred to as the \"blues note\".")),
-  MUSICAL_TUNING_PENTATONIC_GOGO        = (_("Pentatonic Gogo"),                // http://en.wikipedia.org/wiki/Pentatonic_scale
+  MUSICAL_TUNING_PENTATONIC_GOGO   = Enum (_("Pentatonic Gogo"),                // http://en.wikipedia.org/wiki/Pentatonic_scale
                                            _("The Pentatonic Gogo scale is an anhemitonic pentatonic scale used to tune the "
                                              "instruments of the Gogo people of Tanzania.")),
   /* Meantone Temperament: http://en.wikipedia.org/wiki/Meantone_temperament */
-  MUSICAL_TUNING_QUARTER_COMMA_MEANTONE = (_("Quarter-Comma Meantone"),         // http://en.wikipedia.org/wiki/Quarter-comma_meantone
+  MUSICAL_TUNING_QUARTER_COMMA_MEANTONE = Enum (_("Quarter-Comma Meantone"),         // http://en.wikipedia.org/wiki/Quarter-comma_meantone
                                            _("Quarter-comma meantone was the most common meantone temperament in the "
                                              "sixteenth and seventeenth centuries and sometimes used later.")), // Werckmeister II
-  MUSICAL_TUNING_SILBERMANN_SORGE       = (_("Silbermann-Sorge Temperament"),   // http://de.wikipedia.org/wiki/Silbermann-Sorge-Temperatur
+  MUSICAL_TUNING_SILBERMANN_SORGE  = Enum (_("Silbermann-Sorge Temperament"),   // http://de.wikipedia.org/wiki/Silbermann-Sorge-Temperatur
                                            _("The Silbermann-Sorge temperament is a meantone temperament used for "
                                              "Baroque era organs by Gottfried Silbermann.")),
   /* Well Temperament: http://en.wikipedia.org/wiki/Well_temperament */
-  MUSICAL_TUNING_WERCKMEISTER_3         = (_("Werckmeister III"),               // http://en.wikipedia.org/wiki/Werckmeister_temperament
+  MUSICAL_TUNING_WERCKMEISTER_3    = Enum (_("Werckmeister III"),               // http://en.wikipedia.org/wiki/Werckmeister_temperament
                                            _("This tuning uses mostly pure (perfect) fifths, as in Pythagorean tuning, but each "
                                              "of the fifths C-G, G-D, D-A and B-F# is made smaller, i.e. tempered by 1/4 comma. "
                                              "Werckmeister designated this tuning as particularly suited for playing chromatic music.")),
-  MUSICAL_TUNING_WERCKMEISTER_4         = (_("Werckmeister IV"),                // http://en.wikipedia.org/wiki/Werckmeister_temperament
+  MUSICAL_TUNING_WERCKMEISTER_4    = Enum (_("Werckmeister IV"),                // http://en.wikipedia.org/wiki/Werckmeister_temperament
                                            _("In this tuning the fifths C-G, D-A, E-B, F#-C#, and Bb-F are tempered narrow by 1/3 comma, "
                                              "and the fifths G#-D# and Eb-Bb are widened by 1/3 comma. The other fifths are pure. "
                                              "Most of its intervals are close to sixth-comma meantone. "
                                              "Werckmeister designed this tuning for playing mainly diatonic music.")),
-  MUSICAL_TUNING_WERCKMEISTER_5         = (_("Werckmeister V"),                 // http://en.wikipedia.org/wiki/Werckmeister_temperament
+  MUSICAL_TUNING_WERCKMEISTER_5    = Enum (_("Werckmeister V"),                 // http://en.wikipedia.org/wiki/Werckmeister_temperament
                                            _("In this tuning the fifths D-A, A-E, F#-C#, C#-G#, and F-C are narrowed by 1/4 comma, "
                                              "and the fifth G#-D# is widened by 1/4 comma. The other fifths are pure. "
                                              "This temperament is closer to equal temperament than Werckmeister III or IV.")),
-  MUSICAL_TUNING_WERCKMEISTER_6         = (_("Werckmeister VI"),                // http://en.wikipedia.org/wiki/Werckmeister_temperament
+  MUSICAL_TUNING_WERCKMEISTER_6    = Enum (_("Werckmeister VI"),                // http://en.wikipedia.org/wiki/Werckmeister_temperament
                                            _("This tuning is also known as Septenarius tuning is based on a division of the monochord "
                                              "length into 196 = 7 * 7 * 4 parts. "
                                              "The resulting scale has rational frequency relationships, but in practice involves pure "
@@ -111,13 +111,13 @@ enum MusicalTuningType {
                                              "Werckmeister described the Septenarius as a \"temperament which has nothing at all to do "
                                              "with the divisions of the comma, nevertheless in practice so correct that one can be really "
                                              "satisfied with it\".")),
-  MUSICAL_TUNING_KIRNBERGER_3           = (_("Kirnberger III"),                 // http://en.wikipedia.org/wiki/Johann_Philipp_Kirnberger_temperament
+  MUSICAL_TUNING_KIRNBERGER_3      = Enum (_("Kirnberger III"),                 // http://en.wikipedia.org/wiki/Johann_Philipp_Kirnberger_temperament
                                            _("Kirnberger's method of compensating for and closing the circle of fifths is to split the \"wolf\" "
                                              "interval known to those who have used meantone temperaments between four fifths instead, "
                                              "allowing for four 1/4-comma wolves to take their place. "
                                              "1/4-comma wolves are used extensively in meantone and are much easier to tune and to listen to. "
                                              "Therefore, only one third remains pure (between C and E).")),
-  MUSICAL_TUNING_YOUNG                  = (_("Young Temperament"),              // http://en.wikipedia.org/wiki/Young_temperament
+  MUSICAL_TUNING_YOUNG             = Enum (_("Young Temperament"),              // http://en.wikipedia.org/wiki/Young_temperament
                                            _("Thomas Young devised a form of musical tuning to make the harmony most perfect in those keys which "
                                              "are the most frequently used (give better major thirds in those keys), but to not have any unplayable keys. "
                                              "This is attempted by tuning upwards from C a sequence of six pure fourths, "
@@ -126,354 +126,354 @@ enum MusicalTuningType {
 /* various MIDI specific definitions */
 enum MidiSignalType {
   /* special cased signals */
-  MIDI_SIGNAL_PROGRAM                         = (1,   _("Program Change")),     /* 7bit */
-  MIDI_SIGNAL_PRESSURE                        = (2,   _("Channel Pressure")),   /* 7bit */
-  MIDI_SIGNAL_PITCH_BEND                      = (3,   _("Pitch Bend")),         /* 14bit */
-  MIDI_SIGNAL_VELOCITY                        = (4,   _("Note Velocity")),
-  MIDI_SIGNAL_FINE_TUNE                       = (5,   _("Note Fine Tune")),
+  MIDI_SIGNAL_PROGRAM                         = Enum (1,   _("Program Change")),     /* 7bit */
+  MIDI_SIGNAL_PRESSURE                        = Enum (2,   _("Channel Pressure")),   /* 7bit */
+  MIDI_SIGNAL_PITCH_BEND                      = Enum (3,   _("Pitch Bend")),         /* 14bit */
+  MIDI_SIGNAL_VELOCITY                        = Enum (4,   _("Note Velocity")),
+  MIDI_SIGNAL_FINE_TUNE                       = Enum (5,   _("Note Fine Tune")),
   /* 14bit, continuous controls */
-  MIDI_SIGNAL_CONTINUOUS_0                    = (64,  _("Bank Select")),
-  MIDI_SIGNAL_CONTINUOUS_1                    = (65,  _("Modulation Depth")),
-  MIDI_SIGNAL_CONTINUOUS_2                    = (66,  _("Breath Control")),
-  MIDI_SIGNAL_CONTINUOUS_3                    = (67,  _("Continuous 3")),
-  MIDI_SIGNAL_CONTINUOUS_4                    = (68,  _("Foot Controller")),
-  MIDI_SIGNAL_CONTINUOUS_5                    = (69,  _("Portamento Time")),
-  MIDI_SIGNAL_CONTINUOUS_6                    = (70,  _("Data Entry")),
-  MIDI_SIGNAL_CONTINUOUS_7                    = (71,  _("Volume")),
-  MIDI_SIGNAL_CONTINUOUS_8                    = (72,  _("Balance")),
-  MIDI_SIGNAL_CONTINUOUS_9                    = (73,  _("Continuous 9")),
-  MIDI_SIGNAL_CONTINUOUS_10                   = (74,  _("Panorama")),
-  MIDI_SIGNAL_CONTINUOUS_11                   = (75,  _("Expression")),
-  MIDI_SIGNAL_CONTINUOUS_12                   = (76,  _("Effect Control 1")),
-  MIDI_SIGNAL_CONTINUOUS_13                   = (77,  _("Effect Control 2")),
-  MIDI_SIGNAL_CONTINUOUS_14                   = (78,  _("Continuous 14")),
-  MIDI_SIGNAL_CONTINUOUS_15                   = (79,  _("Continuous 15")),
-  MIDI_SIGNAL_CONTINUOUS_16                   = (80,  _("General Purpose Controller 1")),
-  MIDI_SIGNAL_CONTINUOUS_17                   = (81,  _("General Purpose Controller 2")),
-  MIDI_SIGNAL_CONTINUOUS_18                   = (82,  _("General Purpose Controller 3")),
-  MIDI_SIGNAL_CONTINUOUS_19                   = (83,  _("General Purpose Controller 4")),
-  MIDI_SIGNAL_CONTINUOUS_20                   = (84,  _("Continuous 20")),
-  MIDI_SIGNAL_CONTINUOUS_21                   = (85,  _("Continuous 21")),
-  MIDI_SIGNAL_CONTINUOUS_22                   = (86,  _("Continuous 22")),
-  MIDI_SIGNAL_CONTINUOUS_23                   = (87,  _("Continuous 23")),
-  MIDI_SIGNAL_CONTINUOUS_24                   = (88,  _("Continuous 24")),
-  MIDI_SIGNAL_CONTINUOUS_25                   = (89,  _("Continuous 25")),
-  MIDI_SIGNAL_CONTINUOUS_26                   = (90,  _("Continuous 26")),
-  MIDI_SIGNAL_CONTINUOUS_27                   = (91,  _("Continuous 27")),
-  MIDI_SIGNAL_CONTINUOUS_28                   = (92,  _("Continuous 28")),
-  MIDI_SIGNAL_CONTINUOUS_29                   = (93,  _("Continuous 29")),
-  MIDI_SIGNAL_CONTINUOUS_30                   = (94,  _("Continuous 30")),
-  MIDI_SIGNAL_CONTINUOUS_31                   = (95,  _("Continuous 31")),
+  MIDI_SIGNAL_CONTINUOUS_0                    = Enum (64,  _("Bank Select")),
+  MIDI_SIGNAL_CONTINUOUS_1                    = Enum (65,  _("Modulation Depth")),
+  MIDI_SIGNAL_CONTINUOUS_2                    = Enum (66,  _("Breath Control")),
+  MIDI_SIGNAL_CONTINUOUS_3                    = Enum (67,  _("Continuous 3")),
+  MIDI_SIGNAL_CONTINUOUS_4                    = Enum (68,  _("Foot Controller")),
+  MIDI_SIGNAL_CONTINUOUS_5                    = Enum (69,  _("Portamento Time")),
+  MIDI_SIGNAL_CONTINUOUS_6                    = Enum (70,  _("Data Entry")),
+  MIDI_SIGNAL_CONTINUOUS_7                    = Enum (71,  _("Volume")),
+  MIDI_SIGNAL_CONTINUOUS_8                    = Enum (72,  _("Balance")),
+  MIDI_SIGNAL_CONTINUOUS_9                    = Enum (73,  _("Continuous 9")),
+  MIDI_SIGNAL_CONTINUOUS_10                   = Enum (74,  _("Panorama")),
+  MIDI_SIGNAL_CONTINUOUS_11                   = Enum (75,  _("Expression")),
+  MIDI_SIGNAL_CONTINUOUS_12                   = Enum (76,  _("Effect Control 1")),
+  MIDI_SIGNAL_CONTINUOUS_13                   = Enum (77,  _("Effect Control 2")),
+  MIDI_SIGNAL_CONTINUOUS_14                   = Enum (78,  _("Continuous 14")),
+  MIDI_SIGNAL_CONTINUOUS_15                   = Enum (79,  _("Continuous 15")),
+  MIDI_SIGNAL_CONTINUOUS_16                   = Enum (80,  _("General Purpose Controller 1")),
+  MIDI_SIGNAL_CONTINUOUS_17                   = Enum (81,  _("General Purpose Controller 2")),
+  MIDI_SIGNAL_CONTINUOUS_18                   = Enum (82,  _("General Purpose Controller 3")),
+  MIDI_SIGNAL_CONTINUOUS_19                   = Enum (83,  _("General Purpose Controller 4")),
+  MIDI_SIGNAL_CONTINUOUS_20                   = Enum (84,  _("Continuous 20")),
+  MIDI_SIGNAL_CONTINUOUS_21                   = Enum (85,  _("Continuous 21")),
+  MIDI_SIGNAL_CONTINUOUS_22                   = Enum (86,  _("Continuous 22")),
+  MIDI_SIGNAL_CONTINUOUS_23                   = Enum (87,  _("Continuous 23")),
+  MIDI_SIGNAL_CONTINUOUS_24                   = Enum (88,  _("Continuous 24")),
+  MIDI_SIGNAL_CONTINUOUS_25                   = Enum (89,  _("Continuous 25")),
+  MIDI_SIGNAL_CONTINUOUS_26                   = Enum (90,  _("Continuous 26")),
+  MIDI_SIGNAL_CONTINUOUS_27                   = Enum (91,  _("Continuous 27")),
+  MIDI_SIGNAL_CONTINUOUS_28                   = Enum (92,  _("Continuous 28")),
+  MIDI_SIGNAL_CONTINUOUS_29                   = Enum (93,  _("Continuous 29")),
+  MIDI_SIGNAL_CONTINUOUS_30                   = Enum (94,  _("Continuous 30")),
+  MIDI_SIGNAL_CONTINUOUS_31                   = Enum (95,  _("Continuous 31")),
   /* 14bit, special cased signals */
-  MIDI_SIGNAL_CONSTANT_HIGH                   = (96,  _("Constant HIGH")),
-  MIDI_SIGNAL_CONSTANT_CENTER                 = (97,  _("Constant CENTER")),
-  MIDI_SIGNAL_CONSTANT_LOW                    = (98,  _("Constant LOW")),
-  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER        = (99,  _("Constant Negative CENTER")),
-  MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH          = (100, _("Constant Negative HIGH")),
-  MIDI_SIGNAL_PARAMETER                       = (101, _("Registered Parameter")),
-  MIDI_SIGNAL_NON_PARAMETER                   = (102, _("Non-Registered Parameter")),
+  MIDI_SIGNAL_CONSTANT_HIGH                   = Enum (96,  _("Constant HIGH")),
+  MIDI_SIGNAL_CONSTANT_CENTER                 = Enum (97,  _("Constant CENTER")),
+  MIDI_SIGNAL_CONSTANT_LOW                    = Enum (98,  _("Constant LOW")),
+  MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER        = Enum (99,  _("Constant Negative CENTER")),
+  MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH          = Enum (100, _("Constant Negative HIGH")),
+  MIDI_SIGNAL_PARAMETER                       = Enum (101, _("Registered Parameter")),
+  MIDI_SIGNAL_NON_PARAMETER                   = Enum (102, _("Non-Registered Parameter")),
   /* 7bit, literal channel controls, MSB values */
-  MIDI_SIGNAL_CONTROL_0                       = (128, _("Control 0 Bank Select MSB")),
-  MIDI_SIGNAL_CONTROL_1                       = (129, _("Control 1 Modulation Depth MSB")),
-  MIDI_SIGNAL_CONTROL_2                       = (130, _("Control 2 Breath Control MSB")),
-  MIDI_SIGNAL_CONTROL_3                       = (131, _("control-3")),
-  MIDI_SIGNAL_CONTROL_4                       = (132, _("Control 4 Foot Controller MSB")),
-  MIDI_SIGNAL_CONTROL_5                       = (133, _("Control 5 Portamento Time MSB")),
-  MIDI_SIGNAL_CONTROL_6                       = (134, _("Control 6 Data Entry MSB")),
-  MIDI_SIGNAL_CONTROL_7                       = (135, _("Control 7 Volume MSB")),
-  MIDI_SIGNAL_CONTROL_8                       = (136, _("Control 8 Balance MSB")),
-  MIDI_SIGNAL_CONTROL_9                       = (137, _("control-9")),
-  MIDI_SIGNAL_CONTROL_10                      = (138, _("Control 10 Panorama MSB")),
-  MIDI_SIGNAL_CONTROL_11                      = (139, _("Control 11 Expression MSB")),
-  MIDI_SIGNAL_CONTROL_12                      = (140, _("Control 12 Effect Control 1 MSB")),
-  MIDI_SIGNAL_CONTROL_13                      = (141, _("Control 13 Effect Control 2 MSB")),
-  MIDI_SIGNAL_CONTROL_14                      = (142, _("control-14")),
-  MIDI_SIGNAL_CONTROL_15                      = (143, _("control-15")),
-  MIDI_SIGNAL_CONTROL_16                      = (144, _("Control 16 General Purpose Controller 1 MSB")),
-  MIDI_SIGNAL_CONTROL_17                      = (145, _("Control 17 General Purpose Controller 2 MSB")),
-  MIDI_SIGNAL_CONTROL_18                      = (146, _("Control 18 General Purpose Controller 3 MSB")),
-  MIDI_SIGNAL_CONTROL_19                      = (147, _("Control 19 General Purpose Controller 4 MSB")),
-  MIDI_SIGNAL_CONTROL_20                      = (148, _("control-20")),
-  MIDI_SIGNAL_CONTROL_21                      = (149, _("control-21")),
-  MIDI_SIGNAL_CONTROL_22                      = (150, _("control-22")),
-  MIDI_SIGNAL_CONTROL_23                      = (151, _("control-23")),
-  MIDI_SIGNAL_CONTROL_24                      = (152, _("control-24")),
-  MIDI_SIGNAL_CONTROL_25                      = (153, _("control-25")),
-  MIDI_SIGNAL_CONTROL_26                      = (154, _("control-26")),
-  MIDI_SIGNAL_CONTROL_27                      = (155, _("control-27")),
-  MIDI_SIGNAL_CONTROL_28                      = (156, _("control-28")),
-  MIDI_SIGNAL_CONTROL_29                      = (157, _("control-29")),
-  MIDI_SIGNAL_CONTROL_30                      = (158, _("control-30")),
-  MIDI_SIGNAL_CONTROL_31                      = (159, _("control-31")),
+  MIDI_SIGNAL_CONTROL_0                       = Enum (128, _("Control 0 Bank Select MSB")),
+  MIDI_SIGNAL_CONTROL_1                       = Enum (129, _("Control 1 Modulation Depth MSB")),
+  MIDI_SIGNAL_CONTROL_2                       = Enum (130, _("Control 2 Breath Control MSB")),
+  MIDI_SIGNAL_CONTROL_3                       = Enum (131, _("control-3")),
+  MIDI_SIGNAL_CONTROL_4                       = Enum (132, _("Control 4 Foot Controller MSB")),
+  MIDI_SIGNAL_CONTROL_5                       = Enum (133, _("Control 5 Portamento Time MSB")),
+  MIDI_SIGNAL_CONTROL_6                       = Enum (134, _("Control 6 Data Entry MSB")),
+  MIDI_SIGNAL_CONTROL_7                       = Enum (135, _("Control 7 Volume MSB")),
+  MIDI_SIGNAL_CONTROL_8                       = Enum (136, _("Control 8 Balance MSB")),
+  MIDI_SIGNAL_CONTROL_9                       = Enum (137, _("control-9")),
+  MIDI_SIGNAL_CONTROL_10                      = Enum (138, _("Control 10 Panorama MSB")),
+  MIDI_SIGNAL_CONTROL_11                      = Enum (139, _("Control 11 Expression MSB")),
+  MIDI_SIGNAL_CONTROL_12                      = Enum (140, _("Control 12 Effect Control 1 MSB")),
+  MIDI_SIGNAL_CONTROL_13                      = Enum (141, _("Control 13 Effect Control 2 MSB")),
+  MIDI_SIGNAL_CONTROL_14                      = Enum (142, _("control-14")),
+  MIDI_SIGNAL_CONTROL_15                      = Enum (143, _("control-15")),
+  MIDI_SIGNAL_CONTROL_16                      = Enum (144, _("Control 16 General Purpose Controller 1 MSB")),
+  MIDI_SIGNAL_CONTROL_17                      = Enum (145, _("Control 17 General Purpose Controller 2 MSB")),
+  MIDI_SIGNAL_CONTROL_18                      = Enum (146, _("Control 18 General Purpose Controller 3 MSB")),
+  MIDI_SIGNAL_CONTROL_19                      = Enum (147, _("Control 19 General Purpose Controller 4 MSB")),
+  MIDI_SIGNAL_CONTROL_20                      = Enum (148, _("control-20")),
+  MIDI_SIGNAL_CONTROL_21                      = Enum (149, _("control-21")),
+  MIDI_SIGNAL_CONTROL_22                      = Enum (150, _("control-22")),
+  MIDI_SIGNAL_CONTROL_23                      = Enum (151, _("control-23")),
+  MIDI_SIGNAL_CONTROL_24                      = Enum (152, _("control-24")),
+  MIDI_SIGNAL_CONTROL_25                      = Enum (153, _("control-25")),
+  MIDI_SIGNAL_CONTROL_26                      = Enum (154, _("control-26")),
+  MIDI_SIGNAL_CONTROL_27                      = Enum (155, _("control-27")),
+  MIDI_SIGNAL_CONTROL_28                      = Enum (156, _("control-28")),
+  MIDI_SIGNAL_CONTROL_29                      = Enum (157, _("control-29")),
+  MIDI_SIGNAL_CONTROL_30                      = Enum (158, _("control-30")),
+  MIDI_SIGNAL_CONTROL_31                      = Enum (159, _("control-31")),
   /* 7bit, literal channel controls, LSB values */
-  MIDI_SIGNAL_CONTROL_32                      = (160, _("Control 32 Bank Select LSB")),
-  MIDI_SIGNAL_CONTROL_33                      = (161, _("Control 33 Modulation Depth LSB")),
-  MIDI_SIGNAL_CONTROL_34                      = (162, _("Control 34 Breath Control LSB")),
-  MIDI_SIGNAL_CONTROL_35                      = (163, _("control-35")),
-  MIDI_SIGNAL_CONTROL_36                      = (164, _("Control 36 Foot Controller LSB")),
-  MIDI_SIGNAL_CONTROL_37                      = (165, _("Control 37 Portamento Time LSB")),
-  MIDI_SIGNAL_CONTROL_38                      = (166, _("Control 38 Data Entry LSB")),
-  MIDI_SIGNAL_CONTROL_39                      = (167, _("Control 39 Volume LSB")),
-  MIDI_SIGNAL_CONTROL_40                      = (168, _("Control 40 Balance LSB")),
-  MIDI_SIGNAL_CONTROL_41                      = (169, _("control-41")),
-  MIDI_SIGNAL_CONTROL_42                      = (170, _("Control 42 Panorama LSB")),
-  MIDI_SIGNAL_CONTROL_43                      = (171, _("Control 43 Expression LSB")),
-  MIDI_SIGNAL_CONTROL_44                      = (172, _("Control 44 Effect Control 1 LSB")),
-  MIDI_SIGNAL_CONTROL_45                      = (173, _("Control 45 Effect Control 2 LSB")),
-  MIDI_SIGNAL_CONTROL_46                      = (174, _("control-46")),
-  MIDI_SIGNAL_CONTROL_47                      = (175, _("control-47")),
-  MIDI_SIGNAL_CONTROL_48                      = (176, _("Control 48 General Purpose Controller 1 LSB")),
-  MIDI_SIGNAL_CONTROL_49                      = (177, _("Control 49 General Purpose Controller 2 LSB")),
-  MIDI_SIGNAL_CONTROL_50                      = (178, _("Control 50 General Purpose Controller 3 LSB")),
-  MIDI_SIGNAL_CONTROL_51                      = (179, _("Control 51 General Purpose Controller 4 LSB")),
-  MIDI_SIGNAL_CONTROL_52                      = (180, _("control-52")),
-  MIDI_SIGNAL_CONTROL_53                      = (181, _("control-53")),
-  MIDI_SIGNAL_CONTROL_54                      = (182, _("control-54")),
-  MIDI_SIGNAL_CONTROL_55                      = (183, _("control-55")),
-  MIDI_SIGNAL_CONTROL_56                      = (184, _("control-56")),
-  MIDI_SIGNAL_CONTROL_57                      = (185, _("control-57")),
-  MIDI_SIGNAL_CONTROL_58                      = (186, _("control-58")),
-  MIDI_SIGNAL_CONTROL_59                      = (187, _("control-59")),
-  MIDI_SIGNAL_CONTROL_60                      = (188, _("control-60")),
-  MIDI_SIGNAL_CONTROL_61                      = (189, _("control-61")),
-  MIDI_SIGNAL_CONTROL_62                      = (190, _("control-62")),
-  MIDI_SIGNAL_CONTROL_63                      = (191, _("control-63")),
+  MIDI_SIGNAL_CONTROL_32                      = Enum (160, _("Control 32 Bank Select LSB")),
+  MIDI_SIGNAL_CONTROL_33                      = Enum (161, _("Control 33 Modulation Depth LSB")),
+  MIDI_SIGNAL_CONTROL_34                      = Enum (162, _("Control 34 Breath Control LSB")),
+  MIDI_SIGNAL_CONTROL_35                      = Enum (163, _("control-35")),
+  MIDI_SIGNAL_CONTROL_36                      = Enum (164, _("Control 36 Foot Controller LSB")),
+  MIDI_SIGNAL_CONTROL_37                      = Enum (165, _("Control 37 Portamento Time LSB")),
+  MIDI_SIGNAL_CONTROL_38                      = Enum (166, _("Control 38 Data Entry LSB")),
+  MIDI_SIGNAL_CONTROL_39                      = Enum (167, _("Control 39 Volume LSB")),
+  MIDI_SIGNAL_CONTROL_40                      = Enum (168, _("Control 40 Balance LSB")),
+  MIDI_SIGNAL_CONTROL_41                      = Enum (169, _("control-41")),
+  MIDI_SIGNAL_CONTROL_42                      = Enum (170, _("Control 42 Panorama LSB")),
+  MIDI_SIGNAL_CONTROL_43                      = Enum (171, _("Control 43 Expression LSB")),
+  MIDI_SIGNAL_CONTROL_44                      = Enum (172, _("Control 44 Effect Control 1 LSB")),
+  MIDI_SIGNAL_CONTROL_45                      = Enum (173, _("Control 45 Effect Control 2 LSB")),
+  MIDI_SIGNAL_CONTROL_46                      = Enum (174, _("control-46")),
+  MIDI_SIGNAL_CONTROL_47                      = Enum (175, _("control-47")),
+  MIDI_SIGNAL_CONTROL_48                      = Enum (176, _("Control 48 General Purpose Controller 1 LSB")),
+  MIDI_SIGNAL_CONTROL_49                      = Enum (177, _("Control 49 General Purpose Controller 2 LSB")),
+  MIDI_SIGNAL_CONTROL_50                      = Enum (178, _("Control 50 General Purpose Controller 3 LSB")),
+  MIDI_SIGNAL_CONTROL_51                      = Enum (179, _("Control 51 General Purpose Controller 4 LSB")),
+  MIDI_SIGNAL_CONTROL_52                      = Enum (180, _("control-52")),
+  MIDI_SIGNAL_CONTROL_53                      = Enum (181, _("control-53")),
+  MIDI_SIGNAL_CONTROL_54                      = Enum (182, _("control-54")),
+  MIDI_SIGNAL_CONTROL_55                      = Enum (183, _("control-55")),
+  MIDI_SIGNAL_CONTROL_56                      = Enum (184, _("control-56")),
+  MIDI_SIGNAL_CONTROL_57                      = Enum (185, _("control-57")),
+  MIDI_SIGNAL_CONTROL_58                      = Enum (186, _("control-58")),
+  MIDI_SIGNAL_CONTROL_59                      = Enum (187, _("control-59")),
+  MIDI_SIGNAL_CONTROL_60                      = Enum (188, _("control-60")),
+  MIDI_SIGNAL_CONTROL_61                      = Enum (189, _("control-61")),
+  MIDI_SIGNAL_CONTROL_62                      = Enum (190, _("control-62")),
+  MIDI_SIGNAL_CONTROL_63                      = Enum (191, _("control-63")),
   /* 7bit, literal channel controls */
-  MIDI_SIGNAL_CONTROL_64                      = (192, _("Control 64 Damper Pedal Switch (Sustain)")),
-  MIDI_SIGNAL_CONTROL_65                      = (193, _("Control 65 Portamento Switch")),
-  MIDI_SIGNAL_CONTROL_66                      = (194, _("Control 66 Sustenuto Switch")),
-  MIDI_SIGNAL_CONTROL_67                      = (195, _("Control 67 Soft Switch")),
-  MIDI_SIGNAL_CONTROL_68                      = (196, _("Control 68 Legato Pedal Switch")),
-  MIDI_SIGNAL_CONTROL_69                      = (197, _("Control 69 Hold Pedal Switch")),
-  MIDI_SIGNAL_CONTROL_70                      = (198, _("Control 70 Sound Variation")),
-  MIDI_SIGNAL_CONTROL_71                      = (199, _("Control 71 Filter Resonance (Timbre)")),
-  MIDI_SIGNAL_CONTROL_72                      = (200, _("Control 72 Sound Release Time")),
-  MIDI_SIGNAL_CONTROL_73                      = (201, _("Control 73 Sound Attack Time")),
-  MIDI_SIGNAL_CONTROL_74                      = (202, _("Control 74 Sound Brightness")),
-  MIDI_SIGNAL_CONTROL_75                      = (203, _("Control 75 Sound Decay Time")),
-  MIDI_SIGNAL_CONTROL_76                      = (204, _("Control 76 Vibrato Rate")),
-  MIDI_SIGNAL_CONTROL_77                      = (205, _("Control 77 Vibrato Depth")),
-  MIDI_SIGNAL_CONTROL_78                      = (206, _("Control 78 Vibrato Delay")),
-  MIDI_SIGNAL_CONTROL_79                      = (207, _("Control 79 Sound Control 10")),
-  MIDI_SIGNAL_CONTROL_80                      = (208, _("Control 80 General Purpose Switch 5")),
-  MIDI_SIGNAL_CONTROL_81                      = (209, _("Control 81 General Purpose Switch 6")),
-  MIDI_SIGNAL_CONTROL_82                      = (210, _("Control 82 General Purpose Switch 7")),
-  MIDI_SIGNAL_CONTROL_83                      = (211, _("Control 83 General Purpose Switch 8")),
-  MIDI_SIGNAL_CONTROL_84                      = (212, _("Control 84 Portamento Control (Note)")),
-  MIDI_SIGNAL_CONTROL_85                      = (213, _("control-85")),
-  MIDI_SIGNAL_CONTROL_86                      = (214, _("control-86")),
-  MIDI_SIGNAL_CONTROL_87                      = (215, _("control-87")),
-  MIDI_SIGNAL_CONTROL_88                      = (216, _("control-88")),
-  MIDI_SIGNAL_CONTROL_89                      = (217, _("control-89")),
-  MIDI_SIGNAL_CONTROL_90                      = (218, _("control-90")),
-  MIDI_SIGNAL_CONTROL_91                      = (219, _("Control 91 Reverb Depth")),
-  MIDI_SIGNAL_CONTROL_92                      = (220, _("Control 92 Tremolo Depth")),
-  MIDI_SIGNAL_CONTROL_93                      = (221, _("Control 93 Chorus Depth")),
-  MIDI_SIGNAL_CONTROL_94                      = (222, _("Control 93 Detune Depth")),
-  MIDI_SIGNAL_CONTROL_95                      = (223, _("Control 95 Phase Depth")),
-  MIDI_SIGNAL_CONTROL_96                      = (224, _("Control 96 Data Increment Trigger")),
-  MIDI_SIGNAL_CONTROL_97                      = (225, _("Control 97 Data Decrement Trigger")),
-  MIDI_SIGNAL_CONTROL_98                      = (226, _("Control 98 Non-Registered Parameter MSB")),
-  MIDI_SIGNAL_CONTROL_99                      = (227, _("Control 99 Non-Registered Parameter LSB")),
-  MIDI_SIGNAL_CONTROL_100                     = (228, _("Control 100 Registered Parameter MSB")),
-  MIDI_SIGNAL_CONTROL_101                     = (229, _("Control 101 Registered Parameter LSB")),
-  MIDI_SIGNAL_CONTROL_102                     = (230, _("control-102")),
-  MIDI_SIGNAL_CONTROL_103                     = (231, _("control-103")),
-  MIDI_SIGNAL_CONTROL_104                     = (232, _("control-104")),
-  MIDI_SIGNAL_CONTROL_105                     = (233, _("control-105")),
-  MIDI_SIGNAL_CONTROL_106                     = (234, _("control-106")),
-  MIDI_SIGNAL_CONTROL_107                     = (235, _("control-107")),
-  MIDI_SIGNAL_CONTROL_108                     = (236, _("control-108")),
-  MIDI_SIGNAL_CONTROL_109                     = (237, _("control-109")),
-  MIDI_SIGNAL_CONTROL_110                     = (238, _("control-110")),
-  MIDI_SIGNAL_CONTROL_111                     = (239, _("control-111")),
-  MIDI_SIGNAL_CONTROL_112                     = (240, _("control-112")),
-  MIDI_SIGNAL_CONTROL_113                     = (241, _("control-113")),
-  MIDI_SIGNAL_CONTROL_114                     = (242, _("control-114")),
-  MIDI_SIGNAL_CONTROL_115                     = (243, _("control-115")),
-  MIDI_SIGNAL_CONTROL_116                     = (244, _("control-116")),
-  MIDI_SIGNAL_CONTROL_117                     = (245, _("control-117")),
-  MIDI_SIGNAL_CONTROL_118                     = (246, _("control-118")),
-  MIDI_SIGNAL_CONTROL_119                     = (247, _("control-119")),
-  MIDI_SIGNAL_CONTROL_120                     = (248, _("Control 120 All Sound Off ITrigger")),
-  MIDI_SIGNAL_CONTROL_121                     = (249, _("Control 121 All Controllers Off ITrigger")),
-  MIDI_SIGNAL_CONTROL_122                     = (250, _("Control 122 Local Control Switch")),
-  MIDI_SIGNAL_CONTROL_123                     = (251, _("Control 123 All Notes Off ITrigger")),
-  MIDI_SIGNAL_CONTROL_124                     = (252, _("Control 124 Omni Mode Off ITrigger")),
-  MIDI_SIGNAL_CONTROL_125                     = (253, _("Control 125 Omni Mode On ITrigger")),
-  MIDI_SIGNAL_CONTROL_126                     = (254, _("Control 126 Monophonic Voices Mode")),
-  MIDI_SIGNAL_CONTROL_127                     = (255, _("Control 127 Polyphonic Mode On ITrigger")),
+  MIDI_SIGNAL_CONTROL_64                      = Enum (192, _("Control 64 Damper Pedal Switch (Sustain)")),
+  MIDI_SIGNAL_CONTROL_65                      = Enum (193, _("Control 65 Portamento Switch")),
+  MIDI_SIGNAL_CONTROL_66                      = Enum (194, _("Control 66 Sustenuto Switch")),
+  MIDI_SIGNAL_CONTROL_67                      = Enum (195, _("Control 67 Soft Switch")),
+  MIDI_SIGNAL_CONTROL_68                      = Enum (196, _("Control 68 Legato Pedal Switch")),
+  MIDI_SIGNAL_CONTROL_69                      = Enum (197, _("Control 69 Hold Pedal Switch")),
+  MIDI_SIGNAL_CONTROL_70                      = Enum (198, _("Control 70 Sound Variation")),
+  MIDI_SIGNAL_CONTROL_71                      = Enum (199, _("Control 71 Filter Resonance (Timbre)")),
+  MIDI_SIGNAL_CONTROL_72                      = Enum (200, _("Control 72 Sound Release Time")),
+  MIDI_SIGNAL_CONTROL_73                      = Enum (201, _("Control 73 Sound Attack Time")),
+  MIDI_SIGNAL_CONTROL_74                      = Enum (202, _("Control 74 Sound Brightness")),
+  MIDI_SIGNAL_CONTROL_75                      = Enum (203, _("Control 75 Sound Decay Time")),
+  MIDI_SIGNAL_CONTROL_76                      = Enum (204, _("Control 76 Vibrato Rate")),
+  MIDI_SIGNAL_CONTROL_77                      = Enum (205, _("Control 77 Vibrato Depth")),
+  MIDI_SIGNAL_CONTROL_78                      = Enum (206, _("Control 78 Vibrato Delay")),
+  MIDI_SIGNAL_CONTROL_79                      = Enum (207, _("Control 79 Sound Control 10")),
+  MIDI_SIGNAL_CONTROL_80                      = Enum (208, _("Control 80 General Purpose Switch 5")),
+  MIDI_SIGNAL_CONTROL_81                      = Enum (209, _("Control 81 General Purpose Switch 6")),
+  MIDI_SIGNAL_CONTROL_82                      = Enum (210, _("Control 82 General Purpose Switch 7")),
+  MIDI_SIGNAL_CONTROL_83                      = Enum (211, _("Control 83 General Purpose Switch 8")),
+  MIDI_SIGNAL_CONTROL_84                      = Enum (212, _("Control 84 Portamento Control (Note)")),
+  MIDI_SIGNAL_CONTROL_85                      = Enum (213, _("control-85")),
+  MIDI_SIGNAL_CONTROL_86                      = Enum (214, _("control-86")),
+  MIDI_SIGNAL_CONTROL_87                      = Enum (215, _("control-87")),
+  MIDI_SIGNAL_CONTROL_88                      = Enum (216, _("control-88")),
+  MIDI_SIGNAL_CONTROL_89                      = Enum (217, _("control-89")),
+  MIDI_SIGNAL_CONTROL_90                      = Enum (218, _("control-90")),
+  MIDI_SIGNAL_CONTROL_91                      = Enum (219, _("Control 91 Reverb Depth")),
+  MIDI_SIGNAL_CONTROL_92                      = Enum (220, _("Control 92 Tremolo Depth")),
+  MIDI_SIGNAL_CONTROL_93                      = Enum (221, _("Control 93 Chorus Depth")),
+  MIDI_SIGNAL_CONTROL_94                      = Enum (222, _("Control 93 Detune Depth")),
+  MIDI_SIGNAL_CONTROL_95                      = Enum (223, _("Control 95 Phase Depth")),
+  MIDI_SIGNAL_CONTROL_96                      = Enum (224, _("Control 96 Data Increment Trigger")),
+  MIDI_SIGNAL_CONTROL_97                      = Enum (225, _("Control 97 Data Decrement Trigger")),
+  MIDI_SIGNAL_CONTROL_98                      = Enum (226, _("Control 98 Non-Registered Parameter MSB")),
+  MIDI_SIGNAL_CONTROL_99                      = Enum (227, _("Control 99 Non-Registered Parameter LSB")),
+  MIDI_SIGNAL_CONTROL_100                     = Enum (228, _("Control 100 Registered Parameter MSB")),
+  MIDI_SIGNAL_CONTROL_101                     = Enum (229, _("Control 101 Registered Parameter LSB")),
+  MIDI_SIGNAL_CONTROL_102                     = Enum (230, _("control-102")),
+  MIDI_SIGNAL_CONTROL_103                     = Enum (231, _("control-103")),
+  MIDI_SIGNAL_CONTROL_104                     = Enum (232, _("control-104")),
+  MIDI_SIGNAL_CONTROL_105                     = Enum (233, _("control-105")),
+  MIDI_SIGNAL_CONTROL_106                     = Enum (234, _("control-106")),
+  MIDI_SIGNAL_CONTROL_107                     = Enum (235, _("control-107")),
+  MIDI_SIGNAL_CONTROL_108                     = Enum (236, _("control-108")),
+  MIDI_SIGNAL_CONTROL_109                     = Enum (237, _("control-109")),
+  MIDI_SIGNAL_CONTROL_110                     = Enum (238, _("control-110")),
+  MIDI_SIGNAL_CONTROL_111                     = Enum (239, _("control-111")),
+  MIDI_SIGNAL_CONTROL_112                     = Enum (240, _("control-112")),
+  MIDI_SIGNAL_CONTROL_113                     = Enum (241, _("control-113")),
+  MIDI_SIGNAL_CONTROL_114                     = Enum (242, _("control-114")),
+  MIDI_SIGNAL_CONTROL_115                     = Enum (243, _("control-115")),
+  MIDI_SIGNAL_CONTROL_116                     = Enum (244, _("control-116")),
+  MIDI_SIGNAL_CONTROL_117                     = Enum (245, _("control-117")),
+  MIDI_SIGNAL_CONTROL_118                     = Enum (246, _("control-118")),
+  MIDI_SIGNAL_CONTROL_119                     = Enum (247, _("control-119")),
+  MIDI_SIGNAL_CONTROL_120                     = Enum (248, _("Control 120 All Sound Off ITrigger")),
+  MIDI_SIGNAL_CONTROL_121                     = Enum (249, _("Control 121 All Controllers Off ITrigger")),
+  MIDI_SIGNAL_CONTROL_122                     = Enum (250, _("Control 122 Local Control Switch")),
+  MIDI_SIGNAL_CONTROL_123                     = Enum (251, _("Control 123 All Notes Off ITrigger")),
+  MIDI_SIGNAL_CONTROL_124                     = Enum (252, _("Control 124 Omni Mode Off ITrigger")),
+  MIDI_SIGNAL_CONTROL_125                     = Enum (253, _("Control 125 Omni Mode On ITrigger")),
+  MIDI_SIGNAL_CONTROL_126                     = Enum (254, _("Control 126 Monophonic Voices Mode")),
+  MIDI_SIGNAL_CONTROL_127                     = Enum (255, _("Control 127 Polyphonic Mode On ITrigger")),
 };
 enum MidiControlType {
   /* special cased signals */
-  MIDI_CONTROL_NONE                           = (Neutral, _("None")),
+  MIDI_CONTROL_NONE                            = Enum (0, _("None")),
   /* 14bit, continuous controls */
-  MIDI_CONTROL_CONTINUOUS_0                    = (64,  _("Bank Select"), _("Continuous MIDI Control #1 - Bank Select")),
-  MIDI_CONTROL_CONTINUOUS_1                    = (65,  _("Modulation Depth")),
-  MIDI_CONTROL_CONTINUOUS_2                    = (66,  _("Breath Control")),
-  MIDI_CONTROL_CONTINUOUS_3                    = (67,  _("Continuous 3")),
-  MIDI_CONTROL_CONTINUOUS_4                    = (68,  _("Foot Controller")),
-  MIDI_CONTROL_CONTINUOUS_5                    = (69,  _("Portamento Time")),
-  MIDI_CONTROL_CONTINUOUS_6                    = (70,  _("Data Entry")),
-  MIDI_CONTROL_CONTINUOUS_7                    = (71,  _("Volume")),
-  MIDI_CONTROL_CONTINUOUS_8                    = (72,  _("Balance")),
-  MIDI_CONTROL_CONTINUOUS_9                    = (73,  _("Continuous 9")),
-  MIDI_CONTROL_CONTINUOUS_10                   = (74,  _("Panorama")),
-  MIDI_CONTROL_CONTINUOUS_11                   = (75,  _("Expression")),
-  MIDI_CONTROL_CONTINUOUS_12                   = (76,  _("Effect Control 1")),
-  MIDI_CONTROL_CONTINUOUS_13                   = (77,  _("Effect Control 2")),
-  MIDI_CONTROL_CONTINUOUS_14                   = (78,  _("Continuous 14")),
-  MIDI_CONTROL_CONTINUOUS_15                   = (79,  _("Continuous 15")),
-  MIDI_CONTROL_CONTINUOUS_16                   = (80,  _("General Purpose Controller 1")),
-  MIDI_CONTROL_CONTINUOUS_17                   = (81,  _("General Purpose Controller 2")),
-  MIDI_CONTROL_CONTINUOUS_18                   = (82,  _("General Purpose Controller 3")),
-  MIDI_CONTROL_CONTINUOUS_19                   = (83,  _("General Purpose Controller 4")),
-  MIDI_CONTROL_CONTINUOUS_20                   = (84,  _("Continuous 20")),
-  MIDI_CONTROL_CONTINUOUS_21                   = (85,  _("Continuous 21")),
-  MIDI_CONTROL_CONTINUOUS_22                   = (86,  _("Continuous 22")),
-  MIDI_CONTROL_CONTINUOUS_23                   = (87,  _("Continuous 23")),
-  MIDI_CONTROL_CONTINUOUS_24                   = (88,  _("Continuous 24")),
-  MIDI_CONTROL_CONTINUOUS_25                   = (89,  _("Continuous 25")),
-  MIDI_CONTROL_CONTINUOUS_26                   = (90,  _("Continuous 26")),
-  MIDI_CONTROL_CONTINUOUS_27                   = (91,  _("Continuous 27")),
-  MIDI_CONTROL_CONTINUOUS_28                   = (92,  _("Continuous 28")),
-  MIDI_CONTROL_CONTINUOUS_29                   = (93,  _("Continuous 29")),
-  MIDI_CONTROL_CONTINUOUS_30                   = (94,  _("Continuous 30")),
-  MIDI_CONTROL_CONTINUOUS_31                   = (95,  _("Continuous 31")),
+  MIDI_CONTROL_CONTINUOUS_0                    = Enum (64,  _("Bank Select"), _("Continuous MIDI Control #1 - Bank Select")),
+  MIDI_CONTROL_CONTINUOUS_1                    = Enum (65,  _("Modulation Depth")),
+  MIDI_CONTROL_CONTINUOUS_2                    = Enum (66,  _("Breath Control")),
+  MIDI_CONTROL_CONTINUOUS_3                    = Enum (67,  _("Continuous 3")),
+  MIDI_CONTROL_CONTINUOUS_4                    = Enum (68,  _("Foot Controller")),
+  MIDI_CONTROL_CONTINUOUS_5                    = Enum (69,  _("Portamento Time")),
+  MIDI_CONTROL_CONTINUOUS_6                    = Enum (70,  _("Data Entry")),
+  MIDI_CONTROL_CONTINUOUS_7                    = Enum (71,  _("Volume")),
+  MIDI_CONTROL_CONTINUOUS_8                    = Enum (72,  _("Balance")),
+  MIDI_CONTROL_CONTINUOUS_9                    = Enum (73,  _("Continuous 9")),
+  MIDI_CONTROL_CONTINUOUS_10                   = Enum (74,  _("Panorama")),
+  MIDI_CONTROL_CONTINUOUS_11                   = Enum (75,  _("Expression")),
+  MIDI_CONTROL_CONTINUOUS_12                   = Enum (76,  _("Effect Control 1")),
+  MIDI_CONTROL_CONTINUOUS_13                   = Enum (77,  _("Effect Control 2")),
+  MIDI_CONTROL_CONTINUOUS_14                   = Enum (78,  _("Continuous 14")),
+  MIDI_CONTROL_CONTINUOUS_15                   = Enum (79,  _("Continuous 15")),
+  MIDI_CONTROL_CONTINUOUS_16                   = Enum (80,  _("General Purpose Controller 1")),
+  MIDI_CONTROL_CONTINUOUS_17                   = Enum (81,  _("General Purpose Controller 2")),
+  MIDI_CONTROL_CONTINUOUS_18                   = Enum (82,  _("General Purpose Controller 3")),
+  MIDI_CONTROL_CONTINUOUS_19                   = Enum (83,  _("General Purpose Controller 4")),
+  MIDI_CONTROL_CONTINUOUS_20                   = Enum (84,  _("Continuous 20")),
+  MIDI_CONTROL_CONTINUOUS_21                   = Enum (85,  _("Continuous 21")),
+  MIDI_CONTROL_CONTINUOUS_22                   = Enum (86,  _("Continuous 22")),
+  MIDI_CONTROL_CONTINUOUS_23                   = Enum (87,  _("Continuous 23")),
+  MIDI_CONTROL_CONTINUOUS_24                   = Enum (88,  _("Continuous 24")),
+  MIDI_CONTROL_CONTINUOUS_25                   = Enum (89,  _("Continuous 25")),
+  MIDI_CONTROL_CONTINUOUS_26                   = Enum (90,  _("Continuous 26")),
+  MIDI_CONTROL_CONTINUOUS_27                   = Enum (91,  _("Continuous 27")),
+  MIDI_CONTROL_CONTINUOUS_28                   = Enum (92,  _("Continuous 28")),
+  MIDI_CONTROL_CONTINUOUS_29                   = Enum (93,  _("Continuous 29")),
+  MIDI_CONTROL_CONTINUOUS_30                   = Enum (94,  _("Continuous 30")),
+  MIDI_CONTROL_CONTINUOUS_31                   = Enum (95,  _("Continuous 31")),
   /* 7bit, literal channel controls, MSB values */
-  MIDI_CONTROL_0                               = (128, _("Control 0 Bank Select MSB")),
-  MIDI_CONTROL_1                               = (129, _("Control 1 Modulation Depth MSB")),
-  MIDI_CONTROL_2                               = (130, _("Control 2 Breath Control MSB")),
-  MIDI_CONTROL_3                               = (131, _("control-3")),
-  MIDI_CONTROL_4                               = (132, _("Control 4 Foot Controller MSB")),
-  MIDI_CONTROL_5                               = (133, _("Control 5 Portamento Time MSB")),
-  MIDI_CONTROL_6                               = (134, _("Control 6 Data Entry MSB")),
-  MIDI_CONTROL_7                               = (135, _("Control 7 Volume MSB")),
-  MIDI_CONTROL_8                               = (136, _("Control 8 Balance MSB")),
-  MIDI_CONTROL_9                               = (137, _("control-9")),
-  MIDI_CONTROL_10                              = (138, _("Control 10 Panorama MSB")),
-  MIDI_CONTROL_11                              = (139, _("Control 11 Expression MSB")),
-  MIDI_CONTROL_12                              = (140, _("Control 12 Effect Control 1 MSB")),
-  MIDI_CONTROL_13                              = (141, _("Control 13 Effect Control 2 MSB")),
-  MIDI_CONTROL_14                              = (142, _("control-14")),
-  MIDI_CONTROL_15                              = (143, _("control-15")),
-  MIDI_CONTROL_16                              = (144, _("Control 16 General Purpose Controller 1 MSB")),
-  MIDI_CONTROL_17                              = (145, _("Control 17 General Purpose Controller 2 MSB")),
-  MIDI_CONTROL_18                              = (146, _("Control 18 General Purpose Controller 3 MSB")),
-  MIDI_CONTROL_19                              = (147, _("Control 19 General Purpose Controller 4 MSB")),
-  MIDI_CONTROL_20                              = (148, _("control-20")),
-  MIDI_CONTROL_21                              = (149, _("control-21")),
-  MIDI_CONTROL_22                              = (150, _("control-22")),
-  MIDI_CONTROL_23                              = (151, _("control-23")),
-  MIDI_CONTROL_24                              = (152, _("control-24")),
-  MIDI_CONTROL_25                              = (153, _("control-25")),
-  MIDI_CONTROL_26                              = (154, _("control-26")),
-  MIDI_CONTROL_27                              = (155, _("control-27")),
-  MIDI_CONTROL_28                              = (156, _("control-28")),
-  MIDI_CONTROL_29                              = (157, _("control-29")),
-  MIDI_CONTROL_30                              = (158, _("control-30")),
-  MIDI_CONTROL_31                              = (159, _("control-31")),
+  MIDI_CONTROL_0                               = Enum (128, _("Control 0 Bank Select MSB")),
+  MIDI_CONTROL_1                               = Enum (129, _("Control 1 Modulation Depth MSB")),
+  MIDI_CONTROL_2                               = Enum (130, _("Control 2 Breath Control MSB")),
+  MIDI_CONTROL_3                               = Enum (131, _("control-3")),
+  MIDI_CONTROL_4                               = Enum (132, _("Control 4 Foot Controller MSB")),
+  MIDI_CONTROL_5                               = Enum (133, _("Control 5 Portamento Time MSB")),
+  MIDI_CONTROL_6                               = Enum (134, _("Control 6 Data Entry MSB")),
+  MIDI_CONTROL_7                               = Enum (135, _("Control 7 Volume MSB")),
+  MIDI_CONTROL_8                               = Enum (136, _("Control 8 Balance MSB")),
+  MIDI_CONTROL_9                               = Enum (137, _("control-9")),
+  MIDI_CONTROL_10                              = Enum (138, _("Control 10 Panorama MSB")),
+  MIDI_CONTROL_11                              = Enum (139, _("Control 11 Expression MSB")),
+  MIDI_CONTROL_12                              = Enum (140, _("Control 12 Effect Control 1 MSB")),
+  MIDI_CONTROL_13                              = Enum (141, _("Control 13 Effect Control 2 MSB")),
+  MIDI_CONTROL_14                              = Enum (142, _("control-14")),
+  MIDI_CONTROL_15                              = Enum (143, _("control-15")),
+  MIDI_CONTROL_16                              = Enum (144, _("Control 16 General Purpose Controller 1 MSB")),
+  MIDI_CONTROL_17                              = Enum (145, _("Control 17 General Purpose Controller 2 MSB")),
+  MIDI_CONTROL_18                              = Enum (146, _("Control 18 General Purpose Controller 3 MSB")),
+  MIDI_CONTROL_19                              = Enum (147, _("Control 19 General Purpose Controller 4 MSB")),
+  MIDI_CONTROL_20                              = Enum (148, _("control-20")),
+  MIDI_CONTROL_21                              = Enum (149, _("control-21")),
+  MIDI_CONTROL_22                              = Enum (150, _("control-22")),
+  MIDI_CONTROL_23                              = Enum (151, _("control-23")),
+  MIDI_CONTROL_24                              = Enum (152, _("control-24")),
+  MIDI_CONTROL_25                              = Enum (153, _("control-25")),
+  MIDI_CONTROL_26                              = Enum (154, _("control-26")),
+  MIDI_CONTROL_27                              = Enum (155, _("control-27")),
+  MIDI_CONTROL_28                              = Enum (156, _("control-28")),
+  MIDI_CONTROL_29                              = Enum (157, _("control-29")),
+  MIDI_CONTROL_30                              = Enum (158, _("control-30")),
+  MIDI_CONTROL_31                              = Enum (159, _("control-31")),
   /* 7bit, literal channel controls, LSB values */
-  MIDI_CONTROL_32                              = (160, _("Control 32 Bank Select LSB")),
-  MIDI_CONTROL_33                              = (161, _("Control 33 Modulation Depth LSB")),
-  MIDI_CONTROL_34                              = (162, _("Control 34 Breath Control LSB")),
-  MIDI_CONTROL_35                              = (163, _("control-35")),
-  MIDI_CONTROL_36                              = (164, _("Control 36 Foot Controller LSB")),
-  MIDI_CONTROL_37                              = (165, _("Control 37 Portamento Time LSB")),
-  MIDI_CONTROL_38                              = (166, _("Control 38 Data Entry LSB")),
-  MIDI_CONTROL_39                              = (167, _("Control 39 Volume LSB")),
-  MIDI_CONTROL_40                              = (168, _("Control 40 Balance LSB")),
-  MIDI_CONTROL_41                              = (169, _("control-41")),
-  MIDI_CONTROL_42                              = (170, _("Control 42 Panorama LSB")),
-  MIDI_CONTROL_43                              = (171, _("Control 43 Expression LSB")),
-  MIDI_CONTROL_44                              = (172, _("Control 44 Effect Control 1 LSB")),
-  MIDI_CONTROL_45                              = (173, _("Control 45 Effect Control 2 LSB")),
-  MIDI_CONTROL_46                              = (174, _("control-46")),
-  MIDI_CONTROL_47                              = (175, _("control-47")),
-  MIDI_CONTROL_48                              = (176, _("Control 48 General Purpose Controller 1 LSB")),
-  MIDI_CONTROL_49                              = (177, _("Control 49 General Purpose Controller 2 LSB")),
-  MIDI_CONTROL_50                              = (178, _("Control 50 General Purpose Controller 3 LSB")),
-  MIDI_CONTROL_51                              = (179, _("Control 51 General Purpose Controller 4 LSB")),
-  MIDI_CONTROL_52                              = (180, _("control-52")),
-  MIDI_CONTROL_53                              = (181, _("control-53")),
-  MIDI_CONTROL_54                              = (182, _("control-54")),
-  MIDI_CONTROL_55                              = (183, _("control-55")),
-  MIDI_CONTROL_56                              = (184, _("control-56")),
-  MIDI_CONTROL_57                              = (185, _("control-57")),
-  MIDI_CONTROL_58                              = (186, _("control-58")),
-  MIDI_CONTROL_59                              = (187, _("control-59")),
-  MIDI_CONTROL_60                              = (188, _("control-60")),
-  MIDI_CONTROL_61                              = (189, _("control-61")),
-  MIDI_CONTROL_62                              = (190, _("control-62")),
-  MIDI_CONTROL_63                              = (191, _("control-63")),
+  MIDI_CONTROL_32                              = Enum (160, _("Control 32 Bank Select LSB")),
+  MIDI_CONTROL_33                              = Enum (161, _("Control 33 Modulation Depth LSB")),
+  MIDI_CONTROL_34                              = Enum (162, _("Control 34 Breath Control LSB")),
+  MIDI_CONTROL_35                              = Enum (163, _("control-35")),
+  MIDI_CONTROL_36                              = Enum (164, _("Control 36 Foot Controller LSB")),
+  MIDI_CONTROL_37                              = Enum (165, _("Control 37 Portamento Time LSB")),
+  MIDI_CONTROL_38                              = Enum (166, _("Control 38 Data Entry LSB")),
+  MIDI_CONTROL_39                              = Enum (167, _("Control 39 Volume LSB")),
+  MIDI_CONTROL_40                              = Enum (168, _("Control 40 Balance LSB")),
+  MIDI_CONTROL_41                              = Enum (169, _("control-41")),
+  MIDI_CONTROL_42                              = Enum (170, _("Control 42 Panorama LSB")),
+  MIDI_CONTROL_43                              = Enum (171, _("Control 43 Expression LSB")),
+  MIDI_CONTROL_44                              = Enum (172, _("Control 44 Effect Control 1 LSB")),
+  MIDI_CONTROL_45                              = Enum (173, _("Control 45 Effect Control 2 LSB")),
+  MIDI_CONTROL_46                              = Enum (174, _("control-46")),
+  MIDI_CONTROL_47                              = Enum (175, _("control-47")),
+  MIDI_CONTROL_48                              = Enum (176, _("Control 48 General Purpose Controller 1 LSB")),
+  MIDI_CONTROL_49                              = Enum (177, _("Control 49 General Purpose Controller 2 LSB")),
+  MIDI_CONTROL_50                              = Enum (178, _("Control 50 General Purpose Controller 3 LSB")),
+  MIDI_CONTROL_51                              = Enum (179, _("Control 51 General Purpose Controller 4 LSB")),
+  MIDI_CONTROL_52                              = Enum (180, _("control-52")),
+  MIDI_CONTROL_53                              = Enum (181, _("control-53")),
+  MIDI_CONTROL_54                              = Enum (182, _("control-54")),
+  MIDI_CONTROL_55                              = Enum (183, _("control-55")),
+  MIDI_CONTROL_56                              = Enum (184, _("control-56")),
+  MIDI_CONTROL_57                              = Enum (185, _("control-57")),
+  MIDI_CONTROL_58                              = Enum (186, _("control-58")),
+  MIDI_CONTROL_59                              = Enum (187, _("control-59")),
+  MIDI_CONTROL_60                              = Enum (188, _("control-60")),
+  MIDI_CONTROL_61                              = Enum (189, _("control-61")),
+  MIDI_CONTROL_62                              = Enum (190, _("control-62")),
+  MIDI_CONTROL_63                              = Enum (191, _("control-63")),
   /* 7bit, literal channel controls */
-  MIDI_CONTROL_64                              = (192, _("Control 64 Damper Pedal Switch (Sustain)")),
-  MIDI_CONTROL_65                              = (193, _("Control 65 Portamento Switch")),
-  MIDI_CONTROL_66                              = (194, _("Control 66 Sustenuto Switch")),
-  MIDI_CONTROL_67                              = (195, _("Control 67 Soft Switch")),
-  MIDI_CONTROL_68                              = (196, _("Control 68 Legato Pedal Switch")),
-  MIDI_CONTROL_69                              = (197, _("Control 69 Hold Pedal Switch")),
-  MIDI_CONTROL_70                              = (198, _("Control 70 Sound Variation")),
-  MIDI_CONTROL_71                              = (199, _("Control 71 Filter Resonance (Timbre)")),
-  MIDI_CONTROL_72                              = (200, _("Control 72 Sound Release Time")),
-  MIDI_CONTROL_73                              = (201, _("Control 73 Sound Attack Time")),
-  MIDI_CONTROL_74                              = (202, _("Control 74 Sound Brightness")),
-  MIDI_CONTROL_75                              = (203, _("Control 75 Sound Decay Time")),
-  MIDI_CONTROL_76                              = (204, _("Control 76 Vibrato Rate")),
-  MIDI_CONTROL_77                              = (205, _("Control 77 Vibrato Depth")),
-  MIDI_CONTROL_78                              = (206, _("Control 78 Vibrato Delay")),
-  MIDI_CONTROL_79                              = (207, _("Control 79 Sound Control 10")),
-  MIDI_CONTROL_80                              = (208, _("Control 80 General Purpose Switch 5")),
-  MIDI_CONTROL_81                              = (209, _("Control 81 General Purpose Switch 6")),
-  MIDI_CONTROL_82                              = (210, _("Control 82 General Purpose Switch 7")),
-  MIDI_CONTROL_83                              = (211, _("Control 83 General Purpose Switch 8")),
-  MIDI_CONTROL_84                              = (212, _("Control 84 Portamento Control (Note)")),
-  MIDI_CONTROL_85                              = (213, _("control-85")),
-  MIDI_CONTROL_86                              = (214, _("control-86")),
-  MIDI_CONTROL_87                              = (215, _("control-87")),
-  MIDI_CONTROL_88                              = (216, _("control-88")),
-  MIDI_CONTROL_89                              = (217, _("control-89")),
-  MIDI_CONTROL_90                              = (218, _("control-90")),
-  MIDI_CONTROL_91                              = (219, _("Control 91 Reverb Depth")),
-  MIDI_CONTROL_92                              = (220, _("Control 92 Tremolo Depth")),
-  MIDI_CONTROL_93                              = (221, _("Control 93 Chorus Depth")),
-  MIDI_CONTROL_94                              = (222, _("Control 93 Detune Depth")),
-  MIDI_CONTROL_95                              = (223, _("Control 95 Phase Depth")),
-  MIDI_CONTROL_96                              = (224, _("Control 96 Data Increment Trigger")),
-  MIDI_CONTROL_97                              = (225, _("Control 97 Data Decrement Trigger")),
-  MIDI_CONTROL_98                              = (226, _("Control 98 Non-Registered Parameter MSB")),
-  MIDI_CONTROL_99                              = (227, _("Control 99 Non-Registered Parameter LSB")),
-  MIDI_CONTROL_100                             = (228, _("Control 100 Registered Parameter MSB")),
-  MIDI_CONTROL_101                             = (229, _("Control 101 Registered Parameter LSB")),
-  MIDI_CONTROL_102                             = (230, _("control-102")),
-  MIDI_CONTROL_103                             = (231, _("control-103")),
-  MIDI_CONTROL_104                             = (232, _("control-104")),
-  MIDI_CONTROL_105                             = (233, _("control-105")),
-  MIDI_CONTROL_106                             = (234, _("control-106")),
-  MIDI_CONTROL_107                             = (235, _("control-107")),
-  MIDI_CONTROL_108                             = (236, _("control-108")),
-  MIDI_CONTROL_109                             = (237, _("control-109")),
-  MIDI_CONTROL_110                             = (238, _("control-110")),
-  MIDI_CONTROL_111                             = (239, _("control-111")),
-  MIDI_CONTROL_112                             = (240, _("control-112")),
-  MIDI_CONTROL_113                             = (241, _("control-113")),
-  MIDI_CONTROL_114                             = (242, _("control-114")),
-  MIDI_CONTROL_115                             = (243, _("control-115")),
-  MIDI_CONTROL_116                             = (244, _("control-116")),
-  MIDI_CONTROL_117                             = (245, _("control-117")),
-  MIDI_CONTROL_118                             = (246, _("control-118")),
-  MIDI_CONTROL_119                             = (247, _("control-119")),
-  MIDI_CONTROL_120                             = (248, _("Control 120 All Sound Off ITrigger")),
-  MIDI_CONTROL_121                             = (249, _("Control 121 All Controllers Off ITrigger")),
-  MIDI_CONTROL_122                             = (250, _("Control 122 Local Control Switch")),
-  MIDI_CONTROL_123                             = (251, _("Control 123 All Notes Off ITrigger")),
-  MIDI_CONTROL_124                             = (252, _("Control 124 Omni Mode Off ITrigger")),
-  MIDI_CONTROL_125                             = (253, _("Control 125 Omni Mode On ITrigger")),
-  MIDI_CONTROL_126                             = (254, _("Control 126 Monophonic Voices Mode")),
-  MIDI_CONTROL_127                             = (255, _("Control 127 Polyphonic Mode On ITrigger")),
+  MIDI_CONTROL_64                              = Enum (192, _("Control 64 Damper Pedal Switch (Sustain)")),
+  MIDI_CONTROL_65                              = Enum (193, _("Control 65 Portamento Switch")),
+  MIDI_CONTROL_66                              = Enum (194, _("Control 66 Sustenuto Switch")),
+  MIDI_CONTROL_67                              = Enum (195, _("Control 67 Soft Switch")),
+  MIDI_CONTROL_68                              = Enum (196, _("Control 68 Legato Pedal Switch")),
+  MIDI_CONTROL_69                              = Enum (197, _("Control 69 Hold Pedal Switch")),
+  MIDI_CONTROL_70                              = Enum (198, _("Control 70 Sound Variation")),
+  MIDI_CONTROL_71                              = Enum (199, _("Control 71 Filter Resonance (Timbre)")),
+  MIDI_CONTROL_72                              = Enum (200, _("Control 72 Sound Release Time")),
+  MIDI_CONTROL_73                              = Enum (201, _("Control 73 Sound Attack Time")),
+  MIDI_CONTROL_74                              = Enum (202, _("Control 74 Sound Brightness")),
+  MIDI_CONTROL_75                              = Enum (203, _("Control 75 Sound Decay Time")),
+  MIDI_CONTROL_76                              = Enum (204, _("Control 76 Vibrato Rate")),
+  MIDI_CONTROL_77                              = Enum (205, _("Control 77 Vibrato Depth")),
+  MIDI_CONTROL_78                              = Enum (206, _("Control 78 Vibrato Delay")),
+  MIDI_CONTROL_79                              = Enum (207, _("Control 79 Sound Control 10")),
+  MIDI_CONTROL_80                              = Enum (208, _("Control 80 General Purpose Switch 5")),
+  MIDI_CONTROL_81                              = Enum (209, _("Control 81 General Purpose Switch 6")),
+  MIDI_CONTROL_82                              = Enum (210, _("Control 82 General Purpose Switch 7")),
+  MIDI_CONTROL_83                              = Enum (211, _("Control 83 General Purpose Switch 8")),
+  MIDI_CONTROL_84                              = Enum (212, _("Control 84 Portamento Control (Note)")),
+  MIDI_CONTROL_85                              = Enum (213, _("control-85")),
+  MIDI_CONTROL_86                              = Enum (214, _("control-86")),
+  MIDI_CONTROL_87                              = Enum (215, _("control-87")),
+  MIDI_CONTROL_88                              = Enum (216, _("control-88")),
+  MIDI_CONTROL_89                              = Enum (217, _("control-89")),
+  MIDI_CONTROL_90                              = Enum (218, _("control-90")),
+  MIDI_CONTROL_91                              = Enum (219, _("Control 91 Reverb Depth")),
+  MIDI_CONTROL_92                              = Enum (220, _("Control 92 Tremolo Depth")),
+  MIDI_CONTROL_93                              = Enum (221, _("Control 93 Chorus Depth")),
+  MIDI_CONTROL_94                              = Enum (222, _("Control 93 Detune Depth")),
+  MIDI_CONTROL_95                              = Enum (223, _("Control 95 Phase Depth")),
+  MIDI_CONTROL_96                              = Enum (224, _("Control 96 Data Increment Trigger")),
+  MIDI_CONTROL_97                              = Enum (225, _("Control 97 Data Decrement Trigger")),
+  MIDI_CONTROL_98                              = Enum (226, _("Control 98 Non-Registered Parameter MSB")),
+  MIDI_CONTROL_99                              = Enum (227, _("Control 99 Non-Registered Parameter LSB")),
+  MIDI_CONTROL_100                             = Enum (228, _("Control 100 Registered Parameter MSB")),
+  MIDI_CONTROL_101                             = Enum (229, _("Control 101 Registered Parameter LSB")),
+  MIDI_CONTROL_102                             = Enum (230, _("control-102")),
+  MIDI_CONTROL_103                             = Enum (231, _("control-103")),
+  MIDI_CONTROL_104                             = Enum (232, _("control-104")),
+  MIDI_CONTROL_105                             = Enum (233, _("control-105")),
+  MIDI_CONTROL_106                             = Enum (234, _("control-106")),
+  MIDI_CONTROL_107                             = Enum (235, _("control-107")),
+  MIDI_CONTROL_108                             = Enum (236, _("control-108")),
+  MIDI_CONTROL_109                             = Enum (237, _("control-109")),
+  MIDI_CONTROL_110                             = Enum (238, _("control-110")),
+  MIDI_CONTROL_111                             = Enum (239, _("control-111")),
+  MIDI_CONTROL_112                             = Enum (240, _("control-112")),
+  MIDI_CONTROL_113                             = Enum (241, _("control-113")),
+  MIDI_CONTROL_114                             = Enum (242, _("control-114")),
+  MIDI_CONTROL_115                             = Enum (243, _("control-115")),
+  MIDI_CONTROL_116                             = Enum (244, _("control-116")),
+  MIDI_CONTROL_117                             = Enum (245, _("control-117")),
+  MIDI_CONTROL_118                             = Enum (246, _("control-118")),
+  MIDI_CONTROL_119                             = Enum (247, _("control-119")),
+  MIDI_CONTROL_120                             = Enum (248, _("Control 120 All Sound Off ITrigger")),
+  MIDI_CONTROL_121                             = Enum (249, _("Control 121 All Controllers Off ITrigger")),
+  MIDI_CONTROL_122                             = Enum (250, _("Control 122 Local Control Switch")),
+  MIDI_CONTROL_123                             = Enum (251, _("Control 123 All Notes Off ITrigger")),
+  MIDI_CONTROL_124                             = Enum (252, _("Control 124 Omni Mode Off ITrigger")),
+  MIDI_CONTROL_125                             = Enum (253, _("Control 125 Omni Mode On ITrigger")),
+  MIDI_CONTROL_126                             = Enum (254, _("Control 126 Monophonic Voices Mode")),
+  MIDI_CONTROL_127                             = Enum (255, _("Control 127 Polyphonic Mode On ITrigger")),
 };
 enum MidiChannelEventType {
-  MIDI_EVENT_NONE = Neutral,
+  MIDI_EVENT_NONE = 0,
   /* channel voice messages */
   MIDI_EVENT_NOTE_OFF,
   MIDI_EVENT_NOTE_ON,
@@ -661,7 +661,7 @@ record SampleFileInfo {
 class Janitor;
 /* user messages */
 enum MsgType {
-  MSG_NONE = Neutral,
+  MSG_NONE = 0,
   MSG_ALWAYS,
   MSG_ERROR,
   MSG_WARNING,
diff --git a/bse/bseprocidl.cc b/bse/bseprocidl.cc
index 6281a97..b2128ea 100644
--- a/bse/bseprocidl.cc
+++ b/bse/bseprocidl.cc
@@ -319,10 +319,10 @@ printChoices (void)
 	      bool neutral = (!regular_choice && val == eclass->values);
 	      printIndent();
               if (neutral)
-                print ("%s = (Neutral, \"%s\"),\n", removeBse (val->value_name).c_str(),
+                print ("%s = Enum (0, \"%s\"),\n", removeBse (val->value_name).c_str(),
                        val->value_nick);
               else
-                print ("%s = (%d, \"%s\"),\n", removeBse (val->value_name).c_str(),
+                print ("%s = Enum (%d, \"%s\"),\n", removeBse (val->value_name).c_str(),
                        val->value, val->value_nick);
 	    }
           indent--;
diff --git a/plugins/standardsaturator.idl b/plugins/standardsaturator.idl
index 6c92889..5c12a78 100644
--- a/plugins/standardsaturator.idl
+++ b/plugins/standardsaturator.idl
@@ -2,16 +2,16 @@
 #include <bse/bse.idl>
 namespace Bse { namespace Standard {
 enum SaturationType {
-  SATURATE_TANH      = (_("TANH"),      _("Saturation via hyperbolic tangent function which is mostly linear for "
-                                          "small levels while providing a soft curvature for high volume signals")),
-  SATURATE_ATAN      = (_("ATAN"),      _("Saturation via arc tangent function which is reasonably linear in the "
-                                          "lower 50% but develops a strong curvature above 80%")),
-  SATURATE_QUADRATIC = (_("Quadratic"), _("Saturation via quadratic approximation which keeps a "
-                                          "well-proportioned curvature across all levels")),
-  SATURATE_SOFT_KNEE = (_("Soft Knee"), _("Linear saturation with a soft knee transit into the clipping range "
-                                          "(equals hard clipping at 100%) which approaches quadratic curvature "
-                                          "for small levels")),
-  SATURATE_HARD      = (_("Hard"),      _("Hard saturation via clipping (prone to clicks)")),
+  SATURATE_TANH      = Enum (_("TANH"),      _("Saturation via hyperbolic tangent function which is mostly linear for "
+					       "small levels while providing a soft curvature for high volume signals")),
+  SATURATE_ATAN      = Enum (_("ATAN"),      _("Saturation via arc tangent function which is reasonably linear in the "
+					       "lower 50% but develops a strong curvature above 80%")),
+  SATURATE_QUADRATIC = Enum (_("Quadratic"), _("Saturation via quadratic approximation which keeps a "
+					       "well-proportioned curvature across all levels")),
+  SATURATE_SOFT_KNEE = Enum (_("Soft Knee"), _("Linear saturation with a soft knee transit into the clipping range "
+					       "(equals hard clipping at 100%) which approaches quadratic curvature "
+					       "for small levels")),
+  SATURATE_HARD      = Enum (_("Hard"),      _("Hard saturation via clipping (prone to clicks)")),
 };
 class Saturator : Bse::Effect {
   Info    category  = "/Distortion/Saturate";
diff --git a/sfi/sfidl-parser.cc b/sfi/sfidl-parser.cc
index f6571bc..a3e359f 100644
--- a/sfi/sfidl-parser.cc
+++ b/sfi/sfidl-parser.cc
@@ -1031,34 +1031,26 @@ Parser::parseChoiceValue (ChoiceValue& comp, int& value, int& sequentialValue)
     YES,
     YES = 1,
     YES = "Yes",
-    YES = Neutral,
     YES = (1),
-    YES = (1, "Yes"),
-    YES = (Neutral, "Yes"),
-    YES = (1, "Yes", "this is the Yes value"),
-    YES = ("Yes", "this is the Yes value"),
+    YES = Enum (0, "Yes"), // neutral
+    YES = Enum (1, "Yes", "this is the Yes value"),
+    YES = Enum ("Yes", "this is the Yes value"),
   */
   if (g_scanner_peek_next_token (scanner) == GTokenType('='))
     {
       parse_or_return ('=');
-      if (g_scanner_peek_next_token (scanner) == GTokenType('('))
+      if (g_scanner_peek_next_token (scanner) == G_TOKEN_IDENTIFIER &&
+          strcmp (scanner->next_value.v_string, "Enum") == 0)
         {
-          bool need_arg = true;
+          parse_or_return (G_TOKEN_IDENTIFIER); // "Enum"
           parse_or_return ('(');
+          bool need_arg = true;
           if (g_scanner_peek_next_token (scanner) == G_TOKEN_INT)
             {
               parse_or_return (G_TOKEN_INT);
               value = scanner->value.v_int64;
-              if (g_scanner_peek_next_token (scanner) == ',')
-                parse_or_return (',');
-              else
-                need_arg = false;
-            }
-          else if (g_scanner_peek_next_token (scanner) == G_TOKEN_IDENTIFIER &&
-                   strcmp (scanner->next_value.v_string, "Neutral") == 0)
-            {
-              parse_or_return (G_TOKEN_IDENTIFIER);
-              comp.neutral = true;
+              if (value == 0)
+                comp.neutral = true;
               if (g_scanner_peek_next_token (scanner) == ',')
                 parse_or_return (',');
               else
@@ -1086,12 +1078,8 @@ Parser::parseChoiceValue (ChoiceValue& comp, int& value, int& sequentialValue)
         {
           parse_or_return (G_TOKEN_INT);
           value = scanner->value.v_int64;
-        }
-      else if (g_scanner_peek_next_token (scanner) == G_TOKEN_IDENTIFIER &&
-               strcmp (scanner->next_value.v_string, "Neutral") == 0)
-        {
-          parse_or_return (G_TOKEN_IDENTIFIER);
-          comp.neutral = true;
+          if (value == 0)
+            comp.neutral = true;
         }
       else if (g_scanner_peek_next_token (scanner) == G_TOKEN_IDENTIFIER &&
                strcmp (scanner->next_value.v_string, "_") == 0)
diff --git a/sfi/tests/testidl.idl b/sfi/tests/testidl.idl
index 4cad76a..8b42fe4 100644
--- a/sfi/tests/testidl.idl
+++ b/sfi/tests/testidl.idl
@@ -7,19 +7,19 @@ Const ANSWER_A = "the answer to all questions";
 Const ANSWER_B = 42;
 Const ULTIMATE_ANSWER = (ANSWER_A " is " ANSWER_B);
 enum YesNoUndecided {
-  Undecided = (Neutral, "Undecided"),
-        Yes = (1, "Yes"),
-         No = (2, "No")
+  Undecided = Enum (0, "Undecided"),
+        Yes = Enum (1, "Yes"),
+         No = Enum (2, "No")
 };
 enum ExcessiveChoiceTest {
   V0, 
   V2  = 2,
   V4  = "l4",
   V6  = _("l6i"),
-  V8  = (8, "l8"),
-  V10 = (10, _("l10i")),
-  V12 = (12, "l12", _("b12")),
-  V14 = (14, _("l14i"), _("b14i")),
+  V8  = Enum (8, "l8"),
+  V10 = Enum (10, _("l10i")),
+  V12 = Enum (12, "l12", _("b12")),
+  V14 = Enum (14, _("l14i"), _("b14i")),
 };
 record Position {
   Sfi::Real x = ("X", "", 2.0, -10.0, 10.0, 1, ":readwrite");
diff --git a/tests/bse/testplugin.idl b/tests/bse/testplugin.idl
index 8e1e7be..41135bc 100644
--- a/tests/bse/testplugin.idl
+++ b/tests/bse/testplugin.idl
@@ -6,7 +6,7 @@ using namespace Sfi;
 enum FunkynessType {
   REALLY_FUNKY,
   MODERATELY_FUNKY,
-  NON_FUNKY = (42, "No Funk At All"),
+  NON_FUNKY = Enum (42, "No Funk At All"),
 };
 // test record
 record TestRecord {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]