X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fediting.h;fp=gtk2_ardour%2Fediting.h;h=2b95073ef7e5eb836341c61fdc7845c96e5486a8;hb=209d967b1bb80a9735d690d8f4f0455ecb9970ca;hp=0000000000000000000000000000000000000000;hpb=e4b9aed743fc765219ac775905a221c017c88fba;p=ardour.git diff --git a/gtk2_ardour/editing.h b/gtk2_ardour/editing.h new file mode 100644 index 0000000000..2b95073ef7 --- /dev/null +++ b/gtk2_ardour/editing.h @@ -0,0 +1,170 @@ +#ifndef __gtk_ardour_editing_h__ +#define __gtk_ardour_editing_h__ + +#include +#include + +// This involves some cpp magic. --taybin + +#define SNAPTYPE(a) /*empty*/ +#define SNAPMODE(a) /*empty*/ +#define REGIONLISTSORTTYPE(a) /*empty*/ +#define MOUSEMODE(a) /*empty*/ +#define ZOOMFOCUS(a) /*empty*/ +#define DISPLAYCONTROL(a) /*empty*/ +#define COLORID(a) /*empty*/ + +namespace Editing { + +// SNAPTYPE +#undef SNAPTYPE +#define SNAPTYPE(a) a, +enum SnapType { + #include "editing_syms.h" +}; + +#undef SNAPTYPE +#define SNAPTYPE(s) #s, +static const char *snaptypestrs[] = { + #include "editing_syms.h" +}; +inline const char* enum2str(SnapType m) {return snaptypestrs[m];} +SnapType str2snaptype(std::string); + +#undef SNAPTYPE +#define SNAPTYPE(a) /*empty*/ + +// SNAPMODE +#undef SNAPMODE +#define SNAPMODE(a) a, +enum SnapMode { + #include "editing_syms.h" +}; + +#undef SNAPMODE +#define SNAPMODE(s) #s, +static const char *snapmodestrs[] = { + #include "editing_syms.h" +}; +inline const char* enum2str(SnapMode m) {return snapmodestrs[m];} +SnapMode str2snapmode(std::string); + +#undef SNAPMODE +#define SNAPMODE(a) /*empty*/ + +// REGIONLISTSORTTYPE +#undef REGIONLISTSORTTYPE +#define REGIONLISTSORTTYPE(a) a, +enum RegionListSortType { + #include "editing_syms.h" +}; + +#undef REGIONLISTSORTTYPE +#define REGIONLISTSORTTYPE(s) #s, +static const char *regionlistsorttypestrs[] = { + #include "editing_syms.h" +}; +inline const char* enum2str(RegionListSortType m) {return regionlistsorttypestrs[m];} +RegionListSortType str2regionlistsorttype(std::string); + +#undef REGIONLISTSORTTYPE +#define REGIONLISTSORTTYPE(a) /*empty*/ + +// MOUSEMODE +#undef MOUSEMODE +#define MOUSEMODE(a) a, +enum MouseMode { + #include "editing_syms.h" +}; + +#undef MOUSEMODE +#define MOUSEMODE(s) #s, +static const char *mousemodestrs[] = { + #include "editing_syms.h" +}; +inline const char* enum2str(MouseMode m) {return mousemodestrs[m];} +MouseMode str2mousemode(std::string); + +#undef MOUSEMODE +#define MOUSEMODE(a) /*empty*/ + +// ZOOMFOCUS +#undef ZOOMFOCUS +#define ZOOMFOCUS(a) a, +enum ZoomFocus { + #include "editing_syms.h" +}; + +#undef ZOOMFOCUS +#define ZOOMFOCUS(s) #s, +static const char *zoomfocusstrs[] = { + #include "editing_syms.h" +}; +inline const char* enum2str(ZoomFocus m) {return zoomfocusstrs[m];} +ZoomFocus str2zoomfocus(std::string); + +#undef ZOOMFOCUS +#define ZOOMFOCUS(a) /*empty*/ + +// DISPLAYCONTROL +#undef DISPLAYCONTROL +#define DISPLAYCONTROL(a) a, +enum DisplayControl { + #include "editing_syms.h" +}; + +#undef DISPLAYCONTROL +#define DISPLAYCONTROL(s) #s, +static const char *displaycontrolstrs[] = { + #include "editing_syms.h" +}; +inline const char* enum2str(DisplayControl m) {return displaycontrolstrs[m];} +DisplayControl str2displaycontrol (std::string); + +#undef DISPLAYCONTROL +#define DISPLAYCONTROL(a) /*empty*/ + +#undef COLORID +#define COLORID(a) a, +enum ColorID { + #include "editing_syms.h" +}; + +#undef COLORID +#define COLORID(s) #s, +static const char *color_id_strs[] = { + #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*/ + +///////////////////// +// These don't need their state saved. yet... +enum CutCopyOp { + Cut, + Copy, + Clear +}; + +enum XFadeType { + Pre, + Post, + At +}; + +struct Color { + char r; + char g; + char b; + char a; +}; + +typedef std::map ColorMap; +extern ColorMap color_map; + +} // namespace Editing + +#endif // __gtk_ardour_editing_h__