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*/
40 #define WAVEFORMSCALE(a) /*empty*/
41 #define WAVEFORMSHAPE(a) /*empty*/
42 #define INSERTTIMEOPT(a) /*empty*/
48 #define SNAPTYPE(a) a,
50 #include "editing_syms.h"
53 extern const char *snaptypestrs
[];
54 inline const char* enum2str(SnapType m
) {return snaptypestrs
[m
];}
55 SnapType
str2snaptype(const std::string
&);
58 #define SNAPTYPE(a) /*empty*/
62 #define SNAPMODE(a) a,
64 #include "editing_syms.h"
67 extern const char *snapmodestrs
[];
68 inline const char* enum2str(SnapMode m
) {return snapmodestrs
[m
];}
69 SnapMode
str2snapmode(const std::string
&);
72 #define SNAPMODE(a) /*empty*/
75 #undef REGIONLISTSORTTYPE
76 #define REGIONLISTSORTTYPE(a) a,
77 enum RegionListSortType
{
78 #include "editing_syms.h"
81 extern const char *regionlistsorttypestrs
[];
82 inline const char* enum2str(RegionListSortType m
) {return regionlistsorttypestrs
[m
];}
83 RegionListSortType
str2regionlistsorttype(const std::string
&);
85 #undef REGIONLISTSORTTYPE
86 #define REGIONLISTSORTTYPE(a) /*empty*/
90 #define MOUSEMODE(a) a,
92 #include "editing_syms.h"
95 extern const char *mousemodestrs
[];
96 inline const char* enum2str(MouseMode m
) {return mousemodestrs
[m
];}
97 MouseMode
str2mousemode(const std::string
&);
100 #define MOUSEMODE(a) /*empty*/
104 #define MIDIEDITMODE(a) a,
106 #include "editing_syms.h"
109 extern const char *midieditmodestrs
[];
110 inline const char* enum2str(MidiEditMode m
) {return midieditmodestrs
[m
];}
111 MidiEditMode
str2midieditmode(const std::string
&);
114 #define MIDIEDITMODE(a) /*empty*/
118 #define ZOOMFOCUS(a) a,
120 #include "editing_syms.h"
123 extern const char *zoomfocusstrs
[];
124 inline const char* enum2str(ZoomFocus m
) {return zoomfocusstrs
[m
];}
125 ZoomFocus
str2zoomfocus(const std::string
&);
128 #define ZOOMFOCUS(a) /*empty*/
131 #undef DISPLAYCONTROL
132 #define DISPLAYCONTROL(a) a,
133 enum DisplayControl
{
134 #include "editing_syms.h"
137 extern const char *displaycontrolstrs
[];
138 inline const char* enum2str(DisplayControl m
) {return displaycontrolstrs
[m
];}
139 DisplayControl
str2displaycontrol (const std::string
&);
141 #undef DISPLAYCONTROL
142 #define DISPLAYCONTROL(a) /*empty*/
147 #define IMPORTMODE(a) a,
149 #include "editing_syms.h"
153 #define IMPORTMODE(a) /*empty*/
156 #undef IMPORTPOSITION
157 #define IMPORTPOSITION(a) a,
158 enum ImportPosition
{
159 #include "editing_syms.h"
162 #undef IMPORTPOSITION
163 #define IMPORTPOSITION(a) /*empty*/
166 #undef IMPORTDISPOSITION
167 #define IMPORTDISPOSITION(a) a,
168 enum ImportDisposition
{
169 #include "editing_syms.h"
172 #undef IMPORTDISPOSITION
173 #define IMPORTDISPOSITION(a) /*empty*/
177 #define EDITPOINT(a) a,
179 #include "editing_syms.h"
183 #define EDITPOINT(a) /*empty*/
187 #define INSERTTIMEOPT(a) a,
188 enum InsertTimeOption
{
189 #include "editing_syms.h"
193 #define INSERTTIMEOPT(a) /*empty*/
196 /////////////////////
197 // These don't need their state saved. yet...
210 } // namespace Editing
212 #endif // __gtk_ardour_editing_h__