X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fediting.h;h=5558f1946040ec9dfd5877ec2e90a9064b029e1f;hb=9836cd39432d3b2258d2a016d4c8c9c30b2d5f2f;hp=56d260d51382a79e9b11273a92fd749da5352a80;hpb=5c819462b8f146b25a7dbe2c948a8407e7c5dbbb;p=ardour.git diff --git a/gtk2_ardour/editing.h b/gtk2_ardour/editing.h index 56d260d513..5558f19460 100644 --- a/gtk2_ardour/editing.h +++ b/gtk2_ardour/editing.h @@ -1,9 +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 +#include "ardour/types.h" // This involves some cpp magic. --taybin @@ -11,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 { @@ -24,11 +50,7 @@ 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(const std::string &); @@ -42,11 +64,7 @@ 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(const std::string &); @@ -60,11 +78,7 @@ 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(const std::string &); @@ -78,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(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, @@ -96,11 +120,7 @@ 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(const std::string &); @@ -114,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 (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 COLORID -#define COLORID(s) #s, -static const char *color_id_strs[] = { +#undef IMPORTPOSITION +#define IMPORTPOSITION(a) /*empty*/ + +// IMPORTDISPOSITION +#undef IMPORTDISPOSITION +#define IMPORTDISPOSITION(a) a, +enum ImportDisposition { #include "editing_syms.h" }; -inline const char* enum2str(ColorID m) {return color_id_strs[m];} -ColorID str2color_id (const std::string &); -#undef COLORID -#define COLORID(a) /*empty*/ +#undef IMPORTDISPOSITION +#define IMPORTDISPOSITION(a) /*empty*/ + +// EDITPOINT +#undef EDITPOINT +#define EDITPOINT(a) a, +enum EditPoint { + #include "editing_syms.h" +}; + +#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 @@ -156,15 +208,25 @@ 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; +enum ZoomAxis { + Vertical, + Horizontal, + Both +}; + +enum RegionActionTarget { + SelectedRegions = 0x1, + EnteredRegions = 0x2, + EditPointRegions = 0x4, + ListSelection = 0x8 +}; } // namespace Editing