BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bsttrackrollctrl.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BST_TRACK_ROLL_CONTROLLER_H__
3 #define __BST_TRACK_ROLL_CONTROLLER_H__
4 
5 
6 #include "bsttrackroll.hh"
7 
8 G_BEGIN_DECLS
9 
10 typedef struct _BstTrackRollUtil BstTrackRollUtil;
11 typedef struct {
12  /* misc data */
13  guint ref_count;
14  BstTrackRoll *troll;
15  SfiProxy song;
16  guint note_length;
17  /* drag data */
18  SfiProxy obj_track, obj_part;
19  guint obj_tick, obj_duration;
20  guint xoffset;
21  guint tick_bound;
22  /* tool data */
23  BstTrackRollUtil *current_tool;
24  guint skip_deletion : 1;
25  /* tool selections */
26  GxkActionGroup *canvas_rtools;
27  GxkActionGroup *hpanel_rtools;
28  GxkActionGroup *quant_rtools;
30 
31 
32 /* --- API --- */
33 BstTrackRollController* bst_track_roll_controller_new (BstTrackRoll *troll);
34 BstTrackRollController* bst_track_roll_controller_ref (BstTrackRollController *self);
35 void bst_track_roll_controller_unref (BstTrackRollController *self);
36 void bst_track_roll_controller_set_song (BstTrackRollController *self,
37  SfiProxy song);
38 void bst_track_roll_controller_set_quantization (BstTrackRollController *self,
39  BstQuantizationType quantization);
40 guint bst_track_roll_controller_quantize (BstTrackRollController *self,
41  guint fine_tick);
42 GxkActionList* bst_track_roll_controller_canvas_actions (BstTrackRollController *self);
43 GxkActionList* bst_track_roll_controller_hpanel_actions (BstTrackRollController *self);
44 GxkActionList* bst_track_roll_controller_quant_actions (BstTrackRollController *self);
45 
46 
47 G_END_DECLS
48 
49 #endif /* __BST_TRACK_ROLL_CONTROLLER_H__ */
Definition: bsttrackrollctrl.hh:11
Definition: gxkaction.hh:143