Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bstpianorollctrl.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_PIANO_ROLL_CONTROLLER_H__
3 #define __BST_PIANO_ROLL_CONTROLLER_H__
4 
5 #include "bstpianoroll.hh"
6 
7 typedef struct {
8  /* misc data */
9  guint ref_count;
10  BstPianoRoll *proll;
11  /* drag data */
12  guint obj_id, obj_tick, obj_duration;
13  gint obj_note, obj_fine_tune;
14  gfloat obj_velocity;
15  guint xoffset;
16  guint tick_bound;
17  Bse::PartNoteSeq sel_pseq;
18  /* tool data */
19  guint tool_index;
20  /* tool selections */
21  GxkActionGroup *note_rtools;
22  GxkActionGroup *quant_rtools;
23  GxkActionGroup *canvas_rtools;
24  /* action cache */
25  guint64 cached_stamp;
26  guint cached_n_notes;
28 
29 
30 /* --- API --- */
31 BstPianoRollController* bst_piano_roll_controller_new (BstPianoRoll *proll);
32 BstPianoRollController* bst_piano_roll_controller_ref (BstPianoRollController *self);
33 void bst_piano_roll_controller_unref (BstPianoRollController *self);
34 guint bst_piano_roll_controller_quantize (BstPianoRollController *self,
35  guint fine_tick);
36 void bst_piano_roll_controller_set_clipboard (const Bse::PartNoteSeq *pseq);
37 Bse::PartNoteSeq* bst_piano_roll_controller_get_clipboard (void);
38 GxkActionList* bst_piano_roll_controller_select_actions (BstPianoRollController *self);
39 GxkActionList* bst_piano_roll_controller_canvas_actions (BstPianoRollController *self);
40 GxkActionList* bst_piano_roll_controller_note_actions (BstPianoRollController *self);
41 GxkActionList* bst_piano_roll_controller_quant_actions (BstPianoRollController *self);
42 void bst_piano_roll_controller_clear (BstPianoRollController *self);
43 void bst_piano_roll_controller_cut (BstPianoRollController *self);
44 gboolean bst_piano_roll_controller_copy (BstPianoRollController *self);
45 void bst_piano_roll_controller_paste (BstPianoRollController *self);
46 gboolean bst_piano_roll_controller_clipboard_full (BstPianoRollController *self);
47 gboolean bst_piano_roll_controller_has_selection (BstPianoRollController *self,
48  guint64 action_stamp);
49 
50 
51 #endif /* __BST_PIANO_ROLL_CONTROLLER_H__ */
Definition: bstpianorollctrl.hh:7
A list of part note events.
Definition: bseapi.idl:518
Definition: gxkaction.hh:141