BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
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  Bse::TrackH obj_track;
19  Bse::PartH obj_part;
20  int obj_tick, obj_duration;
21  guint xoffset;
22  guint tick_bound;
23  /* tool data */
24  BstTrackRollUtil *current_tool;
25  guint skip_deletion : 1;
26  /* tool selections */
27  GxkActionGroup *canvas_rtools;
28  GxkActionGroup *hpanel_rtools;
29  GxkActionGroup *quant_rtools;
31 
32 
33 /* --- API --- */
34 BstTrackRollController* bst_track_roll_controller_new (BstTrackRoll *troll);
35 BstTrackRollController* bst_track_roll_controller_ref (BstTrackRollController *self);
36 void bst_track_roll_controller_unref (BstTrackRollController *self);
37 void bst_track_roll_controller_set_song (BstTrackRollController *self,
38  SfiProxy song);
39 void bst_track_roll_controller_set_quantization (BstTrackRollController *self,
40  BstQuantizationType quantization);
41 guint bst_track_roll_controller_quantize (BstTrackRollController *self,
42  guint fine_tick);
43 GxkActionList* bst_track_roll_controller_canvas_actions (BstTrackRollController *self);
44 GxkActionList* bst_track_roll_controller_hpanel_actions (BstTrackRollController *self);
45 GxkActionList* bst_track_roll_controller_quant_actions (BstTrackRollController *self);
46 
47 
48 G_END_DECLS
49 
50 #endif /* __BST_TRACK_ROLL_CONTROLLER_H__ */
See also the corresponding IDL class Part.
Definition: bseclientapi.hh:516
Definition: bsttrackrollctrl.hh:11
See also the corresponding IDL class Track.
Definition: bseclientapi.hh:760
Definition: gxkaction.hh:143