summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-06-12 18:02:03 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-06-12 18:02:03 +0000
commit3b04885cb754a7566b4f03dde042cddddea7a850 (patch)
treee4c19b6e2dac5980e5ad7800dbd6d0d656eb4321 /gtk2_ardour/midi_region_view.cc
parent9c986098a2b4492fbe238335f563559166ed765f (diff)
prevent too-wide program change flags at startup
git-svn-id: svn://localhost/ardour2/branches/3.0@12678 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 5d8bca9d77..5ffbc8c277 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -265,8 +265,6 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
region_resized (ARDOUR::bounds_change);
region_locked ();
- reset_width_dependent_items (_pixel_width);
-
set_colors ();
_enable_display = true;
@@ -276,6 +274,8 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
}
}
+ reset_width_dependent_items (_pixel_width);
+
group->raise_to_top();
group->signal_event().connect(
sigc::mem_fun(this, &MidiRegionView::canvas_event), false);
@@ -1807,11 +1807,15 @@ MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const
active_channel)
);
- // Show unless patch change is beyond the region bounds
- if (region_frames < 0 || region_frames >= _region->length()) {
- patch_change->hide();
+ if (patch_change->width() < _pixel_width) {
+ // Show unless patch change is beyond the region bounds
+ if (region_frames < 0 || region_frames >= _region->length()) {
+ patch_change->hide();
+ } else {
+ patch_change->show();
+ }
} else {
- patch_change->show();
+ patch_change->hide ();
}
_patch_changes.push_back (patch_change);