From 7a6efaaf3d074dd2c707537089e0c24356ce5790 Mon Sep 17 00:00:00 2001 From: nick_m Date: Tue, 21 Jun 2016 00:50:23 +1000 Subject: [PATCH] Quick fix to get trim working again (bahaving oddly during trim right now) --- gtk2_ardour/midi_region_view.cc | 12 +++++++++--- libs/ardour/midi_region.cc | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index fb77877114..cc7bb9279b 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -1410,12 +1410,17 @@ MidiRegionView::region_resized (const PropertyChange& what_changed) _region_relative_time_converter.set_origin_b(_region->position()); _region_relative_time_converter_double.set_origin_b(_region->position()); /* reset_width dependent_items() redisplays model */ + } if (what_changed.contains (ARDOUR::Properties::start) || what_changed.contains (ARDOUR::Properties::position)) { _source_relative_time_converter.set_origin_b (_region->position() - _region->start()); } + if (what_changed.contains (ARDOUR::Properties::length)) { + enable_display (true); + } + } void @@ -1425,7 +1430,7 @@ MidiRegionView::reset_width_dependent_items (double pixel_width) if (_enable_display) { redisplay_model(); - } + } for (PatchChanges::iterator x = _patch_changes.begin(); x != _patch_changes.end(); ++x) { if ((*x)->canvas_item()->width() >= _pixel_width) { @@ -1754,8 +1759,9 @@ MidiRegionView::update_sustained (Note* ev, bool update_ghost_regions) } // Update color in case velocity has changed - //ev->set_fill_color(ev->base_color()); - //ev->set_outline_color(ev->calculate_outline(ev->base_color(), ev->selected())); + const uint32_t base_col = ev->base_color(); + ev->set_fill_color(base_col); + ev->set_outline_color(ev->calculate_outline(base_col, ev->selected())); if (update_ghost_regions) { for (std::vector::iterator i = ghosts.begin(); i != ghosts.end(); ++i) { diff --git a/libs/ardour/midi_region.cc b/libs/ardour/midi_region.cc index ce473c162d..bd0319f2bd 100644 --- a/libs/ardour/midi_region.cc +++ b/libs/ardour/midi_region.cc @@ -107,7 +107,7 @@ MidiRegion::MidiRegion (boost::shared_ptr other, frameoffset_t , _start_beats (Properties::start_beats, Evoral::Beats()) , _length_beats (Properties::length_beats, other->_length_beats) { - _start_beats = Evoral::Beats (_session.tempo_map().exact_beat_at_frame (other->_position + offset - other->_start, sub_num) - other->beat()); + _start_beats = Evoral::Beats (_session.tempo_map().exact_beat_at_frame ((other->_position + offset), sub_num) - other->beat()) + other->_start_beats; update_length_beats (sub_num); register_properties ();