summaryrefslogtreecommitdiff
path: root/libs/ardour/enums.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-07-16 14:45:35 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-07-16 14:45:35 +0000
commit6e3168b7d3162ba2273e6e90cb0c555ba68cb407 (patch)
tree8486a78d7c97c7e448971e4cf8e4d42e449695b2 /libs/ardour/enums.cc
parent9816ed02c70939a98062f76aa8d5919cb5826146 (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.cc24
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;
+}