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

Records the last N seconds of incoming audio on , writes to file on diagnostic dump. More...

#include <DiagnosticRecorderNode.hpp>

Inheritance diagram for switchboard::DiagnosticRecorderNode:
switchboard::SingleBusAudioProcessorNode switchboard::AudioProcessorNode switchboard::AudioNode

Public Member Functions

WASM DiagnosticRecorderNode (const uint sampleSeconds=30)
 Creates a DiagnosticRecorderNode instance.
 
bool dump (const std::string &recordingFilePath, Codec format, bool realtime=true)
 Writes the last N seconds of recorded audio to multiple files (one for each tap).
 
WASM SingleBusAudioProcessorNodecreateTap (const std::string &name)
 Creates and returns a new SingleBusAudioProcessorNode to be added in an audio graph as a recording tap.
 
WASM bool setBusFormat (AudioBusFormat &inputBusFormat, AudioBusFormat &outputBusFormat) override
 Sets bus format.
 
WASM bool process (AudioBus &inBus, AudioBus &outBus) override
 Processes audio data from the given input bus and produces the audio output to the given output bus.
 
- Public Member Functions inherited from switchboard::SingleBusAudioProcessorNode
bool setNumberOfBuses (const uint numberOfInputBuses, const uint numberOfOutputBuses) override
 Sets number of buses.
 
bool setBusFormats (AudioBusFormatList &inputBusFormats, AudioBusFormatList &outputBusFormats) override
 Sets bus formats.
 
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

Records the last N seconds of incoming audio on , writes to file on diagnostic dump.

DiagnosticRecorderNode class

Constructor & Destructor Documentation

◆ DiagnosticRecorderNode()

switchboard::DiagnosticRecorderNode::DiagnosticRecorderNode ( const uint sampleSeconds = 30)

Creates a DiagnosticRecorderNode instance.

Parameters
sampleSecondsThe amount of audio to keep in seconds.

Member Function Documentation

◆ createTap()

SingleBusAudioProcessorNode & switchboard::DiagnosticRecorderNode::createTap ( const std::string & name)

Creates and returns a new SingleBusAudioProcessorNode to be added in an audio graph as a recording tap.

Parameters
nameName that will be added to the recorded file name to identify the recording.
Returns
The new SingleBusAudioProcessorNode.

◆ dump()

bool switchboard::DiagnosticRecorderNode::dump ( const std::string & recordingFilePath,
Codec format,
bool realtime = true )

Writes the last N seconds of recorded audio to multiple files (one for each tap).

Parameters
recordingFilePathFinal recording file path without extension.
formatFinal recording file format.
realtimeIf true then sample accuracy is guaranteed for the different taps, but the containing graph must be running.
Returns
True if file operation was successful.

◆ process()

bool switchboard::DiagnosticRecorderNode::process ( AudioBus & inBus,
AudioBus & outBus )
overridevirtual

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

Should be overridden by subclasses.

Parameters
inBusThe input bus that contain the audio data.
outBusThe output bus which should be filled with the processed audio data.
Returns
True if audio was processed successfully, false otherwise.

Implements switchboard::SingleBusAudioProcessorNode.

◆ setBusFormat()

bool switchboard::DiagnosticRecorderNode::setBusFormat ( AudioBusFormat & inputBusFormat,
AudioBusFormat & outputBusFormat )
overridevirtual

Sets bus format.

Should be overridden by subclasses.

Parameters
inputBusFormatThe input bus format to set.
outputBusFormatThe output bus format to set.
Returns
True if the bus formats were set successfully, false otherwise.

Implements switchboard::SingleBusAudioProcessorNode.