summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-12-08 21:02:37 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-12-08 21:02:37 +0000
commitf17661208686f7237efc902c61028462af75a240 (patch)
tree0443d126054643c476b63a8be4722c13320d3ce4 /libs/ardour
parent32ac2049fe5a873853ac3c3b6dcb682150222dd3 (diff)
move display of silence for strip-silence into regionviews, along with text to describe impact on the region. this doesn't actually make strip-silence work any better, but the display is improving
git-svn-id: svn://localhost/ardour2/branches/3.0@8224 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/audioregion.h2
-rw-r--r--libs/ardour/ardour/types.h3
-rw-r--r--libs/ardour/audioregion.cc8
3 files changed, 8 insertions, 5 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h
index a5791c8b30..80a725f771 100644
--- a/libs/ardour/ardour/audioregion.h
+++ b/libs/ardour/ardour/audioregion.h
@@ -176,7 +176,7 @@ class AudioRegion : public Region
int update_transient (framepos_t old_position, framepos_t new_position);
int adjust_transients (framepos_t delta);
- std::list<std::pair<frameoffset_t, framecnt_t> > find_silence (Sample, framecnt_t, InterThreadInfo&) const;
+ AudioIntervalResult find_silence (Sample, framecnt_t, InterThreadInfo&) const;
private:
friend class RegionFactory;
diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h
index 1f16ce6313..cae2d5bcf7 100644
--- a/libs/ardour/ardour/types.h
+++ b/libs/ardour/ardour/types.h
@@ -72,6 +72,9 @@ namespace ARDOUR {
static const framepos_t max_framepos = INT64_MAX;
static const framecnt_t max_framecnt = INT64_MAX;
+ // a set of (time) intervals: first of pair is the offset within the region, second is the length of the interval
+ typedef std::list<std::pair<frameoffset_t,framecnt_t> > AudioIntervalResult;
+
struct IOChange {
enum Type {
diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc
index f3ae05f1b1..84709d7bb2 100644
--- a/libs/ardour/audioregion.cc
+++ b/libs/ardour/audioregion.cc
@@ -1498,10 +1498,10 @@ in this and future transient-detection operations.\n\
*
* @param threshold Threshold below which signal is considered silence (as a sample value)
* @param min_length Minimum length of silent period to be reported.
- * @return Silent periods; first of pair is the offset within the region, second is the length of the period
+ * @return Silent intervals
*/
-std::list<std::pair<frameoffset_t, framecnt_t> >
+AudioIntervalResult
AudioRegion::find_silence (Sample threshold, framecnt_t min_length, InterThreadInfo& itt) const
{
framecnt_t const block_size = 64 * 1024;
@@ -1510,8 +1510,8 @@ AudioRegion::find_silence (Sample threshold, framecnt_t min_length, InterThreadI
framepos_t pos = _start;
framepos_t const end = _start + _length - 1;
-
- std::list<std::pair<frameoffset_t, framecnt_t> > silent_periods;
+
+ AudioIntervalResult silent_periods;
bool in_silence = false;
frameoffset_t silence_start = 0;