11namespace tracktion {
inline namespace engine
18 void ensureMaxBufferSize (
int size)
20 if (++size > bufferSamples)
23 buffers[0].
ensureSize ((
size_t) bufferSamples *
sizeof (
float) + 32,
true);
24 buffers[1].
ensureSize ((
size_t) bufferSamples *
sizeof (
float) + 32,
true);
26 if (bufferPos >= bufferSamples)
45 int bufferPos = 0, bufferSamples = 0;
61 static const char* getPluginName() {
return NEEDS_TRANS(
"Delay"); }
62 static const char* xmlTypeName;
65 juce::String getPluginType()
override {
return xmlTypeName; }
67 bool needsConstantBufferSize()
override {
return false; }
72 void reset()
override;
82 static float getMinDelayFeedbackDb() noexcept {
return -30.0f; }
void fillWith(uint8 valueToUse) noexcept
void setSize(size_t newSize, bool initialiseNewSpaceToZero=false)
void ensureSize(size_t minimumSize, bool initialiseNewSpaceToZero=false)
void applyToBuffer(const PluginRenderContext &) override
Process the next block of data.
juce::String getName() const override
The name of the type, e.g.
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
int getNumOutputChannelsGivenInputs(int numInputChannels) override
This must return the number of output channels that the plugin will produce, given a number of input ...
void deinitialise() override
Called after play stops to release resources.
void reset() override
Should reset synth voices, tails, clear delay buffers, etc.
#define TRANS(stringLiteral)
#define NEEDS_TRANS(stringLiteral)
constexpr Type jmin(Type a, Type b)
Passed into Plugins when they are being initialised, to give them useful contextual information that ...
The context passed to plugin render methods to provide it with buffers to fill.