diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-04-29 07:54:21 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-04-29 07:54:21 -0400 |
commit | 5ab699f8986456ae9bd43e83f5ba0a3411802e28 (patch) | |
tree | fb4ccd0d20532cc439437a06e5f73f0109150de5 /libs/canvas | |
parent | 96371c83277f4618138264302c7ea62e017f4a82 (diff) |
manually apply grygorii's waveform amplitude implementation
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/wave_view.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/canvas/wave_view.cc b/libs/canvas/wave_view.cc index 8fda5ff0aa..c418a37f7c 100644 --- a/libs/canvas/wave_view.cc +++ b/libs/canvas/wave_view.cc @@ -834,7 +834,13 @@ WaveView::get_image (Cairo::RefPtr<Cairo::ImageSurface>& image, framepos_t start sample_start, sample_end - sample_start, _channel, _samples_per_pixel); - + + // apply waveform amplitude zoom multiplier + for (int i = 0; i < n_peaks; ++i) { + peaks[i].max *= _amplitude_above_axis; + peaks[i].min *= _amplitude_above_axis; + } + image = Cairo::ImageSurface::create (Cairo::FORMAT_ARGB32, n_peaks, _height); if (peaks_read > 0) { @@ -1039,7 +1045,7 @@ WaveView::set_shape (Shape s) void WaveView::set_amplitude_above_axis (double a) { - if (_amplitude_above_axis != a) { + if (abs (_amplitude_above_axis - a) > 0.01) { begin_visual_change (); invalidate_image_cache (); _amplitude_above_axis = a; |