44 return XO(
"Flips the audio samples upside-down, reversing their polarity");
70 const float *
const *inBlock,
float *
const *outBlock,
size_t blockLen)
72 const float *ibuf = inBlock[0];
73 float *obuf = outBlock[0];
75 for (
decltype(blockLen) i = 0; i < blockLen; i++)
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
unsigned GetAudioInCount() const override
How many input buffers to allocate at once.
ComponentInterfaceSymbol GetSymbol() const override
static const ComponentInterfaceSymbol Symbol
EffectType GetType() const override
Type determines how it behaves.
unsigned GetAudioOutCount() const override
How many output buffers to allocate at once.
bool NeedsDither() const override
TranslatableString GetDescription() const override
size_t ProcessBlock(EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override
Called for destructive effect computation.
bool IsInteractive() const override
Whether the effect needs a dialog for entry of settings.
Holds a msgid for the translation catalog; may also bind format arguments.
BuiltinEffectsModule::Registration< EffectInvert > reg
Externalized state of a plug-in.