if a request to reset the speed to zero as the default arrives when stopped, reset...
[ardour.git] / libs / ardour / enums.cc
index 1f75f5ab436dafef9676ea1578bce0f2a92ce28d..961041c2da2e99b70d66039a840a1d759a43ba4c 100644 (file)
 #include "pbd/enumwriter.h"
 #include "midi++/types.h"
 
-#include "ardour/audiofilesource.h"
-#include "ardour/audioregion.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"
 #include "ardour/export_filename.h"
 #include "ardour/export_format_base.h"
 #include "ardour/export_profile_manager.h"
 #include "ardour/io.h"
 #include "ardour/location.h"
 #include "ardour/midi_model.h"
-#include "ardour/midi_track.h"
 #include "ardour/mute_master.h"
-#include "ardour/panner.h"
-#include "ardour/route_group.h"
 #include "ardour/session.h"
+#include "ardour/source.h"
 #include "ardour/track.h"
 #include "ardour/types.h"
 
@@ -52,7 +51,6 @@ setup_enum_writer ()
        vector<int> i;
        vector<string> s;
 
-       OverlapType _OverlapType;
        AlignStyle _AlignStyle;
        AlignChoice _AlignChoice;
        MeterPoint _MeterPoint;
@@ -73,7 +71,7 @@ setup_enum_writer ()
        RemoteModel _RemoteModel;
        DenormalModel _DenormalModel;
        CrossfadeModel _CrossfadeModel;
-       LayerModel _LayerModel;
+       CrossfadeChoice _CrossfadeChoice;
        InsertMergePolicy _InsertMergePolicy;
        ListenPosition _ListenPosition;
        SampleFormat _SampleFormat;
@@ -93,6 +91,7 @@ setup_enum_writer ()
        AutoState _AutoState;
        AutoStyle _AutoStyle;
        AutoConnectOption _AutoConnectOption;
+       RouteSortOrderKey _RouteSortOrderKey;
        Session::StateOfTheState _Session_StateOfTheState;
        Route::Flag _Route_Flag;
        Source::Flag _Source_Flag;
@@ -113,6 +112,7 @@ setup_enum_writer ()
        ExportFormatBase::SampleRate _ExportFormatBase_SampleRate;
        ExportFormatBase::SRCQuality _ExportFormatBase_SRCQuality;
        ExportProfileManager::TimeFormat _ExportProfileManager_TimeFormat;
+       RegionExportChannelFactory::Type _RegionExportChannelFactory_Type;
        Delivery::Role _Delivery_Role;
        IO::Direction _IO_Direction;
        MuteMaster::MutePoint _MuteMaster_MutePoint;
@@ -121,23 +121,16 @@ setup_enum_writer ()
        MidiModel::PatchChangeDiffCommand::Property _MidiModel_PatchChangeDiffCommand_Property;
        WaveformScale _WaveformScale;
        WaveformShape _WaveformShape;
-       QuantizeType _QuantizeType;
        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()
 #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 (OverlapNone);
-       REGISTER_ENUM (OverlapInternal);
-       REGISTER_ENUM (OverlapStart);
-       REGISTER_ENUM (OverlapEnd);
-       REGISTER_ENUM (OverlapExternal);
-       REGISTER (_OverlapType);
-
        REGISTER_ENUM (GainAutomation);
        REGISTER_ENUM (PanAzimuthAutomation);
        REGISTER_ENUM (PanElevationAutomation);
@@ -264,10 +257,10 @@ setup_enum_writer ()
        REGISTER_ENUM (ShortCrossfade);
        REGISTER (_CrossfadeModel);
 
-       REGISTER_ENUM (LaterHigher);
-       REGISTER_ENUM (MoveAddHigher);
-       REGISTER_ENUM (AddHigher);
-       REGISTER (_LayerModel);
+       REGISTER_ENUM (RegionFades);
+       REGISTER_ENUM (ConstantPowerMinus3dB);
+       REGISTER_ENUM (ConstantPowerMinus6dB);
+       REGISTER (_CrossfadeChoice);
 
         REGISTER_ENUM (InsertMergeReject);
         REGISTER_ENUM (InsertMergeRelax);
