mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
infrastructure and implementation to allow "q" to drive quantize-selected-notes in midi edit mode
This commit is contained in:
parent
02b05f295a
commit
d2fc142e21
9 changed files with 91 additions and 14 deletions
|
|
@ -47,6 +47,7 @@
|
|||
#include "ardour/midi_source.h"
|
||||
#include "ardour/midi_track.h"
|
||||
#include "ardour/operations.h"
|
||||
#include "ardour/quantize.h"
|
||||
#include "ardour/session.h"
|
||||
|
||||
#include "evoral/Parameter.h"
|
||||
|
|
@ -4578,3 +4579,25 @@ MidiRegionView::note_to_y(uint8_t note) const
|
|||
{
|
||||
return contents_height() - (note + 1 - _current_range_min) * note_height() + 1;
|
||||
}
|
||||
|
||||
void
|
||||
MidiRegionView::quantize_selected_notes ()
|
||||
{
|
||||
RegionSelection rs;
|
||||
rs.push_back (this);
|
||||
|
||||
bool did_show_dialog;
|
||||
Quantize quant = trackview.editor().get_quantize_op (false, did_show_dialog);
|
||||
bool success;
|
||||
|
||||
if (!did_show_dialog) {
|
||||
/* use global grid */
|
||||
quant.set_start_grid (trackview.editor().get_grid_type_as_beats (success, midi_region()->source_position()));
|
||||
if (!success) {
|
||||
return;
|
||||
}
|
||||
quant.set_end_grid (quant.start_grid());
|
||||
}
|
||||
|
||||
trackview.editor().apply_midi_note_edit_op (quant, rs);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue