add IsSkip enum to enums.cc
[ardour.git] / libs / ardour / enums.cc
index afe92ed5f7babf961f327241d94aa5ded0a7dc56..84755cb913b34931dc04ff8a56e418c0bb3ef4a9 100644 (file)
@@ -20,6 +20,8 @@
 #include "pbd/enumwriter.h"
 #include "midi++/types.h"
 
+#include "evoral/Range.hpp" // shouldn't Evoral have its own enum registration?
+
 #include "ardour/delivery.h"
 #include "ardour/diskstream.h"
 #include "ardour/export_channel.h"
@@ -39,6 +41,7 @@ using namespace std;
 using namespace PBD;
 using namespace ARDOUR;
 using namespace MIDI;
+using namespace Timecode;
 
 namespace ARDOUR {
 
@@ -52,12 +55,15 @@ setup_enum_writer ()
        AlignStyle _AlignStyle;
        AlignChoice _AlignChoice;
        MeterPoint _MeterPoint;
+       MeterType _MeterType;
        TrackMode _TrackMode;
        NoteMode _NoteMode;
        ChannelMode _ChannelMode;
        ColorMode _ColorMode;
        MeterFalloff _MeterFalloff;
        MeterHold _MeterHold;
+       VUMeterStandard _VUMeterStandard;
+       MeterLineUp _MeterLineUp;
        EditMode _EditMode;
        RegionPoint _RegionPoint;
        Placement _Placement;
@@ -68,8 +74,6 @@ setup_enum_writer ()
        AFLPosition _AFLPosition;
        RemoteModel _RemoteModel;
        DenormalModel _DenormalModel;
-       CrossfadeModel _CrossfadeModel;
-       CrossfadeChoice _CrossfadeChoice;
        InsertMergePolicy _InsertMergePolicy;
        ListenPosition _ListenPosition;
        SampleFormat _SampleFormat;
@@ -121,6 +125,7 @@ setup_enum_writer ()
        Session::PostTransportWork _Session_PostTransportWork;
        Session::SlaveState _Session_SlaveState;
        MTC_Status _MIDI_MTC_Status;
+       Evoral::OverlapType _OverlapType;
 
 #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()
@@ -166,6 +171,20 @@ setup_enum_writer ()
        REGISTER_ENUM (MeterCustom);
        REGISTER (_MeterPoint);
 
+       REGISTER_ENUM (MeterMaxSignal);
+       REGISTER_ENUM (MeterMaxPeak);
+       REGISTER_ENUM (MeterPeak);
+       REGISTER_ENUM (MeterKrms);
+       REGISTER_ENUM (MeterK20);
+       REGISTER_ENUM (MeterK14);
+       REGISTER_ENUM (MeterK12);
+       REGISTER_ENUM (MeterIEC1DIN);
+       REGISTER_ENUM (MeterIEC1NOR);
+       REGISTER_ENUM (MeterIEC2BBC);
+       REGISTER_ENUM (MeterIEC2EBU);
+       REGISTER_ENUM (MeterVU);
+       REGISTER (_MeterType);
+
        REGISTER_ENUM (Normal);
        REGISTER_ENUM (NonLayered);
        REGISTER_ENUM (Destructive);
@@ -188,6 +207,8 @@ setup_enum_writer ()
        REGISTER_ENUM (MeterFalloffOff);
        REGISTER_ENUM (MeterFalloffSlowest);
        REGISTER_ENUM (MeterFalloffSlow);
+       REGISTER_ENUM (MeterFalloffSlowish);
+       REGISTER_ENUM (MeterFalloffModerate);
        REGISTER_ENUM (MeterFalloffMedium);
        REGISTER_ENUM (MeterFalloffFast);
        REGISTER_ENUM (MeterFalloffFaster);
@@ -200,10 +221,28 @@ setup_enum_writer ()
        REGISTER_ENUM (MeterHoldLong);
        REGISTER (_MeterHold);
 
+       REGISTER_ENUM (MeteringVUfrench);
+       REGISTER_ENUM (MeteringVUamerican);
+       REGISTER_ENUM (MeteringVUstandard);
+       REGISTER_ENUM (MeteringVUeight);
+       REGISTER (_VUMeterStandard);
+
+       REGISTER_ENUM (MeteringLineUp24);
+       REGISTER_ENUM (MeteringLineUp20);
+       REGISTER_ENUM (MeteringLineUp18);
+       REGISTER_ENUM (MeteringLineUp15);
+       REGISTER (_MeterLineUp);
+
        REGISTER_ENUM (Slide);
        REGISTER_ENUM (Splice);
+       REGISTER_ENUM (Ripple); // XXX do the old enum values have to stay in order?
        REGISTER_ENUM (Lock);
        REGISTER (_EditMode);
+       /*
+        * Splice mode is undefined, undocumented, and basically fubar'ed
+        * perhaps someday we will make it work.  but for now, avoid it
+       */
+       enum_writer.add_to_hack_table ("Splice", "Slide");
 
        REGISTER_ENUM (Start);
        REGISTER_ENUM (End);
@@ -246,17 +285,13 @@ setup_enum_writer ()
 
        REGISTER_ENUM (UserOrdered);
        REGISTER_ENUM (MixerOrdered);
-       REGISTER_ENUM (EditorOrdered);
        REGISTER (_RemoteModel);
-
-       REGISTER_ENUM (FullCrossfade);
-       REGISTER_ENUM (ShortCrossfade);
-       REGISTER (_CrossfadeModel);
-
-       REGISTER_ENUM (RegionFades);
-       REGISTER_ENUM (ConstantPowerMinus3dB);
-       REGISTER_ENUM (ConstantPowerMinus6dB);
-       REGISTER (_CrossfadeChoice);
+       /*
+        * EditorOrdered has been deprecated
+        * since the removal of independent 
+        * editor / mixer ordering.
+       */
+       enum_writer.add_to_hack_table ("EditorOrdered", "MixerOrdered");
 
         REGISTER_ENUM (InsertMergeReject);
         REGISTER_ENUM (InsertMergeRelax);
@@ -301,7 +336,9 @@ setup_enum_writer ()
 
        REGISTER_ENUM (MTC);
        REGISTER_ENUM (JACK);
+       REGISTER_ENUM (Engine);
        REGISTER_ENUM (MIDIClock);
+       REGISTER_ENUM (LTC);
        REGISTER (_SyncSource);
 
        REGISTER_ENUM (Sprung);
@@ -332,8 +369,10 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (SessionEvent, Audition);
        REGISTER_CLASS_ENUM (SessionEvent, InputConfigurationChange);
        REGISTER_CLASS_ENUM (SessionEvent, SetPlayAudioRange);
+       REGISTER_CLASS_ENUM (SessionEvent, CancelPlayAudioRange);
        REGISTER_CLASS_ENUM (SessionEvent, StopOnce);
        REGISTER_CLASS_ENUM (SessionEvent, AutoLoop);
+       REGISTER_CLASS_ENUM (SessionEvent, Skip);
        REGISTER (_SessionEvent_Type);
 
        REGISTER_CLASS_ENUM (Session, Stopped);
@@ -392,7 +431,7 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (Session, pullup_Minus4Minus1);
        REGISTER (_Session_PullupFormat);
 
-       REGISTER_CLASS_ENUM (Route, Hidden);
+       REGISTER_CLASS_ENUM (Route, Auditioner);
        REGISTER_CLASS_ENUM (Route, MasterOut);
        REGISTER_CLASS_ENUM (Route, MonitorOut);
        REGISTER_BITS (_Route_Flag);
@@ -405,6 +444,7 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (Source, RemoveAtDestroy);
        REGISTER_CLASS_ENUM (Source, NoPeakFile);
        REGISTER_CLASS_ENUM (Source, Destructive);
+       REGISTER_CLASS_ENUM (Source, Empty);
        REGISTER_BITS (_Source_Flag);
 
        REGISTER_ENUM (FadeLinear);
@@ -426,6 +466,7 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (Location, IsCDMarker);
        REGISTER_CLASS_ENUM (Location, IsSessionRange);
        REGISTER_CLASS_ENUM (Location, IsRangeMarker);
+       REGISTER_CLASS_ENUM (Location, IsSkip);
        REGISTER_BITS (_Location_Flags);
 
        REGISTER_CLASS_ENUM (Track, NoFreeze);
@@ -469,6 +510,7 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (ExportFormatBase, F_RAW);
        REGISTER_CLASS_ENUM (ExportFormatBase, F_FLAC);
        REGISTER_CLASS_ENUM (ExportFormatBase, F_Ogg);
+       REGISTER_CLASS_ENUM (ExportFormatBase, F_CAF);
        REGISTER (_ExportFormatBase_FormatId);
 
        REGISTER_CLASS_ENUM (ExportFormatBase, E_FileDefault);
@@ -503,6 +545,7 @@ setup_enum_writer ()
 
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_None);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_Session);
+       REGISTER_CLASS_ENUM (ExportFormatBase, SR_8);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_22_05);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_44_1);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_48);
@@ -573,6 +616,13 @@ setup_enum_writer ()
        REGISTER_ENUM(AudioTime);
        REGISTER_ENUM(MusicTime);
        REGISTER(_PositionLockStyle);
