BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bsttrackrollctrl.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_TRACK_ROLL_CONTROLLER_H__
00003 #define __BST_TRACK_ROLL_CONTROLLER_H__
00004 
00005 
00006 #include "bsttrackroll.hh"
00007 
00008 G_BEGIN_DECLS
00009 
00010 typedef struct _BstTrackRollUtil BstTrackRollUtil;
00011 typedef struct {
00012   /* misc data */
00013   guint             ref_count;
00014   BstTrackRoll     *troll;
00015   SfiProxy          song;
00016   guint             note_length;
00017   /* drag data */
00018   SfiProxy          obj_track, obj_part;
00019   guint             obj_tick, obj_duration;
00020   guint             xoffset;
00021   guint             tick_bound;
00022   /* tool data */
00023   BstTrackRollUtil *current_tool;
00024   guint             skip_deletion : 1;
00025   /* tool selections */
00026   GxkActionGroup   *canvas_rtools;
00027   GxkActionGroup   *hpanel_rtools;
00028   GxkActionGroup   *quant_rtools;
00029 } BstTrackRollController;
00030 
00031 
00032 /* --- API --- */
00033 BstTrackRollController* bst_track_roll_controller_new           (BstTrackRoll           *troll);
00034 BstTrackRollController* bst_track_roll_controller_ref           (BstTrackRollController *self);
00035 void                    bst_track_roll_controller_unref         (BstTrackRollController *self);
00036 void            bst_track_roll_controller_set_song              (BstTrackRollController *self,
00037                                                                  SfiProxy                song);
00038 void            bst_track_roll_controller_set_quantization      (BstTrackRollController *self,
00039                                                                  BstQuantizationType     quantization);
00040 guint           bst_track_roll_controller_quantize              (BstTrackRollController *self,
00041                                                                  guint                   fine_tick);
00042 GxkActionList*  bst_track_roll_controller_canvas_actions        (BstTrackRollController *self);
00043 GxkActionList*  bst_track_roll_controller_hpanel_actions        (BstTrackRollController *self);
00044 GxkActionList*  bst_track_roll_controller_quant_actions         (BstTrackRollController *self);
00045 
00046 
00047 G_END_DECLS
00048 
00049 #endif /* __BST_TRACK_ROLL_CONTROLLER_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines