Switchboard SDK
Loading...
Searching...
No Matches
switchboard::SubgraphProcessorNode Class Reference

Encapsulates multiple nodes into a ProcessorNode. More...

#include <SubgraphProcessorNode.hpp>

Inheritance diagram for switchboard::SubgraphProcessorNode:
switchboard::AudioProcessorNode switchboard::AudioNode

Public Member Functions

WASM SubgraphProcessorNode ()
 Creates a SubgraphProcessorNode instance.
 
WASM ~SubgraphProcessorNode ()
 SubgraphProcessorNode destructor.
 
WASM void setAudioGraph (AudioGraph *audioGraph)
 Set the AudioGraph for the SubgraphProcessorNode.
 
WASM bool setNumberOfBuses (const uint numberOfInputBuses, const uint numberOfOutputBuses) override
 Sets number of buses.
 
WASM bool setBusFormats (AudioBusFormatList &inputBusFormats, AudioBusFormatList &outputBusFormats) override
 Sets bus formats.
 
WASM bool process (AudioBusList &inBuses, AudioBusList &outBuses) override
 Processes audio data from the given input buses and produces the audio output to the given output buses.
 
- Public Member Functions inherited from switchboard::AudioProcessorNode
virtual ~AudioProcessorNode ()=default
 AudioProcessorNode virtual destructor.
 
- Public Member Functions inherited from switchboard::AudioNode
 AudioNode ()
 AudioNode constructor.
 
virtual ~AudioNode ()=default
 AudioNode virtual destructor.
 
const std::string & getType () const
 Gets the type of the audio node.
 
virtual const std::string getDisplayName () const
 Gets the display name of the audio node.
 
virtual std::vector< std::unique_ptr< Parameter > > & getParameters ()
 Gets the parameters of the audio node.
 
virtual ParametergetParameter (const std::string &id)
 Gets the parameter with the given name.
 

Additional Inherited Members

- Public Attributes inherited from switchboard::AudioNode
std::string name
 The name of the audio node.
 
- Protected Member Functions inherited from switchboard::AudioNode
void initParameters (std::map< std::string, std::any > config)
 Initializes the node parameters from the given configuration values.
 
- Protected Attributes inherited from switchboard::AudioNode
std::string type
 
std::vector< std::unique_ptr< Parameter > > parameters
 

Detailed Description

Encapsulates multiple nodes into a ProcessorNode.

SubgraphProcessorNode class.

Member Function Documentation

◆ process()

bool SubgraphProcessorNode::process ( AudioBusList & inBuses,
AudioBusList & outBuses )
overridevirtual

Processes audio data from the given input buses and produces the audio output to the given output buses.

Should be overridden by subclasses.

Parameters
inBusesThe input buses that contain the audio data.
outBusesThe output buses which should be filled with the processed audio data.
Returns
True if audio was processed successfully, false otherwise.

Implements switchboard::AudioProcessorNode.

◆ setAudioGraph()

void SubgraphProcessorNode::setAudioGraph ( AudioGraph * audioGraph)

Set the AudioGraph for the SubgraphProcessorNode.

Note that if the internal AudioGraph is not set or not started the SubgraphProcessorNode acts as a passthrough node.

◆ setBusFormats()

bool SubgraphProcessorNode::setBusFormats ( AudioBusFormatList & inputBusFormats,
AudioBusFormatList & outputBusFormats )
overridevirtual

Sets bus formats.

Should be overridden by subclasses. Please note that setNumberOfBuses is guaranteed to be called before this method.

Parameters
inputBusFormatsThe input bus formats to set.
outputBusFormatsThe output bus formats to set.
Returns
True if the bus formats were set successfully, false otherwise.

Implements switchboard::AudioProcessorNode.

◆ setNumberOfBuses()

bool SubgraphProcessorNode::setNumberOfBuses ( const uint numberOfInputBuses,
const uint numberOfOutputBuses )
overridevirtual

Sets number of buses.

Should be overridden by subclasses

Parameters
numberOfInputBusesThe number of input buses to set.
numberOfOutputBusesThe number of output buses to set.
Returns
True for valid number of buses, false otherwise.

Implements switchboard::AudioProcessorNode.