+
+       REGISTER_ENUM (Evoral::OverlapNone);
+       REGISTER_ENUM (Evoral::OverlapInternal);
+       REGISTER_ENUM (Evoral::OverlapStart);
+       REGISTER_ENUM (Evoral::OverlapEnd);
+       REGISTER_ENUM (Evoral::OverlapExternal);
+       REGISTER(_OverlapType);
 }
 
 } /* namespace ARDOUR */
@@ -634,110 +684,110 @@ std::ostream& operator<<(std::ostream& o, const MonitorModel& var)
        return o << s;
 }
 
-std::istream& operator>>(std::istream& o, PFLPosition& var)
+std::istream& operator>>(std::istream& o, VUMeterStandard& var)
 {
        std::string s;
        o >> s;
-       var = (PFLPosition) string_2_enum (s, var);
+       var = (VUMeterStandard) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const PFLPosition& var)
+std::ostream& operator<<(std::ostream& o, const VUMeterStandard& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
 
-std::istream& operator>>(std::istream& o, AFLPosition& var)
+std::istream& operator>>(std::istream& o, MeterLineUp& var)
 {
        std::string s;
        o >> s;
-       var = (AFLPosition) string_2_enum (s, var);
+       var = (MeterLineUp) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const AFLPosition& var)
+std::ostream& operator<<(std::ostream& o, const MeterLineUp& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
 
-std::istream& operator>>(std::istream& o, RemoteModel& var)
+std::istream& operator>>(std::istream& o, PFLPosition& var)
 {
        std::string s;
        o >> s;
-       var = (RemoteModel) string_2_enum (s, var);
+       var = (PFLPosition) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const RemoteModel& var)
+std::ostream& operator<<(std::ostream& o, const PFLPosition& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
-std::istream& operator>>(std::istream& o, EditMode& var)
+
+std::istream& operator>>(std::istream& o, AFLPosition& var)
 {
        std::string s;
        o >> s;
-       var = (EditMode) string_2_enum (s, var);
+       var = (AFLPosition) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const EditMode& var)
+std::ostream& operator<<(std::ostream& o, const AFLPosition& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
-std::istream& operator>>(std::istream& o, ListenPosition& var)
+
+std::istream& operator>>(std::istream& o, RemoteModel& var)
 {
        std::string s;
        o >> s;
-       var = (ListenPosition) string_2_enum (s, var);
+       var = (RemoteModel) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const ListenPosition& var)
+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, InsertMergePolicy& var)
+std::istream& operator>>(std::istream& o, EditMode& var)
 {
        std::string s;
        o >> s;
-       var = (InsertMergePolicy) string_2_enum (s, var);
+       var = (EditMode) string_2_enum (s, var);
        return o;
 }
-std::ostream& operator<<(std::ostream& o, const InsertMergePolicy& var)
+
+std::ostream& operator<<(std::ostream& o, const EditMode& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
-
-std::istream& operator>>(std::istream& o, CrossfadeModel& var)
+std::istream& operator>>(std::istream& o, ListenPosition& var)
 {
        std::string s;
        o >> s;
-       var = (CrossfadeModel) string_2_enum (s, var);
+       var = (ListenPosition) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const CrossfadeModel& var)
+std::ostream& operator<<(std::ostream& o, const ListenPosition& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
 
-std::istream& operator>>(std::istream& o, CrossfadeChoice& var)
+std::istream& operator>>(std::istream& o, InsertMergePolicy& var)
 {
        std::string s;
        o >> s;
-       var = (CrossfadeChoice) string_2_enum (s, var);
+       var = (InsertMergePolicy) string_2_enum (s, var);
        return o;
 }
-
-std::ostream& operator<<(std::ostream& o, const CrossfadeChoice& var)
+std::ostream& operator<<(std::ostream& o, const InsertMergePolicy& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
@@ -848,3 +898,30 @@ std::ostream& operator<<(std::ostream& o, const PositionLockStyle& var)
        std::string s = enum_2_string (var);
        return o << s;
 }
+
+std::istream& operator>>(std::istream& o, Evoral::OverlapType& var)
+{
+       std::string s;
+       o >> s;
+       var = (Evoral::OverlapType) string_2_enum (s, var);
+       return o;
+}
+
+std::ostream& operator<<(std::ostream& o, const Evoral::OverlapType& var)
+{
+       std::string s = enum_2_string (var);
+       return o << s;
+}
+std::istream& operator>>(std::istream& o, FadeShape& var)
+{
+       std::string s;
+       o >> s;
+       var = (FadeShape) string_2_enum (s, var);
+       return o;
+}
+
+std::ostream& operator<<(std::ostream& o, const FadeShape& var)
+{
+       std::string s = enum_2_string (var);
+       return o << s;
+}