AudioDataLib
A C++ library of classes supporting a variety of audio-data tasks.
Loading...
Searching...
No Matches
AudioDataLib::SynthModule Class Referenceabstract

#include <SynthModule.h>

Inheritance diagram for AudioDataLib::SynthModule:
AudioDataLib::ArticulationModule AudioDataLib::AttenuationModule AudioDataLib::DelayModule AudioDataLib::DuplicationModule AudioDataLib::FilterModule AudioDataLib::InterpolationModule AudioDataLib::LoopedAudioModule AudioDataLib::MixerModule AudioDataLib::OscillatorModule AudioDataLib::PitchShiftModule AudioDataLib::ReverbModule

Public Member Functions

 SynthModule ()
 
virtual ~SynthModule ()
 
virtual bool GenerateSound (double durationSeconds, double samplesPerSecond, WaveForm &waveForm, SynthModule *callingModule, Error &error)=0
 
virtual bool MoreSoundAvailable ()
 
void AddDependentModule (std::shared_ptr< SynthModule > synthModule)
 
std::shared_ptr< SynthModuleGetDependentModule (uint32_t i)
 
uint32_t GetNumDependentModules () const
 
void PruneDeadBranches ()
 
void Clear ()
 
template<typename T >
T * FindModule ()
 

Protected Attributes

std::vector< std::shared_ptr< SynthModule > > * dependentModulesArray
 

Constructor & Destructor Documentation

◆ SynthModule()

SynthModule::SynthModule ( )

◆ ~SynthModule()

SynthModule::~SynthModule ( )
virtual

Member Function Documentation

◆ AddDependentModule()

void SynthModule::AddDependentModule ( std::shared_ptr< SynthModule > synthModule)

◆ Clear()

void SynthModule::Clear ( )

◆ FindModule()

template<typename T >
T * AudioDataLib::SynthModule::FindModule ( )
inline

◆ GenerateSound()

◆ GetDependentModule()

std::shared_ptr< SynthModule > SynthModule::GetDependentModule ( uint32_t i)

◆ GetNumDependentModules()

uint32_t SynthModule::GetNumDependentModules ( ) const

◆ MoreSoundAvailable()

◆ PruneDeadBranches()

void SynthModule::PruneDeadBranches ( )

Member Data Documentation

◆ dependentModulesArray

std::vector<std::shared_ptr<SynthModule> >* AudioDataLib::SynthModule::dependentModulesArray
protected

The documentation for this class was generated from the following files: