From da6609a0776716afa047a198293ffbe15473ba86 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 23 Nov 2010 17:18:16 +0000 Subject: make region trim keybinding work again; don't show quantize dialog if its not relevant (no MIDI regions selected git-svn-id: svn://localhost/ardour2/branches/3.0@8076 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_ops.cc | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gtk2_ardour/editor_ops.cc') diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 2396c362d1..1f5b53ddab 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3345,10 +3345,15 @@ Editor::trim_region (bool front) framepos_t where = get_preferred_edit_position(); RegionSelection rs = get_regions_from_selection_and_edit_point (); + cerr << "trim regions\n"; + if (rs.empty()) { + cerr << " no regions\n"; return; } + cerr << "where = " << where << endl; + begin_reversible_command (front ? _("trim front") : _("trim back")); for (list::const_iterator i = rs.by_layer().begin(); i != rs.by_layer().end(); ++i) { @@ -4642,10 +4647,32 @@ Editor::fork_region () void Editor::quantize_region () { + int selected_midi_region_cnt = 0; + if (!_session) { return; } + RegionSelection rs = get_regions_from_selection_and_entered (); + + if (rs.empty()) { + return; + } + + for (RegionSelection::iterator r = rs.begin(); r != rs.end(); ) { + RegionSelection::iterator tmp = r; + ++tmp; + + MidiRegionView* const mrv = dynamic_cast (*r); + if (mrv) { + selected_midi_region_cnt++; + } + } + + if (selected_midi_region_cnt == 0) { + return; + } + QuantizeDialog* qd = new QuantizeDialog (*this); qd->present (); -- cgit v1.2.3