Prevent endless read of silent files
[ardour.git] / gtk2_ardour / editing.cc
index 1513856ea6df4709c0885225337765323b4b7be9..b7f624e7efbf92de5a1074e700bab95157cbad3f 100644 (file)
@@ -1,31 +1,60 @@
-#include <string>
+/*
+    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 <cstring>
 
 #include "editing.h"
 
+#include "pbd/i18n.h"
+
 using namespace std;
 
 // This involves some cpp magic. --taybin
 
-#define SNAPTYPE(a) /*empty*/
+#define GRIDTYPE(a) /*empty*/
 #define SNAPMODE(a) /*empty*/
 #define REGIONLISTSORTTYPE(a) /*empty*/
 #define MOUSEMODE(a) /*empty*/
+#define MIDIEDITMODE(a) /*empty*/
 #define ZOOMFOCUS(a) /*empty*/
 #define DISPLAYCONTROL(a) /*empty*/
 
 namespace Editing {
 
-// SNAPTYPE
-#undef SNAPTYPE
-#define SNAPTYPE(s) if (!strcmp(type, #s)) {return s;}
-SnapType
-str2snaptype (const string & str) {
+// GRIDTYPE
+#undef GRIDTYPE
+#define GRIDTYPE(s) if (!strcmp(type, #s)) {return s;}
+GridType
+str2gridtype (const string & str) {
        const char* type = str.c_str();
        #include "editing_syms.h"
-       return SnapToBar;
+       return GridTypeBar;
 }
-#undef SNAPTYPE
-#define SNAPTYPE(a) /*empty*/
+
+#undef GRIDTYPE
+#define GRIDTYPE(s) N_(#s),
+const char *gridtypestrs[] = {
+       #include "editing_syms.h"
+       0
+};
+#undef GRIDTYPE
+#define GRIDTYPE(a) /*empty*/
 
 // SNAPMODE
 #undef SNAPMODE
@@ -34,11 +63,19 @@ SnapMode
 str2snapmode (const string & str) {
        const char* type = str.c_str();
        #include "editing_syms.h"
-       return SnapNormal;
+       return SnapMagnetic;
 }
+
+#undef SNAPMODE
+#define SNAPMODE(s) N_(#s),
+const char *snapmodestrs[] = {
+       #include "editing_syms.h"
+       0
+};
 #undef SNAPMODE
 #define SNAPMODE(a) /*empty*/
 
+
 // REGIONLISTSORTTYPE
 #undef REGIONLISTSORTTYPE
 #define REGIONLISTSORTTYPE(s) if (!strcmp(type, #s)) {return s;}
@@ -48,6 +85,13 @@ str2regionlistsorttype (const string & str) {
        #include "editing_syms.h"
        return ByName;
 }
+
+#undef REGIONLISTSORTTYPE
+#define REGIONLISTSORTTYPE(s) N_(#s),
+const char *regionlistsorttypestrs[] = {
+       #include "editing_syms.h"
+       0
+};
 #undef REGIONLISTSORTTYPE
 #define REGIONLISTSORTTYPE(a) /*empty*/
 
@@ -60,6 +104,13 @@ str2mousemode (const string & str) {
        #include "editing_syms.h"
        return MouseObject;
 }
+
+#undef MOUSEMODE
+#define MOUSEMODE(s) N_(#s),
+const char *mousemodestrs[] = {
+       #include "editing_syms.h"
+       0
+};
 #undef MOUSEMODE
 #define MOUSEMODE(a) /*empty*/
 
@@ -72,6 +123,13 @@ str2zoomfocus (const string & str) {
        #include "editing_syms.h"
        return ZoomFocusPlayhead;
 }
+
+#undef ZOOMFOCUS
+#define ZOOMFOCUS(s) N_(#s),
+const char *zoomfocusstrs[] = {
+       #include "editing_syms.h"
+       0
+};
 #undef ZOOMFOCUS
 #define ZOOMFOCUS(a) /*empty*/
 
@@ -84,7 +142,25 @@ str2displaycontrol (const string & str) {
        #include "editing_syms.h"
        return FollowPlayhead;
 }
+
+#undef DISPLAYCONTROL
+#define DISPLAYCONTROL(s) N_(#s),
+const char *displaycontrolstrs[] = {
+       #include "editing_syms.h"
+       0
+};
 #undef DISPLAYCONTROL
 #define DISPLAYCONTROL(a) /*empty*/
 
+//IMPORTMODE
+#undef IMPORTMODE
+#define IMPORTMODE(s) N_(#s),
+const char *importmodestrs[] = {
+       #include "editing_syms.h"
+       0
+};
+#undef IMPORTMODE
+#define IMPORTMODE(a) /*empty*/
+
 } // namespace Editing
+