X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fenums.cc;h=1ca26f8faef7b1fbdb08f9e6e726005d0bdd4125;hb=33da74c8e353ac56194956cae8e2b7d74ec1a1b0;hp=4220adf7eb2242d9453e58cee85b82685adaa4ba;hpb=99904735e066804358f1d0bd138a84f1e9ecda91;p=ardour.git diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 4220adf7eb..1ca26f8fae 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -1,14 +1,41 @@ -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include +/* + Copyright (C) 2000-2007 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include "pbd/enumwriter.h" + +#include "ardour/audiofilesource.h" +#include "ardour/audioregion.h" +#include "ardour/delivery.h" +#include "ardour/diskstream.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/track.h" +#include "ardour/types.h" using namespace std; using namespace PBD; @@ -25,6 +52,9 @@ setup_enum_writer () AlignStyle _AlignStyle; MeterPoint _MeterPoint; TrackMode _TrackMode; + NoteMode _NoteMode; + ChannelMode _ChannelMode; + ColorMode _ColorMode; MeterFalloff _MeterFalloff; MeterHold _MeterHold; EditMode _EditMode; @@ -32,16 +62,17 @@ setup_enum_writer () Placement _Placement; MonitorModel _MonitorModel; RemoteModel _RemoteModel; + DenormalModel _DenormalModel; CrossfadeModel _CrossfadeModel; LayerModel _LayerModel; - SoloModel _SoloModel; + ListenPosition _ListenPosition; SampleFormat _SampleFormat; + CDMarkerFormat _CDMarkerFormat; HeaderFormat _HeaderFormat; PluginType _PluginType; SlaveSource _SlaveSource; ShuttleBehaviour _ShuttleBehaviour; ShuttleUnits _ShuttleUnits; - mute_type _mute_type; Session::RecordState _Session_RecordState; Session::Event::Type _Session_Event_Type; SmpteFormat _Session_SmpteFormat; @@ -55,12 +86,31 @@ setup_enum_writer () AutoConnectOption _AutoConnectOption; Session::StateOfTheState _Session_StateOfTheState; Route::Flag _Route_Flag; - AudioFileSource::Flag _AudioFileSource_Flag; + 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; + AnyTime::Type _AnyTime_Type; + ExportFilename::TimeFormat _ExportFilename_TimeFormat; + ExportFilename::DateFormat _ExportFilename_DateFormat; + ExportFormatBase::Type _ExportFormatBase_Type; + ExportFormatBase::FormatId _ExportFormatBase_FormatId; + ExportFormatBase::Endianness _ExportFormatBase_Endianness; + ExportFormatBase::SampleFormat _ExportFormatBase_SampleFormat; + ExportFormatBase::DitherType _ExportFormatBase_DitherType; + ExportFormatBase::Quality _ExportFormatBase_Quality; + ExportFormatBase::SampleRate _ExportFormatBase_SampleRate; + ExportFormatBase::SRCQuality _ExportFormatBase_SRCQuality; + ExportProfileManager::TimeFormat _ExportProfileManager_TimeFormat; + Delivery::Role _Delivery_Role; + IO::Direction _IO_Direction; + MuteMaster::MutePoint _MuteMaster_MutePoint; + MidiModel::DiffCommand::Property _MidiModel_DiffCommand_Property; #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() @@ -78,12 +128,16 @@ setup_enum_writer () REGISTER_ENUM (OverlapEnd); REGISTER_ENUM (OverlapExternal); REGISTER (_OverlapType); - + REGISTER_ENUM (GainAutomation); REGISTER_ENUM (PanAutomation); REGISTER_ENUM (PluginAutomation); REGISTER_ENUM (SoloAutomation); REGISTER_ENUM (MuteAutomation); + REGISTER_ENUM (MidiCCAutomation); + REGISTER_ENUM (FadeInAutomation); + REGISTER_ENUM (FadeOutAutomation); + REGISTER_ENUM (EnvelopeAutomation); REGISTER_BITS (_AutomationType); REGISTER_ENUM (Off); @@ -97,18 +151,33 @@ setup_enum_writer () REGISTER_BITS (_AutoStyle); REGISTER_ENUM (CaptureTime); - REGISTER_ENUM (ExistingMaterial); + REGISTER_ENUM (ExistingMaterial); REGISTER (_AlignStyle); REGISTER_ENUM (MeterInput); REGISTER_ENUM (MeterPreFader); - REGISTER_ENUM (MeterPostFader); + REGISTER_ENUM (MeterPostFader); REGISTER (_MeterPoint); REGISTER_ENUM (Normal); + REGISTER_ENUM (NonLayered); REGISTER_ENUM (Destructive); REGISTER (_TrackMode); + REGISTER_ENUM (Sustained); + REGISTER_ENUM (Percussive); + REGISTER (_NoteMode); + + REGISTER_ENUM (AllChannels); + REGISTER_ENUM (FilterChannels); + REGISTER_ENUM (ForceChannel); + REGISTER (_ChannelMode); + + REGISTER_ENUM (MeterColors); + REGISTER_ENUM (ChannelColors); + REGISTER_ENUM (TrackColor); + REGISTER (_ColorMode); + REGISTER_ENUM (MeterFalloffOff); REGISTER_ENUM (MeterFalloffSlowest); REGISTER_ENUM (MeterFalloffSlow); @@ -117,7 +186,7 @@ setup_enum_writer () REGISTER_ENUM (MeterFalloffFaster); REGISTER_ENUM (MeterFalloffFastest); REGISTER (_MeterFalloff); - + REGISTER_ENUM (MeterHoldOff); REGISTER_ENUM (MeterHoldShort); REGISTER_ENUM (MeterHoldMedium); @@ -125,15 +194,14 @@ setup_enum_writer () REGISTER (_MeterHold); REGISTER_ENUM (Slide); - REGISTER_ENUM (Splice); + REGISTER_ENUM (Splice); REGISTER (_EditMode); REGISTER_ENUM (Start); REGISTER_ENUM (End); - REGISTER_ENUM (SyncPoint); + REGISTER_ENUM (SyncPoint); REGISTER (_RegionPoint); - REGISTER_ENUM (PreFader); REGISTER_ENUM (PostFader); REGISTER (_Placement); @@ -143,6 +211,12 @@ setup_enum_writer () REGISTER_ENUM (ExternalMonitoring); REGISTER (_MonitorModel); + REGISTER_ENUM (DenormalNone); + REGISTER_ENUM (DenormalFTZ); + REGISTER_ENUM (DenormalDAZ); + REGISTER_ENUM (DenormalFTZDAZ); + REGISTER (_DenormalModel); + REGISTER_ENUM (UserOrdered); REGISTER_ENUM (MixerOrdered); REGISTER_ENUM (EditorOrdered); @@ -154,12 +228,12 @@ setup_enum_writer () REGISTER_ENUM (LaterHigher); REGISTER_ENUM (MoveAddHigher); - REGISTER_ENUM (AddHigher); + REGISTER_ENUM (AddHigher); REGISTER (_LayerModel); - REGISTER_ENUM (InverseMute); - REGISTER_ENUM (SoloBus); - REGISTER (_SoloModel); + REGISTER_ENUM (AfterFaderListen); + REGISTER_ENUM (PreFaderListen); + REGISTER (_ListenPosition); REGISTER_ENUM (AutoConnectPhysical); REGISTER_ENUM (AutoConnectMaster); @@ -167,15 +241,21 @@ setup_enum_writer () REGISTER_ENUM (FormatFloat); REGISTER_ENUM (FormatInt24); + REGISTER_ENUM (FormatInt16); REGISTER (_SampleFormat); + REGISTER_ENUM (CDMarkerNone); + REGISTER_ENUM (CDMarkerCUE); + REGISTER_ENUM (CDMarkerTOC); + REGISTER (_CDMarkerFormat); + REGISTER_ENUM (BWF); REGISTER_ENUM (WAVE); REGISTER_ENUM (WAVE64); REGISTER_ENUM (CAF); REGISTER_ENUM (AIFF); REGISTER_ENUM (iXML); - REGISTER_ENUM (RF64); + REGISTER_ENUM (RF64); REGISTER (_HeaderFormat); REGISTER_ENUM (AudioUnit); @@ -185,15 +265,16 @@ setup_enum_writer () REGISTER_ENUM (None); REGISTER_ENUM (MTC); - REGISTER_ENUM (JACK); + REGISTER_ENUM (JACK); + REGISTER_ENUM (MIDIClock); REGISTER (_SlaveSource); REGISTER_ENUM (Sprung); - REGISTER_ENUM (Wheel); + REGISTER_ENUM (Wheel); REGISTER (_ShuttleBehaviour); REGISTER_ENUM (Percentage); - REGISTER_ENUM (Semitones); + REGISTER_ENUM (Semitones); REGISTER (_ShuttleUnits); REGISTER_CLASS_ENUM (Session, Disabled); @@ -205,6 +286,7 @@ setup_enum_writer () 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); @@ -252,26 +334,20 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Session, pullup_Minus4Minus1); REGISTER (_Session_PullupFormat); - REGISTER_ENUM (PRE_FADER); - REGISTER_ENUM (POST_FADER); - REGISTER_ENUM (CONTROL_OUTS); - REGISTER_ENUM (MAIN_OUTS); - REGISTER (_mute_type); - REGISTER_CLASS_ENUM (Route, Hidden); REGISTER_CLASS_ENUM (Route, MasterOut); REGISTER_CLASS_ENUM (Route, ControlOut); REGISTER_BITS (_Route_Flag); - REGISTER_CLASS_ENUM (AudioFileSource, Writable); - REGISTER_CLASS_ENUM (AudioFileSource, CanRename); - REGISTER_CLASS_ENUM (AudioFileSource, Broadcast); - REGISTER_CLASS_ENUM (AudioFileSource, Removable); - REGISTER_CLASS_ENUM (AudioFileSource, RemovableIfEmpty); - REGISTER_CLASS_ENUM (AudioFileSource, RemoveAtDestroy); - REGISTER_CLASS_ENUM (AudioFileSource, NoPeakFile); - REGISTER_CLASS_ENUM (AudioFileSource, Destructive); - REGISTER_BITS (_AudioFileSource_Flag); + REGISTER_CLASS_ENUM (Source, Writable); + REGISTER_CLASS_ENUM (Source, CanRename); + REGISTER_CLASS_ENUM (Source, Broadcast); + REGISTER_CLASS_ENUM (Source, Removable); + REGISTER_CLASS_ENUM (Source, RemovableIfEmpty); + REGISTER_CLASS_ENUM (Source, RemoveAtDestroy); + REGISTER_CLASS_ENUM (Source, NoPeakFile); + REGISTER_CLASS_ENUM (Source, Destructive); + REGISTER_BITS (_Source_Flag); REGISTER_CLASS_ENUM (AudioRegion, Linear); REGISTER_CLASS_ENUM (AudioRegion, Fast); @@ -295,12 +371,19 @@ setup_enum_writer () 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); @@ -311,6 +394,7 @@ setup_enum_writer () 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); @@ -322,12 +406,129 @@ setup_enum_writer () REGISTER_CLASS_ENUM (Region, LeftOfSplit); REGISTER_CLASS_ENUM (Region, RightOfSplit); REGISTER_CLASS_ENUM (Region, Hidden); - REGISTER_CLASS_ENUM (Region, DoNotSaveState); + REGISTER_CLASS_ENUM (Region, DoNotSendPropertyChanges); REGISTER_BITS (_Region_Flag); + 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); REGISTER (_Track_FreezeState); - + + REGISTER_CLASS_ENUM (AutomationList, Discrete); + REGISTER_CLASS_ENUM (AutomationList, Linear); + REGISTER_CLASS_ENUM (AutomationList, Curved); + REGISTER (_AutomationList_InterpolationStyle); + + REGISTER_CLASS_ENUM (AnyTime, SMPTE); + REGISTER_CLASS_ENUM (AnyTime, BBT); + REGISTER_CLASS_ENUM (AnyTime, Frames); + REGISTER_CLASS_ENUM (AnyTime, Seconds); + REGISTER (_AnyTime_Type); + + REGISTER_CLASS_ENUM (ExportFilename, D_None); + REGISTER_CLASS_ENUM (ExportFilename, D_ISO); + REGISTER_CLASS_ENUM (ExportFilename, D_ISOShortY); + REGISTER_CLASS_ENUM (ExportFilename, D_BE); + REGISTER_CLASS_ENUM (ExportFilename, D_BEShortY); + REGISTER (_ExportFilename_DateFormat); + + REGISTER_CLASS_ENUM (ExportFilename, T_None); + REGISTER_CLASS_ENUM (ExportFilename, T_NoDelim); + REGISTER_CLASS_ENUM (ExportFilename, T_Delim); + REGISTER (_ExportFilename_TimeFormat); + + REGISTER_CLASS_ENUM (ExportFormatBase, T_None); + REGISTER_CLASS_ENUM (ExportFormatBase, T_Sndfile); + REGISTER (_ExportFormatBase_Type); + + REGISTER_CLASS_ENUM (ExportFormatBase, F_None); + REGISTER_CLASS_ENUM (ExportFormatBase, F_WAV); + REGISTER_CLASS_ENUM (ExportFormatBase, F_W64); + REGISTER_CLASS_ENUM (ExportFormatBase, F_AIFF); + REGISTER_CLASS_ENUM (ExportFormatBase, F_AU); + REGISTER_CLASS_ENUM (ExportFormatBase, F_IRCAM); + REGISTER_CLASS_ENUM (ExportFormatBase, F_RAW); + REGISTER_CLASS_ENUM (ExportFormatBase, F_FLAC); + REGISTER_CLASS_ENUM (ExportFormatBase, F_Ogg); + REGISTER (_ExportFormatBase_FormatId); + + REGISTER_CLASS_ENUM (ExportFormatBase, E_FileDefault); + REGISTER_CLASS_ENUM (ExportFormatBase, E_Little); + REGISTER_CLASS_ENUM (ExportFormatBase, E_Big); + REGISTER_CLASS_ENUM (ExportFormatBase, E_Cpu); + REGISTER (_ExportFormatBase_Endianness); + + REGISTER_CLASS_ENUM (ExportFormatBase, SF_None); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_8); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_16); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_24); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_32); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_U8); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_Float); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_Double); + REGISTER_CLASS_ENUM (ExportFormatBase, SF_Vorbis); + REGISTER (_ExportFormatBase_SampleFormat); + + REGISTER_CLASS_ENUM (ExportFormatBase, D_None); + REGISTER_CLASS_ENUM (ExportFormatBase, D_Rect); + REGISTER_CLASS_ENUM (ExportFormatBase, D_Tri); + REGISTER_CLASS_ENUM (ExportFormatBase, D_Shaped); + REGISTER (_ExportFormatBase_DitherType); + + REGISTER_CLASS_ENUM (ExportFormatBase, Q_None); + REGISTER_CLASS_ENUM (ExportFormatBase, Q_Any); + REGISTER_CLASS_ENUM (ExportFormatBase, Q_LosslessLinear); + REGISTER_CLASS_ENUM (ExportFormatBase, Q_LosslessCompression); + REGISTER_CLASS_ENUM (ExportFormatBase, Q_LossyCompression); + REGISTER (_ExportFormatBase_Quality); + + REGISTER_CLASS_ENUM (ExportFormatBase, SR_None); + REGISTER_CLASS_ENUM (ExportFormatBase, SR_22_05); + REGISTER_CLASS_ENUM (ExportFormatBase, SR_44_1); + REGISTER_CLASS_ENUM (ExportFormatBase, SR_48); + REGISTER_CLASS_ENUM (ExportFormatBase, SR_88_2); + REGISTER_CLASS_ENUM (ExportFormatBase, SR_96); + REGISTER_CLASS_ENUM (ExportFormatBase, SR_192); + REGISTER (_ExportFormatBase_SampleRate); + + REGISTER_CLASS_ENUM (ExportFormatBase, SRC_SincBest); + REGISTER_CLASS_ENUM (ExportFormatBase, SRC_SincMedium); + REGISTER_CLASS_ENUM (ExportFormatBase, SRC_SincFast); + REGISTER_CLASS_ENUM (ExportFormatBase, SRC_ZeroOrderHold); + REGISTER_CLASS_ENUM (ExportFormatBase, SRC_Linear); + REGISTER (_ExportFormatBase_SRCQuality); + + REGISTER_CLASS_ENUM (ExportProfileManager, SMPTE); + REGISTER_CLASS_ENUM (ExportProfileManager, BBT); + REGISTER_CLASS_ENUM (ExportProfileManager, MinSec); + REGISTER_CLASS_ENUM (ExportProfileManager, Frames); + REGISTER_CLASS_ENUM (ExportProfileManager, Off); + REGISTER (_ExportProfileManager_TimeFormat); + + REGISTER_CLASS_ENUM (Delivery, Insert); + REGISTER_CLASS_ENUM (Delivery, Send); + REGISTER_CLASS_ENUM (Delivery, Listen); + REGISTER_CLASS_ENUM (Delivery, Main); + REGISTER_BITS (_Delivery_Role); + + REGISTER_CLASS_ENUM (MuteMaster, PreFader); + REGISTER_CLASS_ENUM (MuteMaster, PostFader); + REGISTER_CLASS_ENUM (MuteMaster, Listen); + REGISTER_CLASS_ENUM (MuteMaster, Main); + REGISTER_BITS (_MuteMaster_MutePoint); + + REGISTER_CLASS_ENUM (IO, Input); + 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); }