diff options
author | Carl Hetherington <carl@carlh.net> | 2010-10-27 14:22:24 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-10-27 14:22:24 +0000 |
commit | 935aeb55dd5fbce9fb9b1dd7770834b3b684a6d1 (patch) | |
tree | 7542f39e75c0f2acf614ba8a6ad5656cd74b5f7a /libs/ardour | |
parent | 8f448a78cd4263b5b9e55a2c2a8858e8cb6488b4 (diff) |
Use ProgressReporter class for normalization. Report progress for individual regions. Fix crash on normalising a single region (#3510).
git-svn-id: svn://localhost/ardour2/branches/3.0@7924 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/audioregion.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/progress.h | 5 | ||||
-rw-r--r-- | libs/ardour/audioregion.cc | 4 |
3 files changed, 9 insertions, 2 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index b919b6572c..302d1d1698 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -83,7 +83,7 @@ class AudioRegion : public Region gain_t scale_amplitude() const { return _scale_amplitude; } void normalize (float, float target_in_dB = 0.0f); - double maximum_amplitude () const; + double maximum_amplitude (Progress *) const; bool envelope_active () const { return _envelope_active; } bool fade_in_active () const { return _fade_in_active; } diff --git a/libs/ardour/ardour/progress.h b/libs/ardour/ardour/progress.h index 891af22059..e252c63bd8 100644 --- a/libs/ardour/ardour/progress.h +++ b/libs/ardour/ardour/progress.h @@ -17,6 +17,9 @@ */ +#ifndef __ardour_progress_h__ +#define __ardour_progress_h__ + #include <list> namespace ARDOUR { @@ -49,3 +52,5 @@ private: }; } + +#endif diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index e4c4b55a54..1461e1a3a4 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -45,6 +45,7 @@ #include "ardour/region_factory.h" #include "ardour/runtime_functions.h" #include "ardour/transient_detector.h" +#include "ardour/progress.h" #include "i18n.h" #include <locale.h> @@ -1144,7 +1145,7 @@ AudioRegion::set_scale_amplitude (gain_t g) /** @return the maximum (linear) amplitude of the region */ double -AudioRegion::maximum_amplitude () const +AudioRegion::maximum_amplitude (Progress* p) const { framepos_t fpos = _start; framepos_t const fend = _start + _length; @@ -1171,6 +1172,7 @@ AudioRegion::maximum_amplitude () const } fpos += to_read; + p->set_progress (float (fpos - _start) / _length); } return maxamp; |