15#ifndef __AUDACITY_LV2_INSTANCE__
16#define __AUDACITY_LV2_INSTANCE__
41 const float *
const *inBlock,
float *
const *outBlock,
size_t blockLen)
65 unsigned numChannels,
float sampleRate)
override;
71 const float *
const *inbuf,
float *
const *outbuf,
size_t numSamples)
84 std::vector<std::unique_ptr<LV2Wrapper>>
mSlaves;
static Settings & settings()
Hold values to send to effect output meters.
bool RealtimeSuspend() override
std::vector< std::unique_ptr< LV2Wrapper > > mSlaves
Each holds lv2 library state for realtime processing of one track.
unsigned GetAudioInCount() const override
How many input buffers to allocate at once.
LV2InstanceFeaturesList mFeatures
LV2Instance(const PerTrackEffect &effect, const LV2FeaturesList &features, const LV2Ports &ports)
std::unique_ptr< LV2Wrapper > mMaster
Holds lv2 library state for destructive processing.
const LV2PortStates & GetPortStates() const
bool RealtimeInitialize(EffectSettings &settings, double sampleRate) override
const LV2Wrapper * GetMaster() const
LV2PortStates mPortStates
size_t RealtimeProcess(size_t group, EffectSettings &settings, const float *const *inbuf, float *const *outbuf, size_t numSamples) override
bool RealtimeFinalize(EffectSettings &settings) noexcept override
bool ProcessInitialize(EffectSettings &settings, double sampleRate, ChannelNames chanMap) override
bool RealtimeResume() override
unsigned GetAudioOutCount() const override
How many output buffers to allocate at once.
size_t SetBlockSize(size_t maxBlockSize) override
bool RealtimeAddProcessor(EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate) override
SampleCount GetLatency(const EffectSettings &settings, double sampleRate) const override
std::unique_ptr< LV2Wrapper > MakeWrapper(const EffectSettings &settings, double sampleRate, EffectOutputs *pOutputs)
void MakeMaster(const EffectSettings &settings, double sampleRate)
bool RealtimeProcessStart(MessagePackage &package) override
settings are possibly changed, since last call, by an asynchronous dialog
size_t GetBlockSize() const override
bool RealtimeProcessEnd(EffectSettings &settings) noexcept override
settings can be updated to let a dialog change appearance at idle
size_t ProcessBlock(EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override
Called for destructive effect computation.
Manager of a handle to an LV2 plug-in instantiation.
Base class for many of the effects in Audacity.
Externalized state of a plug-in.