X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fenums.cc;h=3f7fee3aeeae872ee6780ff440b6402e4b9b9c73;hb=c158c44fab4d5cd0a6fade9213b262849d90dc31;hp=8ab2a6f8cf7ec17496fdc774027416f8d0769203;hpb=c4ac43749048c4c0e0ab3656d39384112a628742;p=ardour.git diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 8ab2a6f8cf..3f7fee3aee 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -18,6 +18,7 @@ */ #include "pbd/enumwriter.h" +#include "midi++/types.h" #include "ardour/audiofilesource.h" #include "ardour/audioregion.h" @@ -40,11 +41,14 @@ using namespace std; using namespace PBD; using namespace ARDOUR; +using namespace MIDI; + +namespace ARDOUR { void setup_enum_writer () { - EnumWriter* enum_writer = new EnumWriter(); + EnumWriter& enum_writer (EnumWriter::instance()); vector i; vector s; @@ -70,11 +74,11 @@ setup_enum_writer () CDMarkerFormat _CDMarkerFormat; HeaderFormat _HeaderFormat; PluginType _PluginType; - SlaveSource _SlaveSource; + SyncSource _SyncSource; ShuttleBehaviour _ShuttleBehaviour; ShuttleUnits _ShuttleUnits; Session::RecordState _Session_RecordState; - Session::Event::Type _Session_Event_Type; + SessionEvent::Type _SessionEvent_Type; TimecodeFormat _Session_TimecodeFormat; Session::PullupFormat _Session_PullupFormat; AudioRegion::FadeShape _AudioRegion_FadeShape; @@ -89,9 +93,6 @@ setup_enum_writer () Source::Flag _Source_Flag; Diskstream::Flag _Diskstream_Flag; Location::Flags _Location_Flags; - RouteGroup::Flag _RouteGroup_Flag; - RouteGroup::Property _RouteGroup_Property; - Region::Flag _Region_Flag; Region::PositionLockStyle _Region_PositionLockStyle; Track::FreezeState _Track_FreezeState; AutomationList::InterpolationStyle _AutomationList_InterpolationStyle; @@ -114,9 +115,12 @@ setup_enum_writer () WaveformScale _WaveformScale; WaveformShape _WaveformShape; QuantizeType _QuantizeType; + Session::PostTransportWork _Session_PostTransportWork; + Session::SlaveState _Session_SlaveState; + MTC_Status _MIDI_MTC_Status; -#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(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) @@ -160,6 +164,7 @@ setup_enum_writer () REGISTER_ENUM (MeterInput); REGISTER_ENUM (MeterPreFader); REGISTER_ENUM (MeterPostFader); + REGISTER_ENUM (MeterCustom); REGISTER (_MeterPoint); REGISTER_ENUM (Normal); @@ -266,11 +271,10 @@ setup_enum_writer () REGISTER_ENUM (VST); REGISTER (_PluginType); - REGISTER_ENUM (None); REGISTER_ENUM (MTC); REGISTER_ENUM (JACK); REGISTER_ENUM (MIDIClock); - REGISTER (_SlaveSource); + REGISTER (_SyncSource); REGISTER_ENUM (Sprung); REGISTER_ENUM (Wheel); @@ -285,25 +289,52 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Session, Recording); REGISTER (_Session_RecordState); - REGISTER_CLASS_ENUM (Session::Event, SetTransportSpeed); - REGISTER_CLASS_ENUM (Session::Event, SetDiskstreamSpeed); - REGISTER_CLASS_ENUM (Session::Event, Locate); - REGISTER_CLASS_ENUM (Session::Event, LocateRoll); - REGISTER_CLASS_ENUM (Session::Event, LocateRollLocate); - REGISTER_CLASS_ENUM (Session::Event, SetLoop); - REGISTER_CLASS_ENUM (Session::Event, PunchIn); - REGISTER_CLASS_ENUM (Session::Event, PunchOut); - REGISTER_CLASS_ENUM (Session::Event, RangeStop); - REGISTER_CLASS_ENUM (Session::Event, RangeLocate); - REGISTER_CLASS_ENUM (Session::Event, Overwrite); - REGISTER_CLASS_ENUM (Session::Event, SetSlaveSource); - REGISTER_CLASS_ENUM (Session::Event, Audition); - REGISTER_CLASS_ENUM (Session::Event, InputConfigurationChange); - REGISTER_CLASS_ENUM (Session::Event, SetAudioRange); - REGISTER_CLASS_ENUM (Session::Event, SetPlayRange); - REGISTER_CLASS_ENUM (Session::Event, StopOnce); - REGISTER_CLASS_ENUM (Session::Event, AutoLoop); - REGISTER (_Session_Event_Type); + REGISTER_CLASS_ENUM (SessionEvent, SetTransportSpeed); + REGISTER_CLASS_ENUM (SessionEvent, SetTrackSpeed); + REGISTER_CLASS_ENUM (SessionEvent, Locate); + REGISTER_CLASS_ENUM (SessionEvent, LocateRoll); + REGISTER_CLASS_ENUM (SessionEvent, LocateRollLocate); + REGISTER_CLASS_ENUM (SessionEvent, SetLoop); + REGISTER_CLASS_ENUM (SessionEvent, PunchIn); + REGISTER_CLASS_ENUM (SessionEvent, PunchOut); + REGISTER_CLASS_ENUM (SessionEvent, RangeStop); + REGISTER_CLASS_ENUM (SessionEvent, RangeLocate); + REGISTER_CLASS_ENUM (SessionEvent, Overwrite); + REGISTER_CLASS_ENUM (SessionEvent, SetSyncSource); + REGISTER_CLASS_ENUM (SessionEvent, Audition); + REGISTER_CLASS_ENUM (SessionEvent, InputConfigurationChange); + REGISTER_CLASS_ENUM (SessionEvent, SetPlayAudioRange); + REGISTER_CLASS_ENUM (SessionEvent, StopOnce); + REGISTER_CLASS_ENUM (SessionEvent, AutoLoop); + REGISTER (_SessionEvent_Type); + + REGISTER_CLASS_ENUM (Session, Stopped); + REGISTER_CLASS_ENUM (Session, Waiting); + REGISTER_CLASS_ENUM (Session, Running); + REGISTER (_Session_SlaveState); + + REGISTER_ENUM (MTC_Stopped); + REGISTER_ENUM (MTC_Forward); + REGISTER_ENUM (MTC_Backward); + REGISTER (_MIDI_MTC_Status); + + REGISTER_CLASS_ENUM (Session, PostTransportStop); + REGISTER_CLASS_ENUM (Session, PostTransportDisableRecord); + REGISTER_CLASS_ENUM (Session, PostTransportPosition); + REGISTER_CLASS_ENUM (Session, PostTransportDidRecord); + REGISTER_CLASS_ENUM (Session, PostTransportDuration); + REGISTER_CLASS_ENUM (Session, PostTransportLocate); + REGISTER_CLASS_ENUM (Session, PostTransportRoll); + REGISTER_CLASS_ENUM (Session, PostTransportAbort); + REGISTER_CLASS_ENUM (Session, PostTransportOverWrite); + REGISTER_CLASS_ENUM (Session, PostTransportSpeed); + REGISTER_CLASS_ENUM (Session, PostTransportAudition); + REGISTER_CLASS_ENUM (Session, PostTransportScrub); + REGISTER_CLASS_ENUM (Session, PostTransportReverse); + REGISTER_CLASS_ENUM (Session, PostTransportInputChange); + REGISTER_CLASS_ENUM (Session, PostTransportCurveRealloc); + REGISTER_CLASS_ENUM (Session, PostTransportClearSubstate); + REGISTER_BITS (_Session_PostTransportWork); REGISTER_CLASS_ENUM (Session, Clean); REGISTER_CLASS_ENUM (Session, Dirty); @@ -339,7 +370,7 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Route, Hidden); REGISTER_CLASS_ENUM (Route, MasterOut); - REGISTER_CLASS_ENUM (Route, ControlOut); + REGISTER_CLASS_ENUM (Route, MonitorOut); REGISTER_BITS (_Route_Flag); REGISTER_CLASS_ENUM (Source, Writable); @@ -369,49 +400,14 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Location, IsAutoLoop); REGISTER_CLASS_ENUM (Location, IsHidden); REGISTER_CLASS_ENUM (Location, IsCDMarker); - REGISTER_CLASS_ENUM (Location, IsEnd); + REGISTER_CLASS_ENUM (Location, IsSessionRange); REGISTER_CLASS_ENUM (Location, IsRangeMarker); - REGISTER_CLASS_ENUM (Location, IsStart); REGISTER_BITS (_Location_Flags); - REGISTER_CLASS_ENUM (RouteGroup, Relative); - REGISTER_CLASS_ENUM (RouteGroup, Active); - REGISTER_CLASS_ENUM (RouteGroup, Hidden); - REGISTER_BITS (_RouteGroup_Flag); - - REGISTER_CLASS_ENUM (RouteGroup, Gain); - REGISTER_CLASS_ENUM (RouteGroup, Mute); - REGISTER_CLASS_ENUM (RouteGroup, Solo); - REGISTER_CLASS_ENUM (RouteGroup, RecEnable); - REGISTER_CLASS_ENUM (RouteGroup, Select); - REGISTER_CLASS_ENUM (RouteGroup, Edit); - REGISTER_BITS (_RouteGroup_Property); - REGISTER_CLASS_ENUM (Panner, SameDirection); REGISTER_CLASS_ENUM (Panner, OppositeDirection); REGISTER (_Panner_LinkDirection); - REGISTER_CLASS_ENUM (Region, Muted); - REGISTER_CLASS_ENUM (Region, Opaque); - REGISTER_CLASS_ENUM (Region, EnvelopeActive); - REGISTER_CLASS_ENUM (Region, DefaultFadeIn); - REGISTER_CLASS_ENUM (Region, DefaultFadeOut); - REGISTER_CLASS_ENUM (Region, Locked); - REGISTER_CLASS_ENUM (Region, PositionLocked); - REGISTER_CLASS_ENUM (Region, Automatic); - REGISTER_CLASS_ENUM (Region, WholeFile); - REGISTER_CLASS_ENUM (Region, FadeIn); - REGISTER_CLASS_ENUM (Region, FadeOut); - REGISTER_CLASS_ENUM (Region, Copied); - REGISTER_CLASS_ENUM (Region, Import); - REGISTER_CLASS_ENUM (Region, External); - REGISTER_CLASS_ENUM (Region, SyncMarked); - REGISTER_CLASS_ENUM (Region, LeftOfSplit); - REGISTER_CLASS_ENUM (Region, RightOfSplit); - REGISTER_CLASS_ENUM (Region, Hidden); - REGISTER_CLASS_ENUM (Region, DoNotSendPropertyChanges); - REGISTER_BITS (_Region_Flag); - REGISTER_CLASS_ENUM (Region, AudioTime); REGISTER_CLASS_ENUM (Region, MusicTime); REGISTER_BITS (_Region_PositionLockStyle); @@ -516,6 +512,7 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Delivery, Send); REGISTER_CLASS_ENUM (Delivery, Listen); REGISTER_CLASS_ENUM (Delivery, Main); + REGISTER_CLASS_ENUM (Delivery, Aux); REGISTER_BITS (_Delivery_Role); REGISTER_CLASS_ENUM (MuteMaster, PreFader); @@ -547,9 +544,10 @@ setup_enum_writer () REGISTER_ENUM(Legato); REGISTER_ENUM(Groove); REGISTER(_QuantizeType); - } +} /* namespace ARDOUR */ + /* deserializing types from ardour/types.h */ std::istream& operator>>(std::istream& o, HeaderFormat& var) @@ -670,15 +668,15 @@ 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, SlaveSource& var) +std::istream& operator>>(std::istream& o, SyncSource& var) { std::string s; o >> s; - var = (SlaveSource) string_2_enum (s, var); + var = (SyncSource) string_2_enum (s, var); return o; } -std::ostream& operator<<(std::ostream& o, const SlaveSource& var) +std::ostream& operator<<(std::ostream& o, const SyncSource& var) { std::string s = enum_2_string (var); return o << s; @@ -761,3 +759,5 @@ std::ostream& operator<<(std::ostream& o, const WaveformShape& var) std::string s = enum_2_string (var); return o << s; } + +