MCPcopy Create free account
hub / github.com/audacity/audacity / Process

Method Process

libraries/lib-builtin-effects/TwoPassSimpleMono.cpp:24–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22EffectTwoPassSimpleMono::~EffectTwoPassSimpleMono() = default;
23
24bool EffectTwoPassSimpleMono::Process(
25 EffectInstance &, EffectSettings &settings)
26{
27 mPass = 0;
28 mSecondPassDisabled = false;
29
30 InitPass1();
31 EffectOutputTracks outputs { *mTracks, GetType(), { { mT0, mT1 } } };
32
33 mWorkTracks = TrackList::Create(const_cast<AudacityProject*>(FindProject()));
34 for (auto track : outputs.Get().Selected<WaveTrack>()) {
35 auto pNewTrack = track->EmptyCopy();
36 mWorkTracks->Add(pNewTrack);
37 }
38 for (const auto pNewTrack : mWorkTracks->Any<WaveTrack>()) {
39 pNewTrack->ConvertToSampleFormat(floatSample);
40 }
41
42 mTrackLists[0] = &outputs.Get();
43 mTrackLists[1] = mSecondPassDisabled ? mTrackLists[0] : &*mWorkTracks;
44
45 bool bGoodResult = ProcessPass(settings);
46 if (bGoodResult && !mSecondPassDisabled) {
47 mPass = 1;
48 if (InitPass2())
49 bGoodResult = ProcessPass(settings);
50 }
51
52 mWorkTracks->Clear();
53 mWorkTracks.reset();
54
55 if (bGoodResult)
56 outputs.Commit();
57
58 return bGoodResult;
59}
60
61bool EffectTwoPassSimpleMono::ProcessPass(EffectSettings &settings)
62{

Callers

nothing calls this directly

Calls 8

CreateFunction · 0.85
EmptyCopyMethod · 0.80
GetMethod · 0.45
AddMethod · 0.45
ConvertToSampleFormatMethod · 0.45
ClearMethod · 0.45
resetMethod · 0.45
CommitMethod · 0.45

Tested by

no test coverage detected