@@ -408,6 +401,10 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (Route, MonitorOut);
        REGISTER_BITS (_Route_Flag);
 
+       REGISTER_ENUM (MixerSort);
+       REGISTER_ENUM (EditorSort);
+       REGISTER (_RouteSortOrderKey);
+
        REGISTER_CLASS_ENUM (Source, Writable);
        REGISTER_CLASS_ENUM (Source, CanRename);
        REGISTER_CLASS_ENUM (Source, Broadcast);
@@ -421,8 +418,8 @@ setup_enum_writer ()
        REGISTER_ENUM (FadeLinear);
        REGISTER_ENUM (FadeFast);
        REGISTER_ENUM (FadeSlow);
-       REGISTER_ENUM (FadeLogA);
-       REGISTER_ENUM (FadeLogB);
+       REGISTER_ENUM (FadeConstantPower);
+       REGISTER_ENUM (FadeSymmetric);
        REGISTER (_FadeShape);
 
        REGISTER_CLASS_ENUM (Diskstream, Recordable);
@@ -535,6 +532,12 @@ setup_enum_writer ()
        REGISTER_CLASS_ENUM (ExportProfileManager, Frames);
        REGISTER (_ExportProfileManager_TimeFormat);
 
+       REGISTER_CLASS_ENUM (RegionExportChannelFactory, None);
+       REGISTER_CLASS_ENUM (RegionExportChannelFactory, Raw);
+       REGISTER_CLASS_ENUM (RegionExportChannelFactory, Fades);
+       REGISTER_CLASS_ENUM (RegionExportChannelFactory, Processed);
+       REGISTER (_RegionExportChannelFactory_Type);
+
        REGISTER_CLASS_ENUM (Delivery, Insert);
        REGISTER_CLASS_ENUM (Delivery, Send);
        REGISTER_CLASS_ENUM (Delivery, Listen);
@@ -575,14 +578,16 @@ setup_enum_writer ()
        REGISTER_ENUM(Rectified);
        REGISTER(_WaveformShape);
 
-       REGISTER_ENUM(Plain);
-       REGISTER_ENUM(Legato);
-       REGISTER_ENUM(Groove);
-       REGISTER(_QuantizeType);
-
        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 */
@@ -711,46 +716,48 @@ 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, LayerModel& var)
+
+std::istream& operator>>(std::istream& o, InsertMergePolicy& var)
 {
        std::string s;
        o >> s;
-       var = (LayerModel) string_2_enum (s, var);
+       var = (InsertMergePolicy) string_2_enum (s, var);
        return o;
 }
-
-std::ostream& operator<<(std::ostream& o, const LayerModel& var)
+std::ostream& operator<<(std::ostream& o, const InsertMergePolicy& 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, CrossfadeModel& var)
 {
        std::string s;
        o >> s;
-       var = (InsertMergePolicy) string_2_enum (s, var);
+       var = (CrossfadeModel) string_2_enum (s, var);
        return o;
 }
-std::ostream& operator<<(std::ostream& o, const InsertMergePolicy& var)
+
+std::ostream& operator<<(std::ostream& o, const CrossfadeModel& 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, CrossfadeChoice& var)
 {
        std::string s;
        o >> s;
-       var = (CrossfadeModel) string_2_enum (s, var);
+       var = (CrossfadeChoice) string_2_enum (s, var);
        return o;
 }
 
-std::ostream& operator<<(std::ostream& o, const CrossfadeModel& var)
+std::ostream& operator<<(std::ostream& o, const CrossfadeChoice& var)
 {
        std::string s = enum_2_string (var);
        return o << s;
 }
+
 std::istream& operator>>(std::istream& o, SyncSource& var)
 {
        std::string s;
@@ -856,3 +863,17 @@ 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;
+}