From 74dc49a9e9888d5d2920e4cd6a42c0b96316a11e Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Mon, 14 Mar 2016 11:29:34 -0400 Subject: [PATCH] Fix new TruncateSilence -- be sure to iterate over the correct track list --- src/effects/TruncSilence.cpp | 8 ++++---- src/effects/TruncSilence.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/effects/TruncSilence.cpp b/src/effects/TruncSilence.cpp index b4cb5cba4..943b8ed16 100644 --- a/src/effects/TruncSilence.cpp +++ b/src/effects/TruncSilence.cpp @@ -320,7 +320,7 @@ bool EffectTruncSilence::ProcessIndependently() RegionList silences; silences.DeleteContents(true); - if (!FindSilences(silences, track, last)) + if (!FindSilences(silences, mOutputTracks, track, last)) return false; // Treat tracks in the sync lock group only Track *groupFirst, *groupLast; @@ -356,7 +356,7 @@ bool EffectTruncSilence::ProcessAll() silences.DeleteContents(true); SelectedTrackListOfKindIterator iter(Track::Wave, mTracks); - if (FindSilences(silences, iter.First(), iter.Last())) { + if (FindSilences(silences, mTracks, iter.First(), iter.Last())) { TrackListIterator iterOut(mOutputTracks); double totalCutLen = 0.0; Track *const first = iterOut.First(); @@ -370,7 +370,7 @@ bool EffectTruncSilence::ProcessAll() } bool EffectTruncSilence::FindSilences - (RegionList &silences, Track *firstTrack, Track *lastTrack) + (RegionList &silences, TrackList *list, Track *firstTrack, Track *lastTrack) { // Start with the whole selection silent Region *sel = new Region; @@ -379,7 +379,7 @@ bool EffectTruncSilence::FindSilences silences.push_back(sel); // Remove non-silent regions in each track - SelectedTrackListOfKindIterator iter(Track::Wave, mTracks); + SelectedTrackListOfKindIterator iter(Track::Wave, list); int whichTrack = 0; bool lastSeen = false; for (Track *t = iter.StartWith(firstTrack); !lastSeen && t; t = iter.Next()) diff --git a/src/effects/TruncSilence.h b/src/effects/TruncSilence.h index 0d89a494a..3520dde30 100644 --- a/src/effects/TruncSilence.h +++ b/src/effects/TruncSilence.h @@ -91,7 +91,7 @@ private: bool ProcessIndependently(); bool ProcessAll(); bool FindSilences - (RegionList &silences, Track *firstTrack, Track *lastTrack); + (RegionList &silences, TrackList *list, Track *firstTrack, Track *lastTrack); bool DoRemoval (const RegionList &silences, unsigned iGroup, unsigned nGroups, Track *firstTrack, Track *lastTrack, double &totalCutLen);