Switchboard SDK
Loading...
Searching...
No Matches
switchboard::AudioProcessorNode Class Referenceabstract

A node that processes audio and has both incoming and outgoing connections. More...

#include <AudioProcessorNode.hpp>

Inheritance diagram for switchboard::AudioProcessorNode:
switchboard::AudioNode switchboard::AdvancedMuteNode switchboard::BusSelectNode switchboard::BusSplitterNode switchboard::ChannelSplitterNode switchboard::CrossfaderNode switchboard::InvertNode switchboard::MixerNode switchboard::MonoBusMergerNode switchboard::MusicDuckingNode switchboard::MusicDuckingV2Node switchboard::SingleBusAudioProcessorNode switchboard::StereoBusMergerNode switchboard::SubgraphProcessorNode

Public Member Functions

virtual ~AudioProcessorNode ()=default
 AudioProcessorNode virtual destructor.
 
virtual bool setNumberOfBuses (const uint numberOfInputBuses, const uint numberOfOutputBuses)=0
 Sets number of buses.
 
virtual bool setBusFormats (AudioBusFormatList &inputBusFormats, AudioBusFormatList &outputBusFormats)=0
 Sets bus formats.
 
virtual bool process (AudioBusList &inBuses, AudioBusList &outBuses)=0
 Processes audio data from the given input buses and produces the audio output to the given output buses.
 
- 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 &name)
 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 Attributes inherited from switchboard::AudioNode
std::string type
 
std::vector< std::unique_ptr< Parameter > > parameters
 

Detailed Description

A node that processes audio and has both incoming and outgoing connections.

AudioProcessorNode class.

Member Function Documentation

◆ process()

virtual bool switchboard::AudioProcessorNode::process ( AudioBusList & inBuses,
AudioBusList & outBuses )
pure virtual

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.

Implemented in switchboard::BusSplitterNode, switchboard::ChannelSplitterNode, switchboard::MixerNode, switchboard::SingleBusAudioProcessorNode, switchboard::AdvancedMuteNode, switchboard::BusSelectNode, switchboard::CrossfaderNode, switchboard::MusicDuckingNode, switchboard::MusicDuckingV2Node, switchboard::InvertNode, switchboard::MonoBusMergerNode, switchboard::StereoBusMergerNode, and switchboard::SubgraphProcessorNode.

◆ setBusFormats()

virtual bool switchboard::AudioProcessorNode::setBusFormats ( AudioBusFormatList & inputBusFormats,
AudioBusFormatList & outputBusFormats )
pure virtual

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.

Implemented in switchboard::SingleBusAudioProcessorNode, switchboard::AdvancedMuteNode, switchboard::BusSelectNode, switchboard::BusSplitterNode, switchboard::ChannelSplitterNode, switchboard::CrossfaderNode, switchboard::MusicDuckingNode, switchboard::MusicDuckingV2Node, switchboard::InvertNode, switchboard::MixerNode, switchboard::MonoBusMergerNode, switchboard::StereoBusMergerNode, and switchboard::SubgraphProcessorNode.

◆ setNumberOfBuses()

virtual bool switchboard::AudioProcessorNode::setNumberOfBuses ( const uint numberOfInputBuses,
const uint numberOfOutputBuses )
pure virtual

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.

Implemented in switchboard::SingleBusAudioProcessorNode, switchboard::AdvancedMuteNode, switchboard::BusSelectNode, switchboard::BusSplitterNode, switchboard::ChannelSplitterNode, switchboard::CrossfaderNode, switchboard::MusicDuckingNode, switchboard::MusicDuckingV2Node, switchboard::InvertNode, switchboard::MixerNode, switchboard::MonoBusMergerNode, switchboard::StereoBusMergerNode, and switchboard::SubgraphProcessorNode.