BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bsteventrollctrl.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_EVENT_ROLL_CONTROLLER_H__
00003 #define __BST_EVENT_ROLL_CONTROLLER_H__
00004 
00005 #include "bsteventroll.hh"
00006 
00007 G_BEGIN_DECLS
00008 
00009 typedef struct {
00010   /* misc data */
00011   guint              ref_count;
00012   BstEventRoll      *eroll;
00013   /* drag data */
00014   guint              obj_id, obj_tick;
00015   gfloat             obj_value;
00016   BsePartControlSeq *sel_cseq;
00017   BstSegment        *segment;
00018   /* tool data */
00019   guint              tool_index;
00020   /* tool selections */
00021   GxkActionGroup  *quant_rtools;
00022   GxkActionGroup  *canvas_rtools;
00023   /* action cache */
00024   guint64          cached_stamp;
00025   guint            cached_n_controls;
00026 } BstEventRollController;
00027 
00028 
00029 /* --- API --- */
00030 BstEventRollController* bst_event_roll_controller_new            (BstEventRoll                  *eroll,
00031                                                                   GxkActionGroup                *quant_rtools,
00032                                                                   GxkActionGroup                *canvas_rtools);
00033 BstEventRollController* bst_event_roll_controller_ref            (BstEventRollController        *self);
00034 void                    bst_event_roll_controller_unref          (BstEventRollController        *self);
00035 guint                   bst_event_roll_controller_quantize       (BstEventRollController        *self,
00036                                                                   guint                          fine_tick);
00037 GxkActionList*          bst_event_roll_controller_select_actions (BstEventRollController        *self);
00038 void                    bst_event_roll_controller_set_clipboard  (BsePartControlSeq             *cseq);
00039 BsePartControlSeq*      bst_event_roll_controller_get_clipboard  (void);
00040 void                    bst_event_roll_controller_clear          (BstEventRollController        *self);
00041 void                    bst_event_roll_controller_cut            (BstEventRollController        *self);
00042 gboolean                bst_event_roll_controller_copy           (BstEventRollController        *self);
00043 void                    bst_event_roll_controller_paste          (BstEventRollController        *self);
00044 gboolean                bst_event_roll_controller_clipboard_full (BstEventRollController        *self);
00045 gboolean                bst_event_roll_controller_has_selection  (BstEventRollController        *self,
00046                                                                   guint64                        action_stamp);
00047 
00048 
00049 G_END_DECLS
00050 
00051 #endif /* __BST_EVENT_ROLL_CONTROLLER_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines