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 MIDIEDITMODE(a) /*empty*/
34 #define ZOOMFOCUS(a) /*empty*/
35 #define DISPLAYCONTROL(a) /*empty*/
36 #define IMPORTMODE(a) /*empty*/
37 #define IMPORTPOSITION(a)
38 #define IMPORTDISPOSITION(a)
39 #define EDITPOINT(a) /*empty*/
45 #define SNAPTYPE(a) a,
47 #include "editing_syms.h"
50 extern const char *snaptypestrs[];
51 inline const char* enum2str(SnapType m) {return snaptypestrs[m];}
52 SnapType str2snaptype(const std::string &);
55 #define SNAPTYPE(a) /*empty*/
59 #define SNAPMODE(a) a,
61 #include "editing_syms.h"
64 extern const char *snapmodestrs[];
65 inline const char* enum2str(SnapMode m) {return snapmodestrs[m];}
66 SnapMode str2snapmode(const std::string &);
69 #define SNAPMODE(a) /*empty*/
72 #undef REGIONLISTSORTTYPE
73 #define REGIONLISTSORTTYPE(a) a,
74 enum RegionListSortType {
75 #include "editing_syms.h"
78 extern const char *regionlistsorttypestrs[];
79 inline const char* enum2str(RegionListSortType m) {return regionlistsorttypestrs[m];}
80 RegionListSortType str2regionlistsorttype(const std::string &);
82 #undef REGIONLISTSORTTYPE
83 #define REGIONLISTSORTTYPE(a) /*empty*/
87 #define MOUSEMODE(a) a,
89 #include "editing_syms.h"
92 extern const char *mousemodestrs[];
93 inline const char* enum2str(MouseMode m) {return mousemodestrs[m];}
94 MouseMode str2mousemode(const std::string &);
97 #define MOUSEMODE(a) /*empty*/
101 #define MIDIEDITMODE(a) a,
103 #include "editing_syms.h"
106 extern const char *midieditmodestrs[];
107 inline const char* enum2str(MidiEditMode m) {return midieditmodestrs[m];}
108 MidiEditMode str2midieditmode(const std::string &);
111 #define MIDIEDITMODE(a) /*empty*/
115 #define ZOOMFOCUS(a) a,
117 #include "editing_syms.h"
120 extern const char *zoomfocusstrs[];
121 inline const char* enum2str(ZoomFocus m) {return zoomfocusstrs[m];}
122 ZoomFocus str2zoomfocus(const std::string &);
125 #define ZOOMFOCUS(a) /*empty*/
128 #undef DISPLAYCONTROL
129 #define DISPLAYCONTROL(a) a,
130 enum DisplayControl {
131 #include "editing_syms.h"
134 extern const char *displaycontrolstrs[];
135 inline const char* enum2str(DisplayControl m) {return displaycontrolstrs[m];}
136 DisplayControl str2displaycontrol (const std::string &);
138 #undef DISPLAYCONTROL
139 #define DISPLAYCONTROL(a) /*empty*/
144 #define IMPORTMODE(a) a,
146 #include "editing_syms.h"
150 #define IMPORTMODE(a) /*empty*/
153 #undef IMPORTPOSITION
154 #define IMPORTPOSITION(a) a,
155 enum ImportPosition {
156 #include "editing_syms.h"
159 #undef IMPORTPOSITION
160 #define IMPORTPOSITION(a) /*empty*/
163 #undef IMPORTDISPOSITION
164 #define IMPORTDISPOSITION(a) a,
165 enum ImportDisposition {
166 #include "editing_syms.h"
169 #undef IMPORTDISPOSITION
170 #define IMPORTDISPOSITION(a) /*empty*/
174 #define EDITPOINT(a) a,
176 #include "editing_syms.h"
180 #define EDITPOINT(a) /*empty*/
182 /////////////////////
183 // These don't need their state saved. yet...
196 } // namespace Editing
198 #endif // __gtk_ardour_editing_h__