17template <
typename SampleType>
22 void prepare (
double , size_t numInputChannels, size_t numOutputChannels, size_t )
override
24 if (numInputChannels != numOutputChannels)
30 if (input.getNumChannels() != output.getNumChannels())
33 const size_t numChannels = output.getNumChannels();
34 const size_t numFrames = output.getNumFrames();
36 for (size_t channel = 0; channel < numChannels; ++channel)
38 if (channelsToProcess
[channel
] ==
true)
39 output.clear (channel, 0, numFrames);
41 output.copyFrom (channel, 0, input, channel, 0, numFrames);
49 double getValue (
int )
const override {
return 0.0; }
53 return numInputChannels == numOutputChannels;
A set of boolean flags mapped to each audio channel.
std::bitset< m_maxChannels >::reference operator[](size_t channel)
Access the flag value for a specific channel.
Mutes selected channels in the signal.
void setValue(int, double) override
Sets DSP value.
void process(const AudioBuffer< SampleType > &input, AudioBuffer< SampleType > &output, const EnvelopeBuffers &, ChannelFlags channelsToProcess) override
Processes the audio.
double getValue(int) const override
Retrieves DSP value.
bool supportsEnvelopeFor(int) const override
Tells whether this effect accepts automation envelopes for a particular parameter.
void prepare(double, size_t numInputChannels, size_t numOutputChannels, size_t) override
Prepare for processing.
void reset() override
Resets to initial state.
bool supportsChannelLayout(size_t numInputChannels, size_t numOutputChannels) const override
Tells the runner (host) whether this effect supports a specific i/o configuration.
#define HART_DEFINE_GENERIC_REPRESENT(ClassName)
Defines a basic string representation of your class.
#define HART_DSP_DECLARE_ALIASES_FOR(ClassName)
#define HART_THROW_OR_RETURN_VOID(ExceptionType, message)