mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-07 07:39:29 +02:00
Make Effect::mTracks private
This commit is contained in:
parent
aa0d55ac83
commit
004df48438
@ -160,7 +160,7 @@ bool EffectAmplify::Init()
|
||||
{
|
||||
mPeak = 0.0;
|
||||
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
|
||||
for (Track *t = iter.First(); t; t = iter.Next())
|
||||
{
|
||||
|
@ -197,7 +197,7 @@ bool EffectAutoDuck::Init()
|
||||
{
|
||||
mControlTrack = NULL;
|
||||
|
||||
TrackListIterator iter(mTracks);
|
||||
TrackListIterator iter(inputTracks());
|
||||
Track *t = iter.First();
|
||||
|
||||
bool lastWasSelectedWaveTrack = false;
|
||||
|
@ -188,7 +188,7 @@ bool EffectChangePitch::Process()
|
||||
proxy.mProxyEffectName = XO("High Quality Pitch Change");
|
||||
proxy.setParameters(1.0, pitchRatio);
|
||||
|
||||
return proxy.DoEffect(mUIParent, mProjectRate, mTracks, mFactory, ®ion, false);
|
||||
return Delegate(proxy, mUIParent, ®ion, false);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@ -397,7 +397,7 @@ void EffectChangePitch::DeduceFrequencies()
|
||||
{
|
||||
// As a neat trick, attempt to get the frequency of the note at the
|
||||
// beginning of the selection.
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
WaveTrack *track = (WaveTrack *) iter.First();
|
||||
if (track) {
|
||||
double rate = track->GetRate();
|
||||
|
@ -175,7 +175,7 @@ bool EffectChangeTempo::Process()
|
||||
EffectSBSMS proxy;
|
||||
proxy.mProxyEffectName = XO("High Quality Tempo Change");
|
||||
proxy.setParameters(tempoRatio, 1.0);
|
||||
success = proxy.DoEffect(mUIParent, mProjectRate, mTracks, mFactory, ®ion, false);
|
||||
success = Delegate(proxy, mUIParent, ®ion, false);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
@ -367,7 +367,7 @@ bool EffectCompressor::InitPass1()
|
||||
|
||||
// Find the maximum block length required for any track
|
||||
size_t maxlen = 0;
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
WaveTrack *track = (WaveTrack *) iter.First();
|
||||
while (track) {
|
||||
maxlen = std::max(maxlen, track->GetMaxBlockSize());
|
||||
|
@ -1224,6 +1224,13 @@ bool Effect::DoEffect(wxWindow *parent,
|
||||
return returnVal;
|
||||
}
|
||||
|
||||
bool Effect::Delegate( Effect &delegate,
|
||||
wxWindow *parent, SelectedRegion *selectedRegion, bool shouldPrompt)
|
||||
{
|
||||
return delegate.DoEffect( parent, mProjectRate, mTracks, mFactory,
|
||||
selectedRegion, shouldPrompt );
|
||||
}
|
||||
|
||||
// All legacy effects should have this overridden
|
||||
bool Effect::Init()
|
||||
{
|
||||
|
@ -241,6 +241,9 @@ class AUDACITY_DLL_API Effect /* not final */ : public wxEvtHandler,
|
||||
TrackFactory *factory, SelectedRegion *selectedRegion,
|
||||
bool shouldPrompt = true);
|
||||
|
||||
bool Delegate( Effect &delegate,
|
||||
wxWindow *parent, SelectedRegion *selectedRegion, bool shouldPrompt);
|
||||
|
||||
// Realtime Effect Processing
|
||||
/* not virtual */ bool RealtimeAddProcessor(int group, unsigned chans, float rate);
|
||||
/* not virtual */ size_t RealtimeProcess(int group,
|
||||
@ -435,7 +438,7 @@ protected:
|
||||
// be created with this rate...
|
||||
double mSampleRate;
|
||||
TrackFactory *mFactory;
|
||||
TrackList *mTracks; // the complete list of all tracks
|
||||
TrackList *inputTracks() const { return mTracks; }
|
||||
std::unique_ptr<TrackList> mOutputTracks; // used only if CopyInputTracks() is called.
|
||||
double mT0;
|
||||
double mT1;
|
||||
@ -480,9 +483,9 @@ protected:
|
||||
//
|
||||
private:
|
||||
wxWindow *mParent;
|
||||
TrackList *mTracks; // the complete list of all tracks
|
||||
|
||||
bool mIsBatch;
|
||||
|
||||
bool mIsLinearEffect;
|
||||
bool mPreviewWithNotSelected;
|
||||
bool mPreviewFullSelection;
|
||||
|
@ -600,7 +600,7 @@ void EffectEqualization::PopulateOrExchange(ShuttleGui & S)
|
||||
|
||||
LoadCurves();
|
||||
|
||||
TrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
TrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
WaveTrack *t = (WaveTrack *) iter.First();
|
||||
mHiFreq = (t ? t->GetRate() : GetActiveProject()->GetRate()) / 2.0;
|
||||
mLoFreq = loFreqI;
|
||||
|
@ -99,7 +99,7 @@ bool EffectFindClipping::Process()
|
||||
const wxString name{ _("Clipping") };
|
||||
|
||||
LabelTrack *lt = NULL;
|
||||
TrackListOfKindIterator iter(Track::Label, mTracks);
|
||||
TrackListOfKindIterator iter(Track::Label, inputTracks());
|
||||
for (Track *t = iter.First(); t; t = iter.Next()) {
|
||||
if (t->GetName() == name) {
|
||||
lt = (LabelTrack *)t;
|
||||
@ -115,7 +115,7 @@ bool EffectFindClipping::Process()
|
||||
int count = 0;
|
||||
|
||||
// JC: Only process selected tracks.
|
||||
SelectedTrackListOfKindIterator waves(Track::Wave, mTracks);
|
||||
SelectedTrackListOfKindIterator waves(Track::Wave, inputTracks());
|
||||
WaveTrack *t = (WaveTrack *) waves.First();
|
||||
while (t) {
|
||||
double trackStart = t->GetStartTime();
|
||||
|
@ -332,7 +332,7 @@ bool EffectScienFilter::Init()
|
||||
int selcount = 0;
|
||||
double rate = 0.0;
|
||||
|
||||
TrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
TrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
WaveTrack *t = (WaveTrack *) iter.First();
|
||||
|
||||
mNyquist = (t ? t->GetRate() : GetActiveProject()->GetRate()) / 2.0;
|
||||
|
@ -182,7 +182,7 @@ double EffectTruncSilence::CalcPreviewInputLength(double /* previewLength */)
|
||||
// Start with the whole selection silent
|
||||
silences.push_back(Region(mT0, mT1));
|
||||
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
int whichTrack = 0;
|
||||
|
||||
for (Track *t = iter.First(); t; t = iter.Next()) {
|
||||
@ -272,13 +272,13 @@ bool EffectTruncSilence::ProcessIndependently()
|
||||
|
||||
// Check if it's permissible
|
||||
{
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
for (Track *track = iter.First(); track;
|
||||
track = iter.Next(true) // skip linked tracks
|
||||
) {
|
||||
if (syncLock) {
|
||||
Track *const link = track->GetLink();
|
||||
SyncLockedTracksIterator syncIter(mTracks);
|
||||
SyncLockedTracksIterator syncIter(inputTracks());
|
||||
for (Track *track2 = syncIter.StartWith(track); track2; track2 = syncIter.Next()) {
|
||||
if (track2->GetKind() == Track::Wave &&
|
||||
!(track2 == track || track2 == link) &&
|
||||
@ -348,8 +348,8 @@ bool EffectTruncSilence::ProcessAll()
|
||||
// This list should always be kept in order.
|
||||
RegionList silences;
|
||||
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
if (FindSilences(silences, mTracks, iter.First(), iter.Last())) {
|
||||
SelectedTrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
if (FindSilences(silences, inputTracks(), iter.First(), iter.Last())) {
|
||||
TrackListIterator iterOut(mOutputTracks.get());
|
||||
double totalCutLen = 0.0;
|
||||
Track *const first = iterOut.First();
|
||||
|
@ -775,12 +775,7 @@ bool NyquistEffect::ShowInterface(wxWindow *parent, bool forceModal)
|
||||
region.setF0(mF0);
|
||||
region.setF1(mF1);
|
||||
#endif
|
||||
return effect.DoEffect(parent,
|
||||
mProjectRate,
|
||||
mTracks,
|
||||
mFactory,
|
||||
®ion,
|
||||
true);
|
||||
return Delegate(effect, parent, ®ion, true);
|
||||
}
|
||||
|
||||
void NyquistEffect::PopulateOrExchange(ShuttleGui & S)
|
||||
|
@ -342,7 +342,7 @@ bool VampEffect::SetAutomationParameters(EffectAutomationParameters & parms)
|
||||
|
||||
bool VampEffect::Init()
|
||||
{
|
||||
TrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
TrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
WaveTrack *left = (WaveTrack *)iter.First();
|
||||
|
||||
mRate = 0.0;
|
||||
@ -393,7 +393,7 @@ bool VampEffect::Process()
|
||||
return false;
|
||||
}
|
||||
|
||||
TrackListOfKindIterator iter(Track::Wave, mTracks);
|
||||
TrackListOfKindIterator iter(Track::Wave, inputTracks());
|
||||
|
||||
int count = 0;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user