diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-11 23:13:26 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-11 23:54:28 -0400 |
commit | 18190eaa5eb2a29b5824bfaa08e03d4360b6cbb3 (patch) | |
tree | 7c5753eec2729fc33003d78037218ac3e11bb6dc /gtk2_ardour/editor_ops.cc | |
parent | 5ee4f419259574197255d11afcc0bec25b6473d2 (diff) |
clamp zoom level to show 3 days on a 4000 pixel wide screen; comment unused variable for now
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index db871744f3..60ea575624 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -1364,7 +1364,7 @@ Editor::scroll_down_one_track () bool Editor::scroll_up_one_track () { - double vertical_pos = vertical_adjustment.get_value (); + // double vertical_pos = vertical_adjustment.get_value (); TrackViewList::iterator prev = track_views.end(); std::pair<TimeAxisView*,double> res; @@ -1458,8 +1458,23 @@ Editor::clamp_samples_per_pixel (framecnt_t& fpp) const clamped = true; } - if (max_framepos / fpp < 800) { - fpp = max_framepos / 800; + framecnt_t sr; + + if (_session) { + sr = _session->frame_rate (); + } else { + sr = 48000; + } + + const framecnt_t three_days = 3 * 24 * 60 * 60 * sr; + const framecnt_t lots_of_pixels = 4000; + + /* if the zoom level is greater than what you'd get trying to display 3 + * days of audio on a really big screen, scale it down. + */ + + if (fpp * lots_of_pixels > three_days) { + fpp = three_days / _track_canvas->width(); clamped = true; } |