From 34907a7d62712d511b7f7ab7abeac8a99953dafa Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 31 Aug 2007 19:29:23 +0000 Subject: [PATCH] Fix CC region view length. git-svn-id: svn://localhost/ardour2/trunk@2360 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/midi_region_view.cc | 2 ++ gtk2_ardour/midi_region_view.h | 3 --- gtk2_ardour/region_view.cc | 6 ++++++ gtk2_ardour/region_view.h | 4 ++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 2d70eb1c95..580282185f 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -432,6 +432,8 @@ MidiRegionView::redisplay_model() *at.get(), _region, i->second->list(), midi_stream_view()->get_samples_per_unit(), col)); + arv->set_duration(_region->length(), this); + _automation_children.insert(std::make_pair(i->second->parameter(), arv)); } diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h index 1d37ed26e5..d2c0df182d 100644 --- a/gtk2_ardour/midi_region_view.h +++ b/gtk2_ardour/midi_region_view.h @@ -178,9 +178,6 @@ class MidiRegionView : public RegionView ArdourCanvas::CanvasNote** _active_notes; ArdourCanvas::Group* _note_group; ARDOUR::MidiModel::DeltaCommand* _delta_command; - - typedef std::map > AutomationChildren; - AutomationChildren _automation_children; MouseState _mouse_state; int _pressed_button; diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc index 70e82d7d12..04e2bf8850 100644 --- a/gtk2_ardour/region_view.cc +++ b/gtk2_ardour/region_view.cc @@ -34,6 +34,7 @@ #include "ardour_ui.h" #include "streamview.h" #include "region_view.h" +#include "automation_region_view.h" #include "route_time_axis.h" #include "simplerect.h" #include "simpleline.h" @@ -256,6 +257,11 @@ RegionView::reset_width_dependent_items (double pixel_width) { TimeAxisViewItem::reset_width_dependent_items (pixel_width); _pixel_width = pixel_width; + + for (AutomationChildren::iterator i = _automation_children.begin(); + i != _automation_children.end(); ++i) { + i->second->reset_width_dependent_items(pixel_width); + } } void diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h index 28a2b11c0c..23ac2fcc71 100644 --- a/gtk2_ardour/region_view.h +++ b/gtk2_ardour/region_view.h @@ -36,6 +36,7 @@ class TimeAxisView; class RegionEditor; class GhostRegion; class AutomationTimeAxisView; +class AutomationRegionView; class RegionView : public TimeAxisViewItem { @@ -138,6 +139,9 @@ class RegionView : public TimeAxisViewItem sigc::connection data_ready_connection; vector ghosts; + + typedef std::map > AutomationChildren; + AutomationChildren _automation_children; }; #endif /* __gtk_ardour_region_view_h__ */