2 Copyright (C) 2000-2007 Paul Davis
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 #ifndef __gtk_ardour_editing_h__
21 #define __gtk_ardour_editing_h__
25 #include <ardour/types.h>
27 // This involves some cpp magic. --taybin
29 #define SNAPTYPE(a) /*empty*/
30 #define SNAPMODE(a) /*empty*/
31 #define REGIONLISTSORTTYPE(a) /*empty*/
32 #define MOUSEMODE(a) /*empty*/
33 #define ZOOMFOCUS(a) /*empty*/
34 #define DISPLAYCONTROL(a) /*empty*/
35 #define IMPORTMODE(a) /*empty*/
36 #define IMPORTPOSITION(a) /*empty*/
37 #define IMPORTDISPOSITION(a) /*empty*/
38 #define EDITPOINT(a) /*empty*/
44 #define SNAPTYPE(a) a,
46 #include "editing_syms.h"
49 extern const char *snaptypestrs[];
50 inline const char* enum2str(SnapType m) {return snaptypestrs[m];}
51 SnapType str2snaptype(const std::string &);
54 #define SNAPTYPE(a) /*empty*/
58 #define SNAPMODE(a) a,
60 #include "editing_syms.h"
63 extern const char *snapmodestrs[];
64 inline const char* enum2str(SnapMode m) {return snapmodestrs[m];}
65 SnapMode str2snapmode(const std::string &);
68 #define SNAPMODE(a) /*empty*/
71 #undef REGIONLISTSORTTYPE
72 #define REGIONLISTSORTTYPE(a) a,
73 enum RegionListSortType {
74 #include "editing_syms.h"
77 extern const char *regionlistsorttypestrs[];
78 inline const char* enum2str(RegionListSortType m) {return regionlistsorttypestrs[m];}
79 RegionListSortType str2regionlistsorttype(const std::string &);
81 #undef REGIONLISTSORTTYPE
82 #define REGIONLISTSORTTYPE(a) /*empty*/
86 #define MOUSEMODE(a) a,
88 #include "editing_syms.h"
91 extern const char *mousemodestrs[];
92 inline const char* enum2str(MouseMode m) {return mousemodestrs[m];}
93 MouseMode str2mousemode(const std::string &);
96 #define MOUSEMODE(a) /*empty*/
100 #define ZOOMFOCUS(a) a,
102 #include "editing_syms.h"
105 extern const char *zoomfocusstrs[];
106 inline const char* enum2str(ZoomFocus m) {return zoomfocusstrs[m];}
107 ZoomFocus str2zoomfocus(const std::string &);
110 #define ZOOMFOCUS(a) /*empty*/
113 #undef DISPLAYCONTROL
114 #define DISPLAYCONTROL(a) a,
115 enum DisplayControl {
116 #include "editing_syms.h"
119 extern const char *displaycontrolstrs[];
120 inline const char* enum2str(DisplayControl m) {return displaycontrolstrs[m];}
121 DisplayControl str2displaycontrol (const std::string &);
123 #undef DISPLAYCONTROL
124 #define DISPLAYCONTROL(a) /*empty*/
128 #define IMPORTMODE(a) a,
130 #include "editing_syms.h"
134 #define IMPORTMODE(a) /*empty*/
137 #undef IMPORTPOSITION
138 #define IMPORTPOSITION(a) a,
139 enum ImportPosition {
140 #include "editing_syms.h"
143 #undef IMPORTPOSITION
144 #define IMPORTPOSITION(a) /*empty*/
147 #undef IMPORTDISPOSITION
148 #define IMPORTDISPOSITION(a) a,
149 enum ImportDisposition {
150 #include "editing_syms.h"
153 #undef IMPORTDISPOSITION
154 #define IMPORTDISPOSITION(a) /*empty*/
158 #define EDITPOINT(a) a,
160 #include "editing_syms.h"
164 #define EDITPOINT(a) /*empty*/
166 /////////////////////
167 // These don't need their state saved. yet...
180 } // namespace Editing
182 #endif // __gtk_ardour_editing_h__