move mode/scale/key definitions out of push2 code and into libardour; Aeolian is...
[ardour.git] / libs / ardour / enums.cc
index 817126847d0eed41b1be733e70af0579c755fe1a..ad5dc5e6a7a3d2195c24a0eccaeb11ac35c0d2e2 100644 (file)
@@ -31,6 +31,7 @@
 #include "ardour/io.h"
 #include "ardour/location.h"
 #include "ardour/midi_model.h"
+#include "ardour/mode.h"
 #include "ardour/mute_master.h"
 #include "ardour/presentation_info.h"
 #include "ardour/session.h"
@@ -74,7 +75,6 @@ setup_enum_writer ()
        MonitorState _MonitorState;
        PFLPosition _PFLPosition;
        AFLPosition _AFLPosition;
-       RemoteModel _RemoteModel;
        DenormalModel _DenormalModel;
        LayerModel _LayerModel;
        InsertMergePolicy _InsertMergePolicy;
@@ -135,6 +135,7 @@ setup_enum_writer ()
         BufferingPreset _BufferingPreset;
        AutoReturnTarget _AutoReturnTarget;
        PresentationInfo::Flag _PresentationInfo_Flag;
+       MusicalMode::Type mode;
 
 #define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
 #define REGISTER_BITS(e) enum_writer.register_bits (typeid(e).name(), i, s); i.clear(); s.clear()
@@ -158,6 +159,7 @@ setup_enum_writer ()
        REGISTER_ENUM (MidiPgmChangeAutomation);
        REGISTER_ENUM (MidiPitchBenderAutomation);
        REGISTER_ENUM (MidiChannelPressureAutomation);
+       REGISTER_ENUM (MidiNotePressureAutomation);
        REGISTER_ENUM (MidiSystemExclusiveAutomation);
        REGISTER_ENUM (FadeInAutomation);
        REGISTER_ENUM (FadeOutAutomation);
@@ -323,9 +325,6 @@ setup_enum_writer ()
        REGISTER_ENUM (DenormalFTZDAZ);
        REGISTER (_DenormalModel);
 
-       REGISTER_ENUM (UserOrdered);
-       REGISTER_ENUM (MixerOrdered);
-       REGISTER (_RemoteModel);
        /*
         * EditorOrdered has been deprecated
         * since the removal of independent
@@ -710,15 +709,53 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (PresentationInfo, MidiTrack);
        REGISTER_CLASS_ENUM (PresentationInfo, AudioBus);
        REGISTER_CLASS_ENUM (PresentationInfo, MidiBus);
+       REGISTER_CLASS_ENUM (PresentationInfo, VCA);
        REGISTER_CLASS_ENUM (PresentationInfo, MasterOut);
        REGISTER_CLASS_ENUM (PresentationInfo, MonitorOut);
-       REGISTER_CLASS_ENUM (PresentationInfo, VCA);
-       REGISTER_CLASS_ENUM (PresentationInfo, Bus);
-       REGISTER_CLASS_ENUM (PresentationInfo, Track);
-       REGISTER_CLASS_ENUM (PresentationInfo, Route);
+       REGISTER_CLASS_ENUM (PresentationInfo, Auditioner);
        REGISTER_CLASS_ENUM (PresentationInfo, Selected);
        REGISTER_CLASS_ENUM (PresentationInfo, Hidden);
-       REGISTER (_PresentationInfo_Flag);
+       REGISTER_CLASS_ENUM (PresentationInfo, OrderSet);
+       REGISTER_BITS (_PresentationInfo_Flag);
+
+       REGISTER_CLASS_ENUM (MusicalMode,Dorian);
+       REGISTER_CLASS_ENUM (MusicalMode, IonianMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, AeolianMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, HarmonicMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorAscending);
+       REGISTER_CLASS_ENUM (MusicalMode, MelodicMinorDescending);
+       REGISTER_CLASS_ENUM (MusicalMode, Phrygian);
+       REGISTER_CLASS_ENUM (MusicalMode, Lydian);
+       REGISTER_CLASS_ENUM (MusicalMode, Mixolydian);
+       REGISTER_CLASS_ENUM (MusicalMode, Locrian);
+       REGISTER_CLASS_ENUM (MusicalMode, PentatonicMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, PentatonicMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, Chromatic);
+       REGISTER_CLASS_ENUM (MusicalMode, BluesScale);
+       REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, NeapolitanMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, Oriental);
+       REGISTER_CLASS_ENUM (MusicalMode, DoubleHarmonic);
+       REGISTER_CLASS_ENUM (MusicalMode, Enigmatic);
+       REGISTER_CLASS_ENUM (MusicalMode, Hirajoshi);
+       REGISTER_CLASS_ENUM (MusicalMode, HungarianMinor);
+       REGISTER_CLASS_ENUM (MusicalMode, HungarianMajor);
+       REGISTER_CLASS_ENUM (MusicalMode, Kumoi);
+       REGISTER_CLASS_ENUM (MusicalMode, Iwato);
+       REGISTER_CLASS_ENUM (MusicalMode, Hindu);
+       REGISTER_CLASS_ENUM (MusicalMode, Spanish8Tone);
+       REGISTER_CLASS_ENUM (MusicalMode, Pelog);
+       REGISTER_CLASS_ENUM (MusicalMode, HungarianGypsy);
+       REGISTER_CLASS_ENUM (MusicalMode, Overtone);
+       REGISTER_CLASS_ENUM (MusicalMode, LeadingWholeTone);
+       REGISTER_CLASS_ENUM (MusicalMode, Arabian);
+       REGISTER_CLASS_ENUM (MusicalMode, Balinese);
+       REGISTER_CLASS_ENUM (MusicalMode, Gypsy);
+       REGISTER_CLASS_ENUM (MusicalMode, Mohammedan);
+       REGISTER_CLASS_ENUM (MusicalMode, Javanese);
+       REGISTER_CLASS_ENUM (MusicalMode, Persian);
+       REGISTER_CLASS_ENUM (MusicalMode, Algerian);
+       REGISTER (mode);
 }
 
 } /* namespace ARDOUR */
@@ -851,19 +888,6 @@ std::ostream& operator<<(std::ostream& o, const AFLPosition& var)
        return o << s;
 }
 
-std::istream& operator>>(std::istream& o, RemoteModel& var)
-{
-       std::string s;
-       o >> s;
-       var = (RemoteModel) string_2_enum (s, var);
-       return o;
-}
-
-std::ostream& operator<<(std::ostream& o, const RemoteModel& var)
-{
-       std::string s = enum_2_string (var);
-       return o << s;
-}
 std::istream& operator>>(std::istream& o, EditMode& var)
 {
        std::string s;