BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
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__ */