diff options
author | Robin Gareus <robin@gareus.org> | 2014-05-27 00:33:15 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-05-27 16:37:01 +0200 |
commit | 432611113d9190a002d6dd053e3c9c66c5bc731f (patch) | |
tree | 07c5db54a1031ab46c802ce0ed511c880e51d30e /libs/canvas/wave_view.cc | |
parent | 458d4dc6de6e26c8cf45d197f1db29c19767e6db (diff) |
directly apply waveform clip-level changes
Diffstat (limited to 'libs/canvas/wave_view.cc')
-rw-r--r-- | libs/canvas/wave_view.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libs/canvas/wave_view.cc b/libs/canvas/wave_view.cc index 664dea351f..9e0ddc7ee3 100644 --- a/libs/canvas/wave_view.cc +++ b/libs/canvas/wave_view.cc @@ -73,6 +73,7 @@ WaveView::WaveView (Group* parent, boost::shared_ptr<ARDOUR::AudioRegion> region , _sample_end (-1) { VisualPropertiesChanged.connect_same_thread (invalidation_connection, boost::bind (&WaveView::handle_visual_property_change, this)); + ClipLevelChanged.connect_same_thread (invalidation_connection, boost::bind (&WaveView::handle_clip_level_change, this)); } WaveView::~WaveView () @@ -105,6 +106,12 @@ WaveView::handle_visual_property_change () } void +WaveView::handle_clip_level_change () +{ + invalidate_image (); +} + +void WaveView::set_fill_color (Color c) { if (c != _fill_color) { @@ -165,8 +172,11 @@ alt_log_meter (float power) void WaveView::set_clip_level (double dB) { - _clip_level = dB_to_coefficient (dB); - ClipLevelChanged (); + const double clip_level = dB_to_coefficient (dB); + if (clip_level != _clip_level) { + _clip_level = clip_level; + ClipLevelChanged (); + } } struct LineTips { |