+
+ REGISTER_CLASS_ENUM (AnyTime, Timecode);
+ 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, Timecode);
+ 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_CLASS_ENUM (Delivery, Aux);
+ 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);
+
+ REGISTER_ENUM(Linear);
+ REGISTER_ENUM(Logarithmic);
+ REGISTER(_WaveformScale);
+
+ REGISTER_ENUM(Traditional);
+ REGISTER_ENUM(Rectified);
+ REGISTER(_WaveformShape);
+
+ REGISTER_ENUM(Plain);
+ REGISTER_ENUM(Legato);
+ REGISTER_ENUM(Groove);
+ REGISTER(_QuantizeType);
+
+ REGISTER_ENUM(AudioTime);
+ REGISTER_ENUM(MusicTime);
+ REGISTER(_PositionLockStyle);
+}
+
+} /* 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, 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, 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;
+}
+
+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, CrossfadeModel& var)
+{
+ std::string s;
+ o >> s;
+ var = (CrossfadeModel) string_2_enum (s, var);
+ return o;
+}
+
+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, 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;