X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fenums.cc;h=853391c3d9d6fe55ec840d41983ecc0efa28e03d;hb=9b2612f68615d1b3f80fce732e4a13f5e50ee87d;hp=50eed759d78b59a33662172deae6fff072f26a3c;hpb=3a6f62d238d13970c0ec26fba116005c277ffca7;p=ardour.git diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 50eed759d7..853391c3d9 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -23,7 +23,7 @@ #include "evoral/Range.hpp" // shouldn't Evoral have its own enum registration? #include "ardour/delivery.h" -#include "ardour/diskstream.h" +#include "ardour/disk_io.h" #include "ardour/export_channel.h" #include "ardour/export_filename.h" #include "ardour/export_format_base.h" @@ -31,10 +31,14 @@ #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" #include "ardour/source.h" +#include "ardour/tempo.h" #include "ardour/track.h" +#include "ardour/transport_master.h" #include "ardour/types.h" using namespace std; @@ -55,6 +59,7 @@ setup_enum_writer () AlignStyle _AlignStyle; AlignChoice _AlignChoice; MeterPoint _MeterPoint; + DiskIOPoint _DiskIOPoint; MeterType _MeterType; TrackMode _TrackMode; NoteMode _NoteMode; @@ -72,8 +77,8 @@ setup_enum_writer () MonitorState _MonitorState; PFLPosition _PFLPosition; AFLPosition _AFLPosition; - RemoteModel _RemoteModel; DenormalModel _DenormalModel; + ClockDeltaMode _ClockDeltaMode; LayerModel _LayerModel; InsertMergePolicy _InsertMergePolicy; ListenPosition _ListenPosition; @@ -82,6 +87,7 @@ setup_enum_writer () HeaderFormat _HeaderFormat; PluginType _PluginType; SyncSource _SyncSource; + TransportRequestType _TransportRequestType; ShuttleBehaviour _ShuttleBehaviour; ShuttleUnits _ShuttleUnits; Session::RecordState _Session_RecordState; @@ -94,15 +100,14 @@ setup_enum_writer () IOChange _IOChange; AutomationType _AutomationType; AutoState _AutoState; - AutoStyle _AutoStyle; AutoConnectOption _AutoConnectOption; TracksAutoNamingRule _TracksAutoNamingRule; Session::StateOfTheState _Session_StateOfTheState; - Route::Flag _Route_Flag; Source::Flag _Source_Flag; - Diskstream::Flag _Diskstream_Flag; + DiskIOProcessor::Flag _DiskIOProcessor_Flag; Location::Flags _Location_Flags; PositionLockStyle _PositionLockStyle; + TempoSection::Type _TempoSection_Type; Track::FreezeState _Track_FreezeState; AutomationList::InterpolationStyle _AutomationList_InterpolationStyle; AnyTime::Type _AnyTime_Type; @@ -124,45 +129,67 @@ setup_enum_writer () MidiModel::NoteDiffCommand::Property _MidiModel_NoteDiffCommand_Property; MidiModel::SysExDiffCommand::Property _MidiModel_SysExDiffCommand_Property; MidiModel::PatchChangeDiffCommand::Property _MidiModel_PatchChangeDiffCommand_Property; + RegionEquivalence _RegionEquivalence; WaveformScale _WaveformScale; WaveformShape _WaveformShape; Session::PostTransportWork _Session_PostTransportWork; - Session::SlaveState _Session_SlaveState; MTC_Status _MIDI_MTC_Status; Evoral::OverlapType _OverlapType; - BufferingPreset _BufferingPreset; + BufferingPreset _BufferingPreset; AutoReturnTarget _AutoReturnTarget; + PresentationInfo::Flag _PresentationInfo_Flag; + MusicalMode::Type mode; + MidiPortFlags _MidiPortFlags; #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) + /* in mid-2017 the entire code base was changed to use "samples" + instead of frames, which included several enums. This hack table + entry will catch all of them. + */ + enum_writer.add_to_hack_table ("Frames", "Samples"); + + REGISTER_ENUM (NullAutomation); REGISTER_ENUM (GainAutomation); - REGISTER_ENUM (TrimAutomation); REGISTER_ENUM (PanAzimuthAutomation); REGISTER_ENUM (PanElevationAutomation); REGISTER_ENUM (PanWidthAutomation); + REGISTER_ENUM (PanFrontBackAutomation); + REGISTER_ENUM (PanLFEAutomation); REGISTER_ENUM (PluginAutomation); REGISTER_ENUM (PluginPropertyAutomation); REGISTER_ENUM (SoloAutomation); + REGISTER_ENUM (SoloIsolateAutomation); + REGISTER_ENUM (SoloSafeAutomation); REGISTER_ENUM (MuteAutomation); REGISTER_ENUM (MidiCCAutomation); + REGISTER_ENUM (MidiPgmChangeAutomation); + REGISTER_ENUM (MidiPitchBenderAutomation); + REGISTER_ENUM (MidiChannelPressureAutomation); + REGISTER_ENUM (MidiNotePressureAutomation); + REGISTER_ENUM (MidiSystemExclusiveAutomation); REGISTER_ENUM (FadeInAutomation); REGISTER_ENUM (FadeOutAutomation); REGISTER_ENUM (EnvelopeAutomation); + REGISTER_ENUM (RecEnableAutomation); + REGISTER_ENUM (RecSafeAutomation); + REGISTER_ENUM (TrimAutomation); + REGISTER_ENUM (PhaseAutomation); + REGISTER_ENUM (MonitoringAutomation); + REGISTER_ENUM (BusSendLevel); + REGISTER_ENUM (BusSendEnable); REGISTER (_AutomationType); REGISTER_ENUM (Off); REGISTER_ENUM (Write); REGISTER_ENUM (Touch); REGISTER_ENUM (Play); + REGISTER_ENUM (Latch); REGISTER_BITS (_AutoState); - REGISTER_ENUM (Absolute); - REGISTER_ENUM (Trim); - REGISTER_BITS (_AutoStyle); - REGISTER_ENUM (CaptureTime); REGISTER_ENUM (ExistingMaterial); REGISTER (_AlignStyle); @@ -179,6 +206,11 @@ setup_enum_writer () REGISTER_ENUM (MeterCustom); REGISTER (_MeterPoint); + REGISTER_ENUM (DiskIOPreFader); + REGISTER_ENUM (DiskIOPostFader); + REGISTER_ENUM (DiskIOCustom); + REGISTER (_DiskIOPoint); + REGISTER_ENUM (MeterMaxSignal); REGISTER_ENUM (MeterMaxPeak); REGISTER_ENUM (MeterPeak); @@ -287,15 +319,17 @@ setup_enum_writer () REGISTER_ENUM (AFLFromAfterProcessors); REGISTER (_AFLPosition); + REGISTER_ENUM (NoDelta); + REGISTER_ENUM (DeltaEditPoint); + REGISTER_ENUM (DeltaOriginMarker); + REGISTER (_ClockDeltaMode); + REGISTER_ENUM (DenormalNone); REGISTER_ENUM (DenormalFTZ); REGISTER_ENUM (DenormalDAZ); REGISTER_ENUM (DenormalFTZDAZ); REGISTER (_DenormalModel); - REGISTER_ENUM (UserOrdered); - REGISTER_ENUM (MixerOrdered); - REGISTER (_RemoteModel); /* * EditorOrdered has been deprecated * since the removal of independent @@ -346,12 +380,16 @@ setup_enum_writer () REGISTER_ENUM (RF64); REGISTER_ENUM (RF64_WAV); REGISTER_ENUM (MBWF); + REGISTER_ENUM (FLAC); REGISTER (_HeaderFormat); REGISTER_ENUM (AudioUnit); REGISTER_ENUM (LADSPA); + REGISTER_ENUM (LV2); REGISTER_ENUM (Windows_VST); REGISTER_ENUM (LXVST); + REGISTER_ENUM (MacVST); + REGISTER_ENUM (Lua); REGISTER (_PluginType); REGISTER_ENUM (MTC); @@ -361,6 +399,12 @@ setup_enum_writer () REGISTER_ENUM (LTC); REGISTER (_SyncSource); + REGISTER_ENUM (TR_Stop); + REGISTER_ENUM (TR_Start); + REGISTER_ENUM (TR_Speed); + REGISTER_ENUM (TR_Locate); + REGISTER (_TransportRequestType); + REGISTER_ENUM (Sprung); REGISTER_ENUM (Wheel); REGISTER (_ShuttleBehaviour); @@ -375,7 +419,6 @@ setup_enum_writer () REGISTER (_Session_RecordState); 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); @@ -385,9 +428,7 @@ setup_enum_writer () 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, CancelPlayAudioRange); REGISTER_CLASS_ENUM (SessionEvent, RealTimeOperation); @@ -395,9 +436,9 @@ setup_enum_writer () REGISTER_CLASS_ENUM (SessionEvent, AdjustCaptureBuffering); REGISTER_CLASS_ENUM (SessionEvent, SetTimecodeTransmission); REGISTER_CLASS_ENUM (SessionEvent, Skip); + REGISTER_CLASS_ENUM (SessionEvent, SetTransportMaster); REGISTER_CLASS_ENUM (SessionEvent, StopOnce); REGISTER_CLASS_ENUM (SessionEvent, AutoLoop); - REGISTER_CLASS_ENUM (SessionEvent, AutoLoopDeclick); REGISTER (_SessionEvent_Type); REGISTER_CLASS_ENUM (SessionEvent, Add); @@ -406,11 +447,6 @@ setup_enum_writer () REGISTER_CLASS_ENUM (SessionEvent, Clear); REGISTER (_SessionEvent_Action); - 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); @@ -422,7 +458,6 @@ setup_enum_writer () 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, PostTransportReverse); REGISTER_CLASS_ENUM (Session, PostTransportInputChange); @@ -462,11 +497,6 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Session, pullup_Minus4Minus1); REGISTER (_Session_PullupFormat); - REGISTER_CLASS_ENUM (Route, Auditioner); - REGISTER_CLASS_ENUM (Route, MasterOut); - REGISTER_CLASS_ENUM (Route, MonitorOut); - REGISTER_BITS (_Route_Flag); - REGISTER_CLASS_ENUM (Source, Writable); REGISTER_CLASS_ENUM (Source, CanRename); REGISTER_CLASS_ENUM (Source, Broadcast); @@ -495,10 +525,10 @@ setup_enum_writer () REGISTER_ENUM(ExistingNewlyCreatedBoth); REGISTER (_RegionSelectionAfterSplit); - REGISTER_CLASS_ENUM (Diskstream, Recordable); - REGISTER_CLASS_ENUM (Diskstream, Hidden); - REGISTER_CLASS_ENUM (Diskstream, Destructive); - REGISTER_BITS (_Diskstream_Flag); + REGISTER_CLASS_ENUM (DiskIOProcessor, Recordable); + REGISTER_CLASS_ENUM (DiskIOProcessor, Hidden); + REGISTER_CLASS_ENUM (DiskIOProcessor, Destructive); + REGISTER_BITS (_DiskIOProcessor_Flag); REGISTER_CLASS_ENUM (Location, IsMark); REGISTER_CLASS_ENUM (Location, IsAutoPunch); @@ -508,8 +538,13 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Location, IsSessionRange); REGISTER_CLASS_ENUM (Location, IsRangeMarker); REGISTER_CLASS_ENUM (Location, IsSkip); + REGISTER_CLASS_ENUM (Location, IsClockOrigin); REGISTER_BITS (_Location_Flags); + REGISTER_CLASS_ENUM (TempoSection, Ramp); + REGISTER_CLASS_ENUM (TempoSection, Constant); + REGISTER (_TempoSection_Type); + REGISTER_CLASS_ENUM (Track, NoFreeze); REGISTER_CLASS_ENUM (Track, Frozen); REGISTER_CLASS_ENUM (Track, UnFrozen); @@ -518,11 +553,13 @@ setup_enum_writer () REGISTER_CLASS_ENUM (AutomationList, Discrete); REGISTER_CLASS_ENUM (AutomationList, Linear); REGISTER_CLASS_ENUM (AutomationList, Curved); + REGISTER_CLASS_ENUM (AutomationList, Logarithmic); + REGISTER_CLASS_ENUM (AutomationList, Exponential); REGISTER (_AutomationList_InterpolationStyle); REGISTER_CLASS_ENUM (AnyTime, Timecode); REGISTER_CLASS_ENUM (AnyTime, BBT); - REGISTER_CLASS_ENUM (AnyTime, Frames); + REGISTER_CLASS_ENUM (AnyTime, Samples); REGISTER_CLASS_ENUM (AnyTime, Seconds); REGISTER (_AnyTime_Type); @@ -605,7 +642,7 @@ setup_enum_writer () REGISTER_CLASS_ENUM (ExportProfileManager, Timecode); REGISTER_CLASS_ENUM (ExportProfileManager, BBT); REGISTER_CLASS_ENUM (ExportProfileManager, MinSec); - REGISTER_CLASS_ENUM (ExportProfileManager, Frames); + REGISTER_CLASS_ENUM (ExportProfileManager, Samples); REGISTER (_ExportProfileManager_TimeFormat); REGISTER_CLASS_ENUM (RegionExportChannelFactory, None); @@ -619,6 +656,7 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Delivery, Listen); REGISTER_CLASS_ENUM (Delivery, Main); REGISTER_CLASS_ENUM (Delivery, Aux); + REGISTER_CLASS_ENUM (Delivery, Foldback); REGISTER_BITS (_Delivery_Role); REGISTER_CLASS_ENUM (MuteMaster, PreFader); @@ -646,6 +684,16 @@ setup_enum_writer () REGISTER_CLASS_ENUM (MidiModel::PatchChangeDiffCommand, Bank); REGISTER (_MidiModel_PatchChangeDiffCommand_Property); + REGISTER_ENUM(MidiPortMusic); + REGISTER_ENUM(MidiPortControl); + REGISTER_ENUM(MidiPortSelection); + REGISTER_BITS(_MidiPortFlags); + + REGISTER_ENUM(Exact); + REGISTER_ENUM(Enclosed); + REGISTER_ENUM(Overlap); + REGISTER(_RegionEquivalence); + REGISTER_ENUM(Linear); REGISTER_ENUM(Logarithmic); REGISTER(_WaveformScale); @@ -676,390 +724,58 @@ setup_enum_writer () REGISTER_ENUM (Loop); REGISTER_ENUM (RegionSelectionStart); REGISTER_BITS (_AutoReturnTarget); -} - -} /* namespace ARDOUR */ - -/* deserializing types from ardour/types.h */ - -std::istream& operator>>(std::istream& o, HeaderFormat& var) -{ - std::string s; - o >> s; - var = (HeaderFormat) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const HeaderFormat& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, SampleFormat& var) -{ - std::string s; - o >> s; - var = (SampleFormat) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const SampleFormat& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, AutoConnectOption& var) -{ - std::string s; - o >> s; - var = (AutoConnectOption) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const AutoConnectOption& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, TracksAutoNamingRule& var) -{ - std::string s; - o >> s; - var = (TracksAutoNamingRule) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const TracksAutoNamingRule& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, MonitorModel& var) -{ - std::string s; - o >> s; - var = (MonitorModel) string_2_enum (s, var); - return o; -} -std::ostream& operator<<(std::ostream& o, const MonitorModel& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, VUMeterStandard& var) -{ - std::string s; - o >> s; - var = (VUMeterStandard) string_2_enum (s, var); - return o; -} - -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, MeterLineUp& var) -{ - std::string s; - o >> s; - var = (MeterLineUp) string_2_enum (s, var); - return o; -} - -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, PFLPosition& var) -{ - std::string s; - o >> s; - var = (PFLPosition) string_2_enum (s, var); - return o; -} - -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, AFLPosition& var) -{ - std::string s; - o >> s; - var = (AFLPosition) string_2_enum (s, var); - return o; -} - -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, 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; - o >> s; - var = (EditMode) string_2_enum (s, var); - return o; -} - -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, ListenPosition& var) -{ - std::string s; - o >> s; - var = (ListenPosition) string_2_enum (s, var); - return o; -} - -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::string s; - o >> s; - var = (LayerModel) string_2_enum (s, var); - return o; + REGISTER_CLASS_ENUM (PresentationInfo, AudioTrack); + 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, Auditioner); + REGISTER_CLASS_ENUM (PresentationInfo, Hidden); + REGISTER_CLASS_ENUM (PresentationInfo, OrderSet); + REGISTER_CLASS_ENUM (PresentationInfo, FoldbackBus); + 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); } -std::ostream& operator<<(std::ostream& o, const LayerModel& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, InsertMergePolicy& var) -{ - std::string s; - o >> s; - var = (InsertMergePolicy) string_2_enum (s, var); - return o; -} -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, SyncSource& var) -{ - std::string s; - o >> s; - var = (SyncSource) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const SyncSource& var) -{ - std::string s = enum_2_string (var); - return o << s; -} -std::istream& operator>>(std::istream& o, ShuttleBehaviour& var) -{ - std::string s; - o >> s; - var = (ShuttleBehaviour) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const ShuttleBehaviour& var) -{ - std::string s = enum_2_string (var); - return o << s; -} -std::istream& operator>>(std::istream& o, ShuttleUnits& var) -{ - std::string s; - o >> s; - var = (ShuttleUnits) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const ShuttleUnits& var) -{ - std::string s = enum_2_string (var); - return o << s; -} -std::istream& operator>>(std::istream& o, TimecodeFormat& var) -{ - std::string s; - o >> s; - var = (TimecodeFormat) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const TimecodeFormat& var) -{ - std::string s = enum_2_string (var); - return o << s; -} -std::istream& operator>>(std::istream& o, DenormalModel& var) -{ - std::string s; - o >> s; - var = (DenormalModel) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const DenormalModel& var) -{ - std::string s = enum_2_string (var); - return o << s; -} -std::istream& operator>>(std::istream& o, WaveformScale& var) -{ - std::string s; - o >> s; - var = (WaveformScale) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const WaveformScale& var) -{ - std::string s = enum_2_string (var); - return o << s; -} -std::istream& operator>>(std::istream& o, WaveformShape& var) -{ - std::string s; - o >> s; - var = (WaveformShape) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const WaveformShape& var) -{ - std::string s = enum_2_string (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; -} - -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; -} - -std::istream& operator>>(std::istream& o, RegionSelectionAfterSplit& var) -{ - std::string s; - o >> s; - var = (RegionSelectionAfterSplit) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const RegionSelectionAfterSplit& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, ARDOUR::BufferingPreset& var) -{ - std::string s; - o >> s; - var = (ARDOUR::BufferingPreset) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const ARDOUR::BufferingPreset& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, AutoReturnTarget& var) -{ - std::string s; - o >> s; - var = (AutoReturnTarget) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const AutoReturnTarget& var) -{ - std::string s = enum_2_string (var); - return o << s; -} - -std::istream& operator>>(std::istream& o, MeterType& var) -{ - std::string s; - o >> s; - var = (MeterType) string_2_enum (s, var); - return o; -} - -std::ostream& operator<<(std::ostream& o, const MeterType& var) -{ - std::string s = enum_2_string (var); - return o << s; -} +} /* namespace ARDOUR */