3#include "signals/hart_signal.hpp"
11template<
typename SampleType>
19 void prepare (
double , size_t , size_t )
override {}
23 if (output.getNumChannels() == 0 || output.getNumFrames() == 0)
28 if (m_impulseWasAlreadyRendered)
31 for (size_t channel = 0; channel < output.getNumChannels(); ++channel)
32 output[channel][0] = (SampleType) 1;
34 m_impulseWasAlreadyRendered =
true;
39 m_impulseWasAlreadyRendered =
false;
45 bool m_impulseWasAlreadyRendered =
false;
Container for audio data.
Produces a {1, 0, 0, 0, ...} sequence.
void renderNextBlock(AudioBuffer< SampleType > &output) override
Renders next block audio for the signal.
Impulse()=default
Creates an impulse signal instance.
void prepare(double, size_t, size_t) override
Prepare the signal for rendering.
void reset() override
Resets the Signal to initial state.
#define HART_DEFINE_GENERIC_REPRESENT(ClassName)
Defines a basic string representation of your class.
#define HART_SIGNAL_DECLARE_ALIASES_FOR(ClassName)