diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-16 14:45:35 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-16 14:45:35 +0000 |
commit | 6e3168b7d3162ba2273e6e90cb0c555ba68cb407 (patch) | |
tree | 8486a78d7c97c7e448971e4cf8e4d42e449695b2 /libs/ardour/enums.cc | |
parent | 9816ed02c70939a98062f76aa8d5919cb5826146 (diff) |
add some Evoral enums to the enumwriter (seems a bit odd)
git-svn-id: svn://localhost/ardour2/branches/3.0@13044 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/enums.cc')
-rw-r--r-- | libs/ardour/enums.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index 042b10adb5..961041c2da 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -20,6 +20,8 @@ #include "pbd/enumwriter.h" #include "midi++/types.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" @@ -122,6 +124,7 @@ setup_enum_writer () 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() @@ -578,6 +581,13 @@ setup_enum_writer () 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 */ @@ -853,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; +} |