summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-01 12:01:10 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-01 12:01:10 +0000
commit2001efa08838b4dd839cc5b4f6aa3203c4441c5f (patch)
tree4b512cb880e052488b6c877d10d457cf48bd2ccf /gtk2_ardour
parentdc4080964842def7044e97ade06dd30b7176ea4d (diff)
commit crash caused by not displaying first and last points of an automation line at large zooms
git-svn-id: svn://localhost/ardour2/trunk@1047 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/audio_region_view.cc2
-rw-r--r--gtk2_ardour/automation_line.cc11
2 files changed, 6 insertions, 7 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index d9cbfd01c3..aaeea53878 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -155,8 +155,6 @@ AudioRegionView::init (Gdk::Color& basic_color, bool wfd)
gain_line = new AudioRegionGainLine (foo, trackview.session(), *this, *group, audio_region()->envelope());
- cerr << "Initializing RV for " << audio_region()->name() << " with " << audio_region()->envelope().size() << " points\n";
-
if (!(_flags & EnvelopeVisible)) {
gain_line->hide ();
} else {
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index a319b325ed..6002a69353 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -746,10 +746,13 @@ AutomationLine::determine_visible_control_points (ALPoints& points)
this_rx = (uint32_t) rint (tx);
this_ry = (uint32_t) rint (ty);
- if (view_index && pi != npoints && (this_rx == prev_rx) && (this_ry == prev_ry) ||
- ((this_rx - prev_rx) < (box_size + 2))) {
+ if (view_index && pi != npoints && /* not the first, not the last */
+
+ /* same point or too close to the last one horizontally */
+
+ (((this_rx == prev_rx) && (this_ry == prev_ry)) || ((this_rx - prev_rx) < (box_size + 2)))) {
continue;
- }
+ }
/* ok, we should display this point */
@@ -811,8 +814,6 @@ AutomationLine::determine_visible_control_points (ALPoints& points)
/* discard extra CP's to avoid confusing ourselves */
- cerr << "here we are, view_index = " << view_index << " cp size = " << control_points.size() << " np = " << npoints << endl;
-
while (control_points.size() > view_index) {
ControlPoint* cp = control_points.back();
control_points.pop_back ();