Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
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 typedef struct _BstTrackRollUtil BstTrackRollUtil;
9 typedef struct {
10  /* misc data */
11  guint ref_count;
12  BstTrackRoll *troll;
13  SfiProxy song;
14  guint note_length;
15  /* drag data */
16  Bse::TrackH obj_track;
17  Bse::PartH obj_part;
18  int obj_tick, obj_duration;
19  guint xoffset;
20  guint tick_bound;
21  /* tool data */
22  BstTrackRollUtil *current_tool;
23  guint skip_deletion : 1;
24  /* tool selections */
25  GxkActionGroup *canvas_rtools;
26  GxkActionGroup *hpanel_rtools;
27  GxkActionGroup *quant_rtools;
29 
30 
31 /* --- API --- */
32 BstTrackRollController* bst_track_roll_controller_new (BstTrackRoll *troll);
33 BstTrackRollController* bst_track_roll_controller_ref (BstTrackRollController *self);
34 void bst_track_roll_controller_unref (BstTrackRollController *self);
35 void bst_track_roll_controller_set_song (BstTrackRollController *self,
36  SfiProxy song);
37 void bst_track_roll_controller_set_quantization (BstTrackRollController *self,
38  BstQuantizationType quantization);
39 guint bst_track_roll_controller_quantize (BstTrackRollController *self,
40  guint fine_tick);
41 GxkActionList* bst_track_roll_controller_canvas_actions (BstTrackRollController *self);
42 GxkActionList* bst_track_roll_controller_hpanel_actions (BstTrackRollController *self);
43 GxkActionList* bst_track_roll_controller_quant_actions (BstTrackRollController *self);
44 
45 
46 #endif /* __BST_TRACK_ROLL_CONTROLLER_H__ */
Definition: bsttrackrollctrl.hh:9
Definition: gxkaction.hh:141