summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editing.h
diff options
context:
space:
mode:
authorTaybin Rutkin <taybin@taybin.com>2005-09-25 18:42:24 +0000
committerTaybin Rutkin <taybin@taybin.com>2005-09-25 18:42:24 +0000
commit209d967b1bb80a9735d690d8f4f0455ecb9970ca (patch)
tree9d76ddcd7c1ac9d91bb2b1a33d31b66ce4ded5de /gtk2_ardour/editing.h
parente4b9aed743fc765219ac775905a221c017c88fba (diff)
Initial import of gtk2_ardour.
git-svn-id: svn://localhost/trunk/ardour2@24 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editing.h')
-rw-r--r--gtk2_ardour/editing.h170
1 files changed, 170 insertions, 0 deletions
diff --git a/gtk2_ardour/editing.h b/gtk2_ardour/editing.h
new file mode 100644
index 0000000000..2b95073ef7
--- /dev/null
+++ b/gtk2_ardour/editing.h
@@ -0,0 +1,170 @@
+#ifndef __gtk_ardour_editing_h__
+#define __gtk_ardour_editing_h__
+
+#include <string>
+#include <map>
+
+// This involves some cpp magic. --taybin
+
+#define SNAPTYPE(a) /*empty*/
+#define SNAPMODE(a) /*empty*/
+#define REGIONLISTSORTTYPE(a) /*empty*/
+#define MOUSEMODE(a) /*empty*/
+#define ZOOMFOCUS(a) /*empty*/
+#define DISPLAYCONTROL(a) /*empty*/
+#define COLORID(a) /*empty*/
+
+namespace Editing {
+
+// SNAPTYPE
+#undef SNAPTYPE
+#define SNAPTYPE(a) a,
+enum SnapType {
+ #include "editing_syms.h"
+};
+
+#undef SNAPTYPE
+#define SNAPTYPE(s) #s,
+static const char *snaptypestrs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(SnapType m) {return snaptypestrs[m];}
+SnapType str2snaptype(std::string);
+
+#undef SNAPTYPE
+#define SNAPTYPE(a) /*empty*/
+
+// SNAPMODE
+#undef SNAPMODE
+#define SNAPMODE(a) a,
+enum SnapMode {
+ #include "editing_syms.h"
+};
+
+#undef SNAPMODE
+#define SNAPMODE(s) #s,
+static const char *snapmodestrs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(SnapMode m) {return snapmodestrs[m];}
+SnapMode str2snapmode(std::string);
+
+#undef SNAPMODE
+#define SNAPMODE(a) /*empty*/
+
+// REGIONLISTSORTTYPE
+#undef REGIONLISTSORTTYPE
+#define REGIONLISTSORTTYPE(a) a,
+enum RegionListSortType {
+ #include "editing_syms.h"
+};
+
+#undef REGIONLISTSORTTYPE
+#define REGIONLISTSORTTYPE(s) #s,
+static const char *regionlistsorttypestrs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(RegionListSortType m) {return regionlistsorttypestrs[m];}
+RegionListSortType str2regionlistsorttype(std::string);
+
+#undef REGIONLISTSORTTYPE
+#define REGIONLISTSORTTYPE(a) /*empty*/
+
+// MOUSEMODE
+#undef MOUSEMODE
+#define MOUSEMODE(a) a,
+enum MouseMode {
+ #include "editing_syms.h"
+};
+
+#undef MOUSEMODE
+#define MOUSEMODE(s) #s,
+static const char *mousemodestrs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(MouseMode m) {return mousemodestrs[m];}
+MouseMode str2mousemode(std::string);
+
+#undef MOUSEMODE
+#define MOUSEMODE(a) /*empty*/
+
+// ZOOMFOCUS
+#undef ZOOMFOCUS
+#define ZOOMFOCUS(a) a,
+enum ZoomFocus {
+ #include "editing_syms.h"
+};
+
+#undef ZOOMFOCUS
+#define ZOOMFOCUS(s) #s,
+static const char *zoomfocusstrs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(ZoomFocus m) {return zoomfocusstrs[m];}
+ZoomFocus str2zoomfocus(std::string);
+
+#undef ZOOMFOCUS
+#define ZOOMFOCUS(a) /*empty*/
+
+// DISPLAYCONTROL
+#undef DISPLAYCONTROL
+#define DISPLAYCONTROL(a) a,
+enum DisplayControl {
+ #include "editing_syms.h"
+};
+
+#undef DISPLAYCONTROL
+#define DISPLAYCONTROL(s) #s,
+static const char *displaycontrolstrs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(DisplayControl m) {return displaycontrolstrs[m];}
+DisplayControl str2displaycontrol (std::string);
+
+#undef DISPLAYCONTROL
+#define DISPLAYCONTROL(a) /*empty*/
+
+#undef COLORID
+#define COLORID(a) a,
+enum ColorID {
+ #include "editing_syms.h"
+};
+
+#undef COLORID
+#define COLORID(s) #s,
+static const char *color_id_strs[] = {
+ #include "editing_syms.h"
+};
+inline const char* enum2str(ColorID m) {return color_id_strs[m];}
+ColorID str2color_id (std::string);
+
+#undef COLORID
+#define COLORID(a) /*empty*/
+
+/////////////////////
+// These don't need their state saved. yet...
+enum CutCopyOp {
+ Cut,
+ Copy,
+ Clear
+};
+
+enum XFadeType {
+ Pre,
+ Post,
+ At
+};
+
+struct Color {
+ char r;
+ char g;
+ char b;
+ char a;
+};
+
+typedef std::map<Editing::ColorID,int> ColorMap;
+extern ColorMap color_map;
+
+} // namespace Editing
+
+#endif // __gtk_ardour_editing_h__