14#ifndef __AUDACITY_PER_TRACK_EFFECT__
15#define __AUDACITY_PER_TRACK_EFFECT__
42 : mProcessor{ processor }
52 bool ProcessFinalize() noexcept override;
71 using Factory = std::function<std::shared_ptr<EffectInstance>()>;
83 std::optional<sampleCount> genLength,
84 double sampleRate,
const Track &track,
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.
Instance(const PerTrackEffect &processor)
Base class for many of the effects in Audacity.
bool ProcessPass(Instance &instance, EffectSettings &settings)
bool Process(EffectInstance &instance, EffectSettings &settings) const
~PerTrackEffect() override
std::function< std::shared_ptr< EffectInstance >()> Factory
static bool ProcessTrack(bool multi, const Factory &factory, EffectSettings &settings, AudioGraph::Source &source, AudioGraph::Sink &sink, std::optional< sampleCount > genLength, double sampleRate, const Track &track, Buffers &inBuffers, Buffers &outBuffers)
Abstract base class for an object holding data associated with points on a time axis.
Positions or offsets within audio files need a wide type.
static RegisteredToolbarFactory factory
Externalized state of a plug-in.