prevent too-wide program change flags at startup

git-svn-id: svn://localhost/ardour2/branches/3.0@12678 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-06-12 18:02:03 +00:00
parent 9c986098a2
commit 3b04885cb7

View File

@ -265,8 +265,6 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
region_resized (ARDOUR::bounds_change); region_resized (ARDOUR::bounds_change);
region_locked (); region_locked ();
reset_width_dependent_items (_pixel_width);
set_colors (); set_colors ();
_enable_display = true; _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->raise_to_top();
group->signal_event().connect( group->signal_event().connect(
sigc::mem_fun(this, &MidiRegionView::canvas_event), false); sigc::mem_fun(this, &MidiRegionView::canvas_event), false);
@ -1807,11 +1807,15 @@ MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const
active_channel) active_channel)
); );
// Show unless patch change is beyond the region bounds if (patch_change->width() < _pixel_width) {
if (region_frames < 0 || region_frames >= _region->length()) { // Show unless patch change is beyond the region bounds
patch_change->hide(); if (region_frames < 0 || region_frames >= _region->length()) {
patch_change->hide();
} else {
patch_change->show();
}
} else { } else {
patch_change->show(); patch_change->hide ();
} }
_patch_changes.push_back (patch_change); _patch_changes.push_back (patch_change);