#include <audio/core/audionode.h>
Public Member Functions | |
Node (NodeManager &manager) | |
const std::set< OutputPin * > & | getOutputs () const |
const std::set< InputPinBase * > & | getInputs () const |
void | process () override |
![]() | |
Process (NodeManager &nodeManager) | |
Process (ParentProcess &parent) | |
Process (const Process &)=delete | |
Process & | operator= (const Process &)=delete |
virtual | ~Process () |
void | update () |
NodeManager & | getNodeManager () const |
int | getBufferSize () const |
float | getSampleRate () const |
DiscreteTimeValue | getSampleTime () const |
Protected Member Functions | |
SampleBuffer & | getOutputBuffer (OutputPin &output) |
![]() | |
virtual void | sampleRateChanged (float sampleRate) |
virtual void | bufferSizeChanged (int bufferSize) |
bool | isRegisteredWithNodeManager () const |
A node performs audio processing and is the smallest unit of a DSP network. The node can have an arbitrary number of inputs and outputs, used to connect streams of mono audio between different nodes. Use this as a base class for custom nodes that generate audio output.
Node | ( | NodeManager & | manager | ) |
manager | the node manager that this node will be registered to and processed by. The node receives it's buffersize and samplerate from the manager. |
const std::set<InputPinBase*>& getInputs | ( | ) | const |
|
protected |
Use this function within descendants @process() implementation to access the buffers that need to be filled with output.
output | the output that the buffer is requested for |
const std::set<OutputPin*>& getOutputs | ( | ) | const |
|
overridevirtual |
Has to be overwritted by descendants to specify the actual process.
Implements Process.
Reimplemented in LevelMeterNode, FFTNode, and FilterNode.