X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fediting.h;h=8dd6f2ed6c3587266fa694dca9ff6bd29d1d507d;hb=f66f7ba136c8588e47b3381ab07353e85f4100bf;hp=2b95073ef7e5eb836341c61fdc7845c96e5486a8;hpb=209d967b1bb80a9735d690d8f4f0455ecb9970ca;p=ardour.git diff --git a/gtk2_ardour/editing.h b/gtk2_ardour/editing.h index 2b95073ef7..8dd6f2ed6c 100644 --- a/gtk2_ardour/editing.h +++ b/gtk2_ardour/editing.h @@ -1,8 +1,28 @@ +/* + 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. + +*/ + #ifndef __gtk_ardour_editing_h__ #define __gtk_ardour_editing_h__ #include #include +#include "ardour/types.h" // This involves some cpp magic. --taybin @@ -10,9 +30,16 @@ #define SNAPMODE(a) /*empty*/ #define REGIONLISTSORTTYPE(a) /*empty*/ #define MOUSEMODE(a) /*empty*/ +#define MIDIEDITMODE(a) /*empty*/ #define ZOOMFOCUS(a) /*empty*/ #define DISPLAYCONTROL(a) /*empty*/ -#define COLORID(a) /*empty*/ +#define IMPORTMODE(a) /*empty*/ +#define IMPORTPOSITION(a) +#define IMPORTDISPOSITION(a) +#define EDITPOINT(a) /*empty*/ +#define WAVEFORMSCALE(a) /*empty*/ +#define WAVEFORMSHAPE(a) /*empty*/ +#define INSERTTIMEOPT(a) /*empty*/ namespace Editing { @@ -23,13 +50,9 @@ enum SnapType { #include "editing_syms.h" }; -#undef SNAPTYPE -#define SNAPTYPE(s) #s, -static const char *snaptypestrs[] = { - #include "editing_syms.h" -}; +extern const char *snaptypestrs[]; inline const char* enum2str(SnapType m) {return snaptypestrs[m];} -SnapType str2snaptype(std::string); +SnapType str2snaptype(const std::string &); #undef SNAPTYPE #define SNAPTYPE(a) /*empty*/ @@ -41,13 +64,9 @@ enum SnapMode { #include "editing_syms.h" }; -#undef SNAPMODE -#define SNAPMODE(s) #s, -static const char *snapmodestrs[] = { - #include "editing_syms.h" -}; +extern const char *snapmodestrs[]; inline const char* enum2str(SnapMode m) {return snapmodestrs[m];} -SnapMode str2snapmode(std::string); +SnapMode str2snapmode(const std::string &); #undef SNAPMODE #define SNAPMODE(a) /*empty*/ @@ -59,13 +78,9 @@ enum RegionListSortType { #include "editing_syms.h" }; -#undef REGIONLISTSORTTYPE -#define REGIONLISTSORTTYPE(s) #s, -static const char *regionlistsorttypestrs[] = { - #include "editing_syms.h" -}; +extern const char *regionlistsorttypestrs[]; inline const char* enum2str(RegionListSortType m) {return regionlistsorttypestrs[m];} -RegionListSortType str2regionlistsorttype(std::string); +RegionListSortType str2regionlistsorttype(const std::string &); #undef REGIONLISTSORTTYPE #define REGIONLISTSORTTYPE(a) /*empty*/ @@ -77,17 +92,27 @@ enum MouseMode { #include "editing_syms.h" }; -#undef MOUSEMODE -#define MOUSEMODE(s) #s, -static const char *mousemodestrs[] = { - #include "editing_syms.h" -}; +extern const char *mousemodestrs[]; inline const char* enum2str(MouseMode m) {return mousemodestrs[m];} -MouseMode str2mousemode(std::string); +MouseMode str2mousemode(const std::string &); #undef MOUSEMODE #define MOUSEMODE(a) /*empty*/ +// MIDIEDITMODE +#undef MIDIEDITMODE +#define MIDIEDITMODE(a) a, +enum MidiEditMode { + #include "editing_syms.h" +}; + +extern const char *midieditmodestrs[]; +inline const char* enum2str(MidiEditMode m) {return midieditmodestrs[m];} +MidiEditMode str2midieditmode(const std::string &); + +#undef MIDIEDITMODE +#define MIDIEDITMODE(a) /*empty*/ + // ZOOMFOCUS #undef ZOOMFOCUS #define ZOOMFOCUS(a) a, @@ -95,13 +120,9 @@ enum ZoomFocus { #include "editing_syms.h" }; -#undef ZOOMFOCUS -#define ZOOMFOCUS(s) #s, -static const char *zoomfocusstrs[] = { - #include "editing_syms.h" -}; +extern const char *zoomfocusstrs[]; inline const char* enum2str(ZoomFocus m) {return zoomfocusstrs[m];} -ZoomFocus str2zoomfocus(std::string); +ZoomFocus str2zoomfocus(const std::string &); #undef ZOOMFOCUS #define ZOOMFOCUS(a) /*empty*/ @@ -113,37 +134,69 @@ enum DisplayControl { #include "editing_syms.h" }; -#undef DISPLAYCONTROL -#define DISPLAYCONTROL(s) #s, -static const char *displaycontrolstrs[] = { - #include "editing_syms.h" -}; +extern const char *displaycontrolstrs[]; inline const char* enum2str(DisplayControl m) {return displaycontrolstrs[m];} -DisplayControl str2displaycontrol (std::string); +DisplayControl str2displaycontrol (const std::string &); #undef DISPLAYCONTROL #define DISPLAYCONTROL(a) /*empty*/ -#undef COLORID -#define COLORID(a) a, -enum ColorID { - #include "editing_syms.h" + +// IMPORTMODE +#undef IMPORTMODE +#define IMPORTMODE(a) a, +enum ImportMode { + #include "editing_syms.h" +}; + +#undef IMPORTMODE +#define IMPORTMODE(a) /*empty*/ + +// IMPORTPOSITION +#undef IMPORTPOSITION +#define IMPORTPOSITION(a) a, +enum ImportPosition { + #include "editing_syms.h" +}; + +#undef IMPORTPOSITION +#define IMPORTPOSITION(a) /*empty*/ + +// IMPORTDISPOSITION +#undef IMPORTDISPOSITION +#define IMPORTDISPOSITION(a) a, +enum ImportDisposition { + #include "editing_syms.h" }; -#undef COLORID -#define COLORID(s) #s, -static const char *color_id_strs[] = { +#undef IMPORTDISPOSITION +#define IMPORTDISPOSITION(a) /*empty*/ + +// EDITPOINT +#undef EDITPOINT +#define EDITPOINT(a) a, +enum EditPoint { #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*/ +#undef EDITPOINT +#define EDITPOINT(a) /*empty*/ + +// INSERTTIMEOPT +#undef INSERTTIMEOPT +#define INSERTTIMEOPT(a) a, +enum InsertTimeOption { + #include "editing_syms.h" +}; + +#undef INSERTTIMEOPT +#define INSERTTIMEOPT(a) /*empty*/ + ///////////////////// // These don't need their state saved. yet... enum CutCopyOp { + Delete, Cut, Copy, Clear @@ -155,16 +208,13 @@ enum XFadeType { At }; -struct Color { - char r; - char g; - char b; - char a; +enum EditIgnoreOption { + EDIT_IGNORE_NONE, + EDIT_IGNORE_PHEAD, + EDIT_IGNORE_MOUSE, + EDIT_IGNORE_MARKER }; -typedef std::map ColorMap; -extern ColorMap color_map; - } // namespace Editing #endif // __gtk_ardour_editing_h__