BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bstdefs.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __BST_DEFS_H__
00003 #define __BST_DEFS_H__
00004 #include <gxk/gxk.hh>
00005 #include <libintl.h>
00006 #include "bstzoomedwindow.hh"
00007 #include "bse/bse.hh"
00008 
00009 G_BEGIN_DECLS
00010 
00011 /* --- generic constants --- */
00012 typedef enum {
00013   BST_QUANTIZE_NONE             = 0,
00014   BST_QUANTIZE_NOTE_1           = 1,
00015   BST_QUANTIZE_NOTE_2           = 2,
00016   BST_QUANTIZE_NOTE_4           = 4,
00017   BST_QUANTIZE_NOTE_8           = 8,
00018   BST_QUANTIZE_NOTE_16          = 16,
00019   BST_QUANTIZE_NOTE_32          = 32,
00020   BST_QUANTIZE_NOTE_64          = 64,
00021   BST_QUANTIZE_NOTE_128         = 128,
00022   BST_QUANTIZE_TACT             = 65535
00023 } BstQuantizationType;
00024 
00025 typedef struct _BstKeyBinding BstKeyBinding;
00026 
00027 /* choose IDs that are unlikely to clash with category IDs */
00028 #define BST_COMMON_ROLL_TOOL_FIRST      (G_MAXINT - 100000)
00029 
00030 typedef enum /*< skip >*/
00031 {
00032   BST_COMMON_ROLL_TOOL_NONE,
00033   BST_COMMON_ROLL_TOOL_INSERT            = BST_COMMON_ROLL_TOOL_FIRST,
00034   BST_COMMON_ROLL_TOOL_RESIZE,
00035   BST_COMMON_ROLL_TOOL_LINK,
00036   BST_COMMON_ROLL_TOOL_RENAME,
00037   BST_COMMON_ROLL_TOOL_ALIGN,
00038   BST_COMMON_ROLL_TOOL_MOVE,
00039   BST_COMMON_ROLL_TOOL_DELETE,
00040   BST_COMMON_ROLL_TOOL_SELECT,
00041   BST_COMMON_ROLL_TOOL_VSELECT,
00042   BST_COMMON_ROLL_TOOL_EDITOR,
00043   BST_COMMON_ROLL_TOOL_MOVE_TICK_POINTER,
00044   BST_COMMON_ROLL_TOOL_MOVE_TICK_LEFT,
00045   BST_COMMON_ROLL_TOOL_MOVE_TICK_RIGHT,
00046   BST_COMMON_ROLL_TOOL_LAST
00047 } BstCommonRollTool;
00048 
00049 /* --- constants & defines --- */
00050 #define BST_TAG_DIAMETER          (20)
00051 #define BST_STRDUP_RC_FILE()      (g_strconcat (g_get_home_dir (), "/.beast/beastrc", NULL))
00052 #define BST_STRDUP_SKIN_PATH()    (g_strconcat (BST_PATH_SKINS, ":~/.beast/skins/:~/.beast/skins/*/", NULL))
00053 
00054 /* --- configuration candidates --- */
00055 /* mouse button numbers and masks for drag operations */
00056 #define BST_DRAG_BUTTON_COPY      (1)
00057 #define BST_DRAG_BUTTON_COPY_MASK (GDK_BUTTON1_MASK)
00058 #define BST_DRAG_BUTTON_MOVE      (2)
00059 #define BST_DRAG_BUTTON_MOVE_MASK (GDK_BUTTON2_MASK)
00060 #define BST_DRAG_BUTTON_CONTEXT   (3) /* delete, clone, linkdup */
00061 
00062 /* --- miscellaneous --- */
00063 #define BST_DVL_HINTS           (bst_developer_hints != FALSE)
00064 #define BST_DBG_EXT             (bst_debug_extensions != FALSE)
00065 #define BST_MAIN_LOOP_QUIT()    do { bst_main_loop_running = FALSE; } while (0)
00066 #define GNOME_CANVAS_NOTIFY(object)     G_STMT_START { \
00067     if (GTK_IS_OBJECT (object)) \
00068       g_signal_emit_by_name (object, "notify::generic-change", NULL); \
00069 } G_STMT_END
00070 
00071 /* --- i18n and gettext helpers --- */
00072 #define BEAST_GETTEXT_DOMAIN (NULL)
00073 #define _(str)  dgettext (BEAST_GETTEXT_DOMAIN, str)
00074 #define N_(str) (str)
00075 
00076 /* --- internal stuff --- */
00077 void    beast_show_about_box (void);
00078 void    bst_main_loop_wakeup    ();
00079 extern gboolean bst_developer_hints;
00080 extern gboolean bst_debug_extensions;
00081 extern gboolean bst_main_loop_running;
00082 
00083 G_END_DECLS
00084 
00085 #endif /* __BST_DEFS_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines