Less code.
[ardour.git] / libs / ardour / enums.cc
index 2865701f0290e61fce778ddc4c8ac0fc08c52adc..9fc1ef96ce9fb1522c97eb7eac8f9b9ee90ebefb 100644 (file)
@@ -82,7 +82,7 @@ setup_enum_writer ()
        SessionEvent::Type _SessionEvent_Type;
        TimecodeFormat _Session_TimecodeFormat;
        Session::PullupFormat _Session_PullupFormat;
-       AudioRegion::FadeShape _AudioRegion_FadeShape;
+       FadeShape _FadeShape;
        Panner::LinkDirection _Panner_LinkDirection;
        IOChange _IOChange;
        AutomationType _AutomationType;
@@ -94,7 +94,7 @@ setup_enum_writer ()
        Source::Flag _Source_Flag;
        Diskstream::Flag _Diskstream_Flag;
        Location::Flags _Location_Flags;
-       Region::PositionLockStyle _Region_PositionLockStyle;
+       PositionLockStyle _PositionLockStyle;
        Track::FreezeState _Track_FreezeState;
        AutomationList::InterpolationStyle _AutomationList_InterpolationStyle;
        AnyTime::Type _AnyTime_Type;
@@ -112,7 +112,8 @@ setup_enum_writer ()
        Delivery::Role _Delivery_Role;
        IO::Direction _IO_Direction;
        MuteMaster::MutePoint _MuteMaster_MutePoint;
-       MidiModel::DiffCommand::Property _MidiModel_DiffCommand_Property;
+       MidiModel::NoteDiffCommand::Property _MidiModel_NoteDiffCommand_Property;
+       MidiModel::SysExDiffCommand::Property _MidiModel_SysExDiffCommand_Property;
        WaveformScale _WaveformScale;
        WaveformShape _WaveformShape;
        QuantizeType _QuantizeType;
@@ -125,11 +126,6 @@ setup_enum_writer ()
 #define REGISTER_ENUM(e) i.push_back (e); s.push_back (#e)
 #define REGISTER_CLASS_ENUM(t,e) i.push_back (t::e); s.push_back (#e)
 
-       REGISTER_ENUM (NoChange);
-       REGISTER_ENUM (ConfigurationChanged);
-       REGISTER_ENUM (ConnectionsChanged);
-       REGISTER_BITS (_IOChange);
-
        REGISTER_ENUM (OverlapNone);
        REGISTER_ENUM (OverlapInternal);
        REGISTER_ENUM (OverlapStart);
@@ -392,12 +388,12 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (Source, Destructive);
        REGISTER_BITS (_Source_Flag);
 
-       REGISTER_CLASS_ENUM (AudioRegion, Linear);
-       REGISTER_CLASS_ENUM (AudioRegion, Fast);
-       REGISTER_CLASS_ENUM (AudioRegion, Slow);
-       REGISTER_CLASS_ENUM (AudioRegion, LogA);
-       REGISTER_CLASS_ENUM (AudioRegion, LogB);
-       REGISTER (_AudioRegion_FadeShape);
+       REGISTER_ENUM (FadeLinear);
+       REGISTER_ENUM (FadeFast);
+       REGISTER_ENUM (FadeSlow);
+       REGISTER_ENUM (FadeLogA);
+       REGISTER_ENUM (FadeLogB);
+       REGISTER (_FadeShape);
 
        REGISTER_CLASS_ENUM (Diskstream, Recordable);
        REGISTER_CLASS_ENUM (Diskstream, Hidden);
@@ -417,10 +413,6 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (Panner, OppositeDirection);
        REGISTER (_Panner_LinkDirection);
 
-       REGISTER_CLASS_ENUM (Region, AudioTime);
-       REGISTER_CLASS_ENUM (Region, MusicTime);
-       REGISTER_BITS (_Region_PositionLockStyle);
-
        REGISTER_CLASS_ENUM (Track, NoFreeze);
        REGISTER_CLASS_ENUM (Track, Frozen);
        REGISTER_CLASS_ENUM (Track, UnFrozen);
@@ -495,6 +487,7 @@ setup_enum_writer ()
        REGISTER (_ExportFormatBase_Quality);
 
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_None);
+       REGISTER_CLASS_ENUM (ExportFormatBase, SR_Session);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_22_05);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_44_1);
        REGISTER_CLASS_ENUM (ExportFormatBase, SR_48);
@@ -534,13 +527,16 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (IO, Output);
        REGISTER (_IO_Direction);
 
-       REGISTER_CLASS_ENUM (MidiModel::DiffCommand, NoteNumber);
-       REGISTER_CLASS_ENUM (MidiModel::DiffCommand, Channel);
-       REGISTER_CLASS_ENUM (MidiModel::DiffCommand, Velocity);
-       REGISTER_CLASS_ENUM (MidiModel::DiffCommand, StartTime);
-       REGISTER_CLASS_ENUM (MidiModel::DiffCommand, Length);
-       REGISTER (_MidiModel_DiffCommand_Property);
+       REGISTER_CLASS_ENUM (MidiModel::NoteDiffCommand, NoteNumber);
+       REGISTER_CLASS_ENUM (MidiModel::NoteDiffCommand, Channel);
+       REGISTER_CLASS_ENUM (MidiModel::NoteDiffCommand, Velocity);
+       REGISTER_CLASS_ENUM (MidiModel::NoteDiffCommand, StartTime);
+       REGISTER_CLASS_ENUM (MidiModel::NoteDiffCommand, Length);
+       REGISTER (_MidiModel_NoteDiffCommand_Property);
 
+       REGISTER_CLASS_ENUM (MidiModel::SysExDiffCommand, Time);
+       REGISTER (_MidiModel_SysExDiffCommand_Property);
+       
        REGISTER_ENUM(Linear);
        REGISTER_ENUM(Logarithmic);
        REGISTER(_WaveformScale);
@@ -553,6 +549,10 @@ setup_enum_writer ()
        REGISTER_ENUM(Legato);
        REGISTER_ENUM(Groove);
        REGISTER(_QuantizeType);
+
+       REGISTER_ENUM(AudioTime);
+       REGISTER_ENUM(MusicTime);
+       REGISTER(_PositionLockStyle);
 }
 
 } /* namespace ARDOUR */
@@ -783,4 +783,16 @@ std::ostream& operator<<(std::ostream& o, const WaveformShape& var)
        return o << s;
 }
 
+std::istream& operator>>(std::istream& o, PositionLockStyle& var) 
+{ 
+       std::string s;
+       o >> s;
+       var = (PositionLockStyle) string_2_enum (s, var);
+       return o;
+}
 
+std::ostream& operator<<(std::ostream& o, const PositionLockStyle& var) 
+{ 
+       std::string s = enum_2_string (var);
+       return o << s;
+}