14#ifndef __AUDACITY_PER_TRACK_EFFECT__
15#define __AUDACITY_PER_TRACK_EFFECT__
46 : mProcessor{ processor }
56 bool ProcessFinalize() noexcept override;
72 std::shared_ptr<EffectOutputTracks> MakeOutputTracks();
75 void DestroyOutputTracks()
const;
82 using Factory = std::function<std::shared_ptr<EffectInstance>()>;
94 static bool ProcessTrack(
int channel,
97 std::optional<sampleCount> genLength,
static Settings & settings()
Accumulates (non-interleaved) data during effect processing.
Downstream receiver of sample streams, taking Buffers as external context.
Upstream producer of sample streams, taking Buffers as external context.
Base class for many of the effects in Audacity.
Performs effect computation.
Performs effect computation.
Use this object to copy the input tracks to tentative outputTracks.
Instance(const PerTrackEffect &processor)
Base class for many of the effects in Audacity.
std::shared_ptr< EffectOutputTracks > mpOutputTracks
~PerTrackEffect() override
std::function< std::shared_ptr< EffectInstance >()> Factory
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Positions or offsets within audio files need a wide type.
constexpr auto sampleRate
Externalized state of a plug-in.