void select_range(framepos_t start, framepos_t end);
void invert_selection ();
+ Evoral::Beats earliest_in_selection ();
void move_selection(double dx, double dy, double cumulative_dy);
- void note_dropped (NoteBase* ev, ARDOUR::frameoffset_t, int8_t d_note, bool copy);
- NoteBase* copy_selection ();
- void move_copies(double dx, double dy, double cumulative_dy);
+ void note_dropped (NoteBase* ev, double d_qn, int8_t d_note, bool copy);
+ NoteBase* copy_selection (NoteBase* primary);
+ void move_copies(double dx_qn, double dy, double cumulative_dy);
void select_notes (std::list<Evoral::event_id_t>);
void select_matching_notes (uint8_t notenum, uint16_t channel_mask, bool add, bool extend);
return _region_relative_time_converter_double;
}
+ double session_relative_qn (double qn) const;
+
void goto_previous_note (bool add_to_selection);
void goto_next_note (bool add_to_selection);
void change_note_lengths (bool, bool, Evoral::Beats beats, bool start, bool end);
- void change_velocities (bool up, bool fine, bool allow_smush, bool all_together);
+ void change_velocities (bool up, bool fine, bool allow_smush, bool all_together);
void transpose (bool up, bool fine, bool allow_smush);
void nudge_notes (bool forward, bool fine);
void channel_edit ();
bool _mouse_changed_selection;
- ArdourCanvas::Color _patch_change_outline;
- ArdourCanvas::Color _patch_change_fill;
+ Gtkmm2ext::Color _patch_change_outline;
+ Gtkmm2ext::Color _patch_change_fill;
Evoral::Beats snap_frame_to_grid_underneath (framepos_t p, int32_t divisions, bool shift_snap) const;