#include <Processing.hxx>
Processing is the base class for all the CLAM processing object classes. It defines their shared interface and contains common infrastructure. Processings are the building blocks for any CLAM system, they are an abstraction of an audio/music processing step.
Whenever the Do method is called, the processing consumes data tokens from its input ports and produces data tokens for its output ports performing a single processing step. Each port is related to a given C++ data type and the number of tokens that are seen/consumed/produced at every Do step is flexible, even at running mode.
A processing can also receive an event from another one in an asyncronous way in order to change the way the processing is done. Asyncronous comunication is done using the Control abstraction.
Definition at line 181 of file Processing.hxx.
Public Types | |
enum | ExecState { Unconfigured = 0, Ready, Running } |
Processing Object possible execution states. More... | |
typedef NullProcessingConfig | Config |
Public Member Functions | |
bool | Configure (const ProcessingConfig &config) |
Configuration change method. | |
void | Start (void) |
Method to turn the object into running state. | |
virtual bool | Do (void)=0 |
Supervised mode execution method (using ports). | |
void | Stop (void) |
Method to put the object out of running state When in execution mode, this method must be called before any further call to Configure() methods. | |
Processing () | |
virtual | ~Processing () |
virtual const char * | GetClassName () const =0 |
Override it in every subclass and retur the name of that class. | |
virtual bool | CanProcessInplace () |
Override this method if your processing cannot process inplace. | |
bool | CanConsumeAndProduce () |
Check that Supervised Do() can be safely called. | |
virtual const ProcessingConfig & | GetConfig () const |
Configuration getter. | |
std::string | GetExecStateString () const |
bool | IsConfigured () const |
bool | IsRunning () const |
void | RegisterOutPort (OutPortBase *out) |
void | RegisterInPort (InPortBase *in) |
void | RegisterOutControl (OutControl *out) |
void | RegisterInControl (InControl *in) |
void | RegisterTypedOutControl (BaseTypedOutControl *out) |
void | RegisterTypedInControl (BaseTypedInControl *in) |
void | SetParent (Processing *p) |
void | SetNetworkBackLink (Network *network) |
virtual bool | ModifiesPortsAndControlsAtConfiguration () |
This method is used to determine if a given processing can change its interface of ports/controls after its construction (i.e. | |
bool | HasInPort (const std::string &name) |
bool | HasOutPort (const std::string &name) |
bool | HasInControl (const std::string &name) |
bool | HasOutControl (const std::string &name) |
bool | HasTypedInControl (const std::string &name) |
bool | HasTypedOutControl (const std::string &name) |
InPortBase & | GetInPort (const std::string &name) |
OutPortBase & | GetOutPort (const std::string &name) |
InControl & | GetInControl (const std::string &name) |
OutControl & | GetOutControl (const std::string &name) |
InControlRegistry & | GetInControls () |
Accessor to published Controls manager. | |
OutControlRegistry & | GetOutControls () |
Accessor to published Controls manager. | |
TypedInControlRegistry & | GetTypedInControls () |
Accessor to published Typed Controls manager. | |
TypedOutControlRegistry & | GetTypedOutControls () |
Accessor to published Typed Controls manager. | |
InPortRegistry & | GetInPorts () |
Accessor to published Ports manager. | |
OutPortRegistry & | GetOutPorts () |
Accessor to published Portss manager. | |
const std::string & | GetConfigErrorMessage () const |
Returns a string describing configuration errors if any. | |
virtual bool | IsSyncSource () const |
Wether the processing is a sync source such as audio i/o device, or an audio callback hook (i.e. | |
Protected Member Functions | |
virtual bool | ConcreteConfigure (const ProcessingConfig &) |
Configuration method interface. | |
virtual bool | ConcreteStart () |
Processing objects have to redefine this method when starting them implies some internal changes. | |
virtual bool | ConcreteStop () |
Processing objects have to redefine this method when stoping them implies some internal changes. | |
unsigned | BackendBufferSize () |
Given by the NetworkPlayer (backend) if exists. | |
unsigned | BackendSampleRate () |
Given by the NetworkPlayer (backend) if exists. | |
void | AddConfigErrorMessage (const std::string &msg) |
Method to prepend a message to _configErrorMessage CLAM_ASSERT. | |
bool | AbleToExecute (void) const |
In debug-mode checks that the processing is configured and started. | |
template<typename ConcreteConfig> | |
void | CopyAsConcreteConfig (ConcreteConfig &concrete, const ProcessingConfig &abstract) const |
Helper template to convert a reference to a ProcessingConfig to the concrete ProcessingConfig specified on the first parameter. | |
void | SetExecState (ExecState state) |
Protected Attributes | |
ProcessingComposite * | mpParent |
Pointer to the parent (composite) processing object, or 0. | |
Network * | _network |
The parent network if any. |
Reimplemented in CLAM::AudioWindowing, CLAM::WindowGenerator, CLAM::AudioAmplifier, CLAM::AudioFileMemoryLoader, CLAM::SMSHarmonizer, CLAM::SMSMorph, and CLAM::SMSTimeStretch.
Definition at line 190 of file Processing.hxx.
CLAM::Processing::Processing | ( | ) |
Definition at line 158 of file Processing.cxx.
CLAM::Processing::~Processing | ( | ) | [virtual] |
Definition at line 194 of file Processing.cxx.
References mpParent, and CLAM::ProcessingComposite::Remove().
bool CLAM::Processing::Configure | ( | const ProcessingConfig & | config | ) |
Configuration change method.
This is the method to be used in order to update the configuration of a processing object. Note that the object must NOT be running when calling this method. This method performs some execution state checkings and updates, and calls the ConcreteConfigure method of the concrete class to perform the actual configuration.
config | Reference to the configuration object. |
ErrProcessingObj | if the processing object is in running or disabled state, or if the argument is not an object of the configuration class matching the concrete processing class of the processing object. |
TODO we should use here an ErrConfiguring class. PA
Definition at line 165 of file Processing.cxx.
References CLAM_ASSERT, ConcreteConfigure(), IsRunning(), Ready, Unconfigured, and CLAM::Err::what().
Referenced by CLAM::FlattenedNetwork::AddProcessing(), CLAM::ADSR::ADSR(), CLAM::AudioAmplifier::AudioAmplifier(), CLAM::AudioFileMemoryLoader::AudioFileMemoryLoader(), CLAM::AudioIn::AudioIn(), CLAM::AudioMixer::AudioMixer(), CLAM::AudioOut::AudioOut(), CLAM::AudioWindowing::AudioWindowing(), CLAM::AutoPanner::AutoPanner(), CLAM::BinaryAudioOp< CLAM::Multiply< float > >::BinaryAudioOp(), CLAM::BinaryControlOp< BinOp >::BinaryControlOp(), CLAM::CepstralTransform::CepstralTransform(), CLAM::CircularShift::CircularShift(), CLAM::CleanTracks::CleanTracks(), CLAM::SynthSineSpectrum::ConcreteConfigure(), CLAM::SMSHarmonizer::ConcreteConfigure(), CLAM::SegmentSMSTimeStretch::ConcreteConfigure(), CLAM::SegmentSMSMorph::ConcreteConfigure(), CLAM::SegmentSMSHarmonizer::ConcreteConfigure(), CLAM::MIDIKeyboard::ConcreteConfigure(), CLAM::Control2Data::Control2Data(), CLAM::Controller::Controller(), CLAM::ControlMapper::ControlMapper(), CLAM::ControlPrinter::ControlPrinter(), CLAM::ControlScaler::ControlScaler(), CLAM::ControlTraceReader::ControlTraceReader(), CLAM::ControlTraceWriter::ControlTraceWriter(), CLAM::Deesser::Deesser(), CLAM::DescriptorComputation::DescriptorComputation(), CLAM::Dispatcher::Dispatcher(), CLAM::EnvelopeExtractor::EnvelopeExtractor(), CLAM::EnvelopeGenerator::EnvelopeGenerator(), CLAM::EnvelopeModulator::EnvelopeModulator(), CLAM::ERB_SpaceGen::ERB_SpaceGen(), CLAM::FDCombFilter::FDCombFilter(), CLAM::FDFilterGen::FDFilterGen(), CLAM::FFT_fftw3::FFT_fftw3(), CLAM::FFT_numrec::FFT_numrec(), CLAM::FFT_ooura::FFT_ooura(), CLAM::FlagControl::FlagControl(), CLAM::FrameAdder::FrameAdder(), CLAM::FrameInterpolator::FrameInterpolator(), CLAM::FreqShift::FreqShift(), CLAM::Fund2MIDI::Fund2MIDI(), CLAM::Fundamental2Control::Fundamental2Control(), CLAM::FundFreqDetect::FundFreqDetect(), CLAM::HumRemover::HumRemover(), CLAM::IFFT_fftw3::IFFT_fftw3(), CLAM::IFFT_ooura::IFFT_ooura(), CLAM::ProcessingDefinitionAdapter::LoadFrom(), CLAM::FlattenedNetwork::LoadFrom(), CLAM::SegmentSMSMorph::LoadSDIF(), CLAM::LPC_AutoCorrelation::LPC_AutoCorrelation(), CLAM::MelFilterBank::MelFilterBank(), CLAM::MIDIClocker::MIDIClocker(), CLAM::MIDIDispatcher::MIDIDispatcher(), CLAM::MIDIFileReader::MIDIFileReader(), CLAM::MIDIFileWriter::MIDIFileWriter(), CLAM::MIDIIn::MIDIIn(), CLAM::MIDIInControl::MIDIInControl(), CLAM::MIDIKeyboard::MIDIKeyboard(), CLAM::MIDIOut::MIDIOut(), CLAM::MIDIOutControl::MIDIOutControl(), CLAM::MonoAudioFileReader::MonoAudioFileReader(), CLAM::MonoAudioFileWriter::MonoAudioFileWriter(), CLAM::MultiChannelAudioFileReader::MultiChannelAudioFileReader(), CLAM::MultiChannelAudioFileWriter::MultiChannelAudioFileWriter(), CLAM::Normalization::Normalization(), CLAM::NoSpectralTransformation::NoSpectralTransformation(), CLAM::OscillatingSpectralNotch::OscillatingSpectralNotch(), CLAM::Oscillator::Oscillator(), CLAM::OutControlSender::OutControlSender(), CLAM::OverlapAdd::OverlapAdd(), CLAM::Partializer::Partializer(), CLAM::Peakalizer::Peakalizer(), CLAM::PhaseManagement::PhaseManagement(), CLAM::PortMonitor< TheDataType, ThePortType >::PortMonitor(), CLAM::PrintControl::PrintControl(), CLAM::RandomPhase::RandomPhase(), CLAM::FlattenedNetwork::ReconfigureAllProcessings(), CLAM::Robotization::Robotization(), CLAM::SampleAndHold::SampleAndHold(), CLAM::SDIFIn::SDIFIn(), CLAM::SDIFInStreaming::SDIFInStreaming(), CLAM::SDIFOut::SDIFOut(), CLAM::Segmentator::Segmentator(), CLAM::SegmentSMSHarmonizer::SegmentSMSHarmonizer(), CLAM::SegmentSMSMorph::SegmentSMSMorph(), CLAM::SegmentSMSTimeStretch::SegmentSMSTimeStretch(), CLAM::SegmentTransformation::SegmentTransformation(), CLAM::SimpleOscillator::SimpleOscillator(), CLAM::SinTracking::SinTracking(), CLAM::SinusoidalSynthesis::SinusoidalSynthesis(), CLAM::SMSAnalysis::SMSAnalysis(), CLAM::SMSAnalysisCore::SMSAnalysisCore(), CLAM::SMSDeesser::SMSDeesser(), CLAM::SMSFreqShift::SMSFreqShift(), CLAM::SMSGenderChange::SMSGenderChange(), CLAM::SMSHarmonizer::SMSHarmonizer(), CLAM::SMSMorph::SMSMorph(), CLAM::SMSOddEvenHarmonicRatio::SMSOddEvenHarmonicRatio(), CLAM::SMSPitchDiscretization::SMSPitchDiscretization(), CLAM::SMSPitchShift::SMSPitchShift(), CLAM::SMSResidualGain::SMSResidualGain(), CLAM::SMSSineFilter::SMSSineFilter(), CLAM::SMSSinusoidalGain::SMSSinusoidalGain(), CLAM::SMSSpectralShapeShift::SMSSpectralShapeShift(), CLAM::SMSSynthesis::SMSSynthesis(), CLAM::SMSTimeStretch::SMSTimeStretch(), CLAM::SpectralAmplitudeModulation::SpectralAmplitudeModulation(), CLAM::SpectralAnalysis::SpectralAnalysis(), CLAM::SpectralAverage::SpectralAverage(), CLAM::SpectralCombDelta::SpectralCombDelta(), CLAM::SpectralCombTriang::SpectralCombTriang(), CLAM::SpectralDelay::SpectralDelay(), CLAM::SpectralEnvelopeApply::SpectralEnvelopeApply(), CLAM::SpectralEnvelopeExtract::SpectralEnvelopeExtract(), CLAM::SpectralExciter::SpectralExciter(), CLAM::SpectralFocus::SpectralFocus(), CLAM::SpectralGate::SpectralGate(), CLAM::SpectralLimiter::SpectralLimiter(), CLAM::SpectralNotch::SpectralNotch(), CLAM::SpectralPeakArrayAdder::SpectralPeakArrayAdder(), CLAM::SpectralPeakArrayInterpolator::SpectralPeakArrayInterpolator(), CLAM::SpectralPeakDetect::SpectralPeakDetect(), CLAM::SpectralPhaseModulation::SpectralPhaseModulation(), CLAM::SpectralReject::SpectralReject(), CLAM::SpectralReverse::SpectralReverse(), CLAM::SpectralRingModulation::SpectralRingModulation(), CLAM::SpectralShapeShift::SpectralShapeShift(), CLAM::SpectralSpread::SpectralSpread(), CLAM::SpectralSynthesis::SpectralSynthesis(), CLAM::SpectrumAdder::SpectrumAdder(), CLAM::SpectrumAdder2::SpectrumAdder2(), CLAM::SpectrumInterpolator::SpectrumInterpolator(), CLAM::SpectrumProduct::SpectrumProduct(), CLAM::SpectrumSubstracter2::SpectrumSubstracter2(), CLAM::SynthSineSpectrum::SynthSineSpectrum(), CLAM::ThreeBandAM::ThreeBandAM(), CLAM::ThreeBandCompressor::ThreeBandCompressor(), CLAM::ThreeBandFilter::ThreeBandFilter(), CLAM::ThreeBandGate::ThreeBandGate(), CLAM::TokenDelay< CLAM::SpectralPeakArray >::TokenDelay(), CLAM::TonalAnalysis::TonalAnalysis(), CLAM::Vocoder::Vocoder(), CLAM::WaveGenerator::WaveGenerator(), and CLAM::WindowGenerator::WindowGenerator().
void CLAM::Processing::Start | ( | void | ) |
Method to turn the object into running state.
This method must be called before any call to Do() methods.
Definition at line 200 of file Processing.cxx.
References CLAM_ASSERT, ConcreteStart(), IsConfigured(), IsRunning(), Running, and CLAM::Err::what().
Referenced by CLAM::Hidden::ProcessingClass2LadspaBase::Activate(), CLAM::AudioFileMemoryLoader::ConcreteConfigure(), CLAM::SegmentSMSTimeStretch::ConcreteStart(), CLAM::SegmentSMSMorph::ConcreteStart(), and CLAM::SegmentSMSMorph::LoadSDIF().
virtual bool CLAM::Processing::Do | ( | void | ) | [pure virtual] |
Supervised mode execution method (using ports).
Implemented in CLAM::BinaryControlOp< BinOp >, CLAM::PrintControl, CLAM::AudioWindowing, CLAM::CepstralTransform, CLAM::CircularShift, CLAM::CleanTracks, CLAM::DescriptorComputation, CLAM::ERB_SpaceGen, CLAM::FFT_base, CLAM::FFT_fftw3, CLAM::FFT_numrec, CLAM::FFT_ooura, CLAM::FundFreqDetect, CLAM::LPC_AutoCorrelation, CLAM::MelFilterBank, CLAM::Segmentator, CLAM::SinTracking, CLAM::SMSAnalysis, CLAM::SMSAnalysisCore, CLAM::SpectralAnalysis, CLAM::SpectralEnvelopeExtract, CLAM::SpectralPeakDetect, CLAM::TonalAnalysis, CLAM::WindowGenerator, CLAM::ZeroPadder, CLAM::AudioAmplifier, CLAM::AudioMixer, CLAM::BinaryAudioOp< BinOp >, CLAM::FrameAdder, CLAM::FrameInterpolator, CLAM::SpectralPeakArrayAdder, CLAM::SpectralPeakArrayInterpolator, CLAM::SpectrumAdder, CLAM::SpectrumAdder2, CLAM::SpectrumInterpolator, CLAM::SpectrumProduct, CLAM::SpectrumSubstracter2, CLAM::AudioFileMemoryLoader, CLAM::MonoAudioFileReader, CLAM::MonoAudioFileWriter, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, CLAM::AudioIn, CLAM::AudioOut, CLAM::AudioSink, CLAM::AudioSource, CLAM::ProcessingComposite, CLAM::TopLevelProcessing, CLAM::AutoPanner, CLAM::Control2Data, CLAM::Controller, CLAM::ControlMapper, CLAM::ControlPrinter, CLAM::ControlScaler, CLAM::ControlSink, CLAM::ControlSource, CLAM::ControlTraceReader, CLAM::ControlTraceWriter, CLAM::FlagControl, CLAM::Fundamental2Control, CLAM::OutControlSender, CLAM::ADSR, CLAM::Dispatcher, CLAM::Instrument, CLAM::Oscillator, CLAM::SimpleOscillator, CLAM::WaveGenerator, CLAM::Fund2MIDI, CLAM::MIDIClocker, CLAM::MIDIDispatcher, CLAM::MIDIFileReader, CLAM::MIDIFileWriter, CLAM::MIDIIn, CLAM::MIDIKeyboard, CLAM::MIDIOut, CLAM::PortMonitor< TheDataType, ThePortType >, CLAM::LadspaWrapper, CLAM::SDIFIn, CLAM::SDIFInStreaming, CLAM::SDIFOut, CLAM::IFFT_base, CLAM::IFFT_fftw3, CLAM::IFFT_ooura, CLAM::OverlapAdd, CLAM::PhaseManagement, CLAM::SinusoidalSynthesis, CLAM::SMSSynthesis, CLAM::SpectralSynthesis, CLAM::SynthSineSpectrum, CLAM::EnvelopeExtractor, CLAM::EnvelopeGenerator, CLAM::EnvelopeModulator, CLAM::FDCombFilter, CLAM::FDFilterGen, CLAM::Normalization, CLAM::SegmentSMSHarmonizer, CLAM::SegmentSMSMorph, CLAM::SegmentSMSTimeStretch, CLAM::SegmentTransformation, CLAM::SMSDeesser, CLAM::SMSFreqShift, CLAM::SMSGenderChange, CLAM::SMSHarmonizer, CLAM::SMSMorph, CLAM::SMSOddEvenHarmonicRatio, CLAM::SMSPitchDiscretization, CLAM::SMSPitchShift, CLAM::SMSResidualGain, CLAM::SMSSineFilter, CLAM::SMSSinusoidalGain, CLAM::SMSSpectralShapeShift, CLAM::SMSTimeStretch, CLAM::SMSTransformationChain, CLAM::SMSTransformationChainIO, CLAM::ThreeBandCompressor, CLAM::ThreeBandFilter, CLAM::ThreeBandGate, CLAM::ThreeBandAM, CLAM::Deesser, CLAM::FreqShift, CLAM::HumRemover, CLAM::NoSpectralTransformation, CLAM::OscillatingSpectralNotch, CLAM::Partializer, CLAM::Peakalizer, CLAM::RandomPhase, CLAM::Robotization, CLAM::SampleAndHold, CLAM::SpectralAmplitudeModulation, CLAM::SpectralAverage, CLAM::SpectralCombDelta, CLAM::SpectralCombTriang, CLAM::SpectralDelay, CLAM::SpectralExciter, CLAM::SpectralFocus, CLAM::SpectralGate, CLAM::SpectralLimiter, CLAM::SpectralNotch, CLAM::SpectralPhaseModulation, CLAM::SpectralReject, CLAM::SpectralReverse, CLAM::SpectralRingModulation, CLAM::SpectralShapeShift, CLAM::SpectralSpread, CLAM::Vocoder, CLAM::SpectralEnvelopeApply, CLAM::TokenDelay< T >, CLAM::BinaryAudioOp< CLAM::Multiply< float > >, CLAM::PortMonitor< CLAM::Spectrum >, CLAM::PortMonitor< CLAM::Audio, CLAM::AudioInPort >, CLAM::PortMonitor< CLAM::SpectralPeakArray >, CLAM::PortMonitor< CLAM::Fundamental >, CLAM::TokenDelay< CLAM::Spectrum >, CLAM::TokenDelay< CLAM::SpectralPeakArray >, CLAM::PortMonitor< TheDataType, ThePortType >, and CLAM::PortMonitor< TheDataType, ThePortType >.
Referenced by CLAM::PushFlowControl::Do(), and CLAM::NaiveFlowControl::Do().
void CLAM::Processing::Stop | ( | void | ) |
Method to put the object out of running state When in execution mode, this method must be called before any further call to Configure() methods.
Definition at line 214 of file Processing.cxx.
References CLAM_ASSERT, ConcreteStop(), IsRunning(), Ready, and CLAM::Err::what().
Referenced by CLAM::SegmentSMSTimeStretch::ConcreteStop(), CLAM::Hidden::ProcessingClass2LadspaBase::Deactivate(), and CLAM::SegmentSMSMorph::LoadSDIF().
virtual const char* CLAM::Processing::GetClassName | ( | ) | const [pure virtual] |
Override it in every subclass and retur the name of that class.
Implemented in CLAM::PrintControl, CLAM::AudioWindowing, CLAM::CepstralTransform, CLAM::CircularShift, CLAM::DescriptorComputation, CLAM::ERB_SpaceGen, CLAM::FFT_fftw3, CLAM::FFT_numrec, CLAM::FFT_ooura, CLAM::LPC_AutoCorrelation, CLAM::MelFilterBank, CLAM::Segmentator, CLAM::SMSAnalysis, CLAM::SMSAnalysisCore, CLAM::SpectralAnalysis, CLAM::SpectralPeakDetect, CLAM::TonalAnalysis, CLAM::ZeroPadder, CLAM::AudioMixer, CLAM::BinaryAudioOp< BinOp >, CLAM::AudioFileMemoryLoader, CLAM::MonoAudioFileReader, CLAM::MonoAudioFileWriter, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, CLAM::AudioIn, CLAM::AudioOut, CLAM::AudioSink, CLAM::AudioSource, CLAM::ProcessingComposite, CLAM::TopLevelProcessing, CLAM::AutoPanner, CLAM::Control2Data, CLAM::Controller, CLAM::ControlMapper, CLAM::ControlPrinter, CLAM::ControlScaler, CLAM::ControlSink, CLAM::ControlSource, CLAM::ControlTraceReader, CLAM::ControlTraceWriter, CLAM::FlagControl, CLAM::Fundamental2Control, CLAM::OutControlSender, CLAM::ADSR, CLAM::Dispatcher, CLAM::Instrument, CLAM::Oscillator, CLAM::SimpleOscillator, CLAM::Fund2MIDI, CLAM::MIDIClocker, CLAM::MIDIDispatcher, CLAM::MIDIFileReader, CLAM::MIDIFileWriter, CLAM::MIDIIn, CLAM::MIDIInControl, CLAM::MIDIKeyboard, CLAM::MIDIOut, CLAM::MIDIOutControl, CLAM::PortMonitor< TheDataType, ThePortType >, CLAM::PeaksPortMonitor, CLAM::SinTracksPortMonitor, CLAM::SpectrumPortMonitor, CLAM::SpecgramPortMonitor, CLAM::FundamentalPortMonitor, CLAM::FundTrackPortMonitor, CLAM::AudioPortMonitor, CLAM::AudioBuffPortMonitor, CLAM::LadspaWrapper, CLAM::SDIFIn, CLAM::SDIFInStreaming, CLAM::SDIFOut, CLAM::IFFT_base, CLAM::IFFT_fftw3, CLAM::IFFT_ooura, CLAM::PhaseManagement, CLAM::SinusoidalSynthesis, CLAM::SMSSynthesis, CLAM::SpectralSynthesis, CLAM::SynthSineSpectrum, CLAM::EnvelopeExtractor, CLAM::EnvelopeGenerator, CLAM::EnvelopeModulator, CLAM::Normalization, CLAM::SegmentSMSMorph, CLAM::SegmentSMSTimeStretch, CLAM::SegmentTransformation, CLAM::SMSFreqShift, CLAM::ThreeBandCompressor, CLAM::ThreeBandFilter, CLAM::ThreeBandGate, CLAM::ThreeBandAM, CLAM::Deesser, CLAM::FreqShift, CLAM::HumRemover, CLAM::NoSpectralTransformation, CLAM::OscillatingSpectralNotch, CLAM::Partializer, CLAM::Peakalizer, CLAM::RandomPhase, CLAM::Robotization, CLAM::SampleAndHold, CLAM::SpectralAmplitudeModulation, CLAM::SpectralAverage, CLAM::SpectralCombDelta, CLAM::SpectralCombTriang, CLAM::SpectralDelay, CLAM::SpectralExciter, CLAM::SpectralGate, CLAM::SpectralLimiter, CLAM::SpectralNotch, CLAM::SpectralPhaseModulation, CLAM::SpectralReject, CLAM::SpectralReverse, CLAM::SpectralRingModulation, CLAM::Vocoder, CLAM::TokenDelay< T >, CLAM::BinaryAudioOp< CLAM::Multiply< float > >, CLAM::PortMonitor< CLAM::Spectrum >, CLAM::PortMonitor< CLAM::Audio, CLAM::AudioInPort >, CLAM::PortMonitor< CLAM::SpectralPeakArray >, CLAM::PortMonitor< CLAM::Fundamental >, CLAM::TokenDelay< CLAM::Spectrum >, CLAM::TokenDelay< CLAM::SpectralPeakArray >, CLAM::BinaryControlOp< BinOp >, CLAM::BinaryAudioOp< BinOp >, and CLAM::BinaryAudioOp< BinOp >.
Referenced by AbleToExecute(), CanConsumeAndProduce(), CLAM::Hidden::ProcessingClass2LadspaBase::CreateDescriptor(), CLAM::PushFlowControl::Do(), CLAM::FlattenedNetwork::LoadFrom(), CLAM::NaiveFlowControl::ProcessingAddedToNetwork(), CLAM::NaiveFlowControl::ProcessingRemovedFromNetwork(), and CLAM::ProcessingDefinitionAdapter::StoreOn().
virtual bool CLAM::Processing::CanProcessInplace | ( | ) | [inline, virtual] |
Override this method if your processing cannot process inplace.
Reimplemented in CLAM::SegmentSMSTimeStretch.
Definition at line 240 of file Processing.hxx.
virtual bool CLAM::Processing::ConcreteConfigure | ( | const ProcessingConfig & | ) | [inline, protected, virtual] |
Configuration method interface.
The Processing base class forces all the concrete classes derived from it to implement this method, which must actually perform the specific configuration tasks.
Note that the user can not call this method directly. He will use Configure instead. The argument is expected to be an object of the necesary concrete configuration class.
Reference | to the configuration object. |
This | method must throw a bad_cast exception if the argument is not an object of the expected configuration class. |
Reimplemented in CLAM::BinaryControlOp< BinOp >, CLAM::PrintControl, CLAM::CepstralTransform, CLAM::CircularShift, CLAM::DescriptorComputation, CLAM::FFT_base, CLAM::FFT_fftw3, CLAM::LPC_AutoCorrelation, CLAM::MelFilterBank, CLAM::SpectralPeakDetect, CLAM::TonalAnalysis, CLAM::ZeroPadder, CLAM::AudioAmplifier, CLAM::AudioMixer, CLAM::AudioFileMemoryLoader, CLAM::MonoAudioFileReader, CLAM::MonoAudioFileWriter, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, CLAM::AudioIn, CLAM::AudioOut, CLAM::ProcessingComposite, CLAM::TopLevelProcessing, CLAM::AutoPanner, CLAM::Control2Data, CLAM::Controller, CLAM::ControlMapper, CLAM::ControlPrinter, CLAM::ControlScaler, CLAM::ControlSink, CLAM::ControlSource, CLAM::ControlTraceReader, CLAM::ControlTraceWriter, CLAM::FlagControl, CLAM::Fundamental2Control, CLAM::OutControlSender, CLAM::ADSR, CLAM::Dispatcher, CLAM::Oscillator, CLAM::SimpleOscillator, CLAM::Fund2MIDI, CLAM::MIDI2Melody, CLAM::MIDIClocker, CLAM::MIDIDispatcher, CLAM::MIDIFileReader, CLAM::MIDIFileWriter, CLAM::MIDIIn, CLAM::MIDIInControl, CLAM::MIDIKeyboard, CLAM::MIDIOut, CLAM::MIDIOutControl, CLAM::LadspaWrapper, CLAM::IFFT_base, CLAM::PhaseManagement, CLAM::SynthSineSpectrum, CLAM::EnvelopeGenerator, CLAM::SegmentSMSHarmonizer, CLAM::SegmentSMSMorph, CLAM::SegmentSMSTimeStretch, CLAM::SegmentTransformation, CLAM::SMSGenderChange, CLAM::SMSHarmonizer, CLAM::SMSMorph, CLAM::SMSPitchShift, CLAM::SMSResidualGain, CLAM::SMSSineFilter, CLAM::SMSSinusoidalGain, CLAM::SMSTimeStretch, CLAM::SMSTransformationChain, CLAM::ThreeBandFilter, CLAM::OscillatingSpectralNotch, CLAM::Robotization, CLAM::SpectralDelay, CLAM::TokenDelay< T >, CLAM::TokenDelay< CLAM::Spectrum >, and CLAM::TokenDelay< CLAM::SpectralPeakArray >.
Definition at line 262 of file Processing.hxx.
Referenced by Configure().
virtual bool CLAM::Processing::ConcreteStart | ( | void | ) | [inline, protected, virtual] |
Processing objects have to redefine this method when starting them implies some internal changes.
ie: adquiring resources.
Reimplemented in CLAM::CepstralTransform, CLAM::SMSAnalysis, CLAM::SMSAnalysisCore, CLAM::TonalAnalysis, CLAM::ZeroPadder, CLAM::AudioFileMemoryLoader, CLAM::MonoAudioFileReader, CLAM::MonoAudioFileWriter, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, CLAM::AudioIn, CLAM::AudioOut, CLAM::ProcessingComposite, CLAM::ControlTraceReader, CLAM::OutControlSender, CLAM::MIDIClocker, CLAM::MIDIIn, CLAM::MIDIOut, CLAM::PortMonitor< TheDataType, ThePortType >, CLAM::LadspaWrapper, CLAM::SDIFIn, CLAM::SDIFOut, CLAM::FrameTransformation, CLAM::SegmentSMSMorph, CLAM::SegmentSMSTimeStretch, CLAM::SegmentTransformation, CLAM::SMSTimeStretch, CLAM::SMSTransformationChain, CLAM::PortMonitor< CLAM::Spectrum >, CLAM::PortMonitor< CLAM::Audio, CLAM::AudioInPort >, CLAM::PortMonitor< CLAM::SpectralPeakArray >, and CLAM::PortMonitor< CLAM::Fundamental >.
Definition at line 269 of file Processing.hxx.
Referenced by Start().
virtual bool CLAM::Processing::ConcreteStop | ( | ) | [inline, protected, virtual] |
Processing objects have to redefine this method when stoping them implies some internal changes.
ie: releasing resources.
Reimplemented in CLAM::TonalAnalysis, CLAM::ZeroPadder, CLAM::MonoAudioFileReader, CLAM::MonoAudioFileWriter, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, CLAM::AudioOut, CLAM::ProcessingComposite, CLAM::ControlTraceWriter, CLAM::PortMonitor< TheDataType, ThePortType >, CLAM::LadspaWrapper, CLAM::SDIFIn, CLAM::SDIFOut, CLAM::SegmentSMSTimeStretch, CLAM::SMSTimeStretch, CLAM::PortMonitor< CLAM::Spectrum >, CLAM::PortMonitor< CLAM::Audio, CLAM::AudioInPort >, CLAM::PortMonitor< CLAM::SpectralPeakArray >, and CLAM::PortMonitor< CLAM::Fundamental >.
Definition at line 276 of file Processing.hxx.
Referenced by Stop().
unsigned CLAM::Processing::BackendBufferSize | ( | ) | [protected] |
Given by the NetworkPlayer (backend) if exists.
Definition at line 226 of file Processing.cxx.
References _network, and CLAM::FlattenedNetwork::BackendBufferSize().
unsigned CLAM::Processing::BackendSampleRate | ( | ) | [protected] |
Given by the NetworkPlayer (backend) if exists.
Definition at line 230 of file Processing.cxx.
References _network, and CLAM::FlattenedNetwork::BackendBufferSize().
bool CLAM::Processing::CanConsumeAndProduce | ( | ) |
Check that Supervised Do() can be safely called.
Definition at line 288 of file Processing.cxx.
References CLAM::InPortRegistry::AreReadyForReading(), CLAM::OutPortRegistry::AreReadyForWriting(), GetClassName(), GetInPorts(), GetOutPorts(), and IsRunning().
Referenced by CLAM::SMSAnalysisCore::Do(), CLAM::SMSAnalysis::Do(), CLAM::PushFlowControl::Do(), and CLAM::NaiveFlowControl::Do().
const ProcessingConfig & CLAM::Processing::GetConfig | ( | ) | const [virtual] |
Configuration getter.
Gets the configuration parameters used to create the object.
Reimplemented in CLAM::BinaryControlOp< BinOp >, CLAM::PrintControl, CLAM::AudioWindowing, CLAM::CepstralTransform, CLAM::CircularShift, CLAM::CleanTracks, CLAM::DescriptorComputation, CLAM::ERB_SpaceGen, CLAM::FFT_base, CLAM::FundFreqDetect, CLAM::LPC_AutoCorrelation, CLAM::MelFilterBank, CLAM::Segmentator, CLAM::SinTracking, CLAM::SMSAnalysis, CLAM::SMSAnalysisCore, CLAM::SpectralAnalysis, CLAM::SpectralEnvelopeExtract, CLAM::SpectralPeakDetect, CLAM::TonalAnalysis, CLAM::WindowGenerator, CLAM::ZeroPadder, CLAM::AudioAmplifier, CLAM::AudioMixer, CLAM::BinaryAudioOp< BinOp >, CLAM::FrameAdder, CLAM::FrameInterpolator, CLAM::SpectralPeakArrayAdder, CLAM::SpectralPeakArrayInterpolator, CLAM::SpectrumAdder, CLAM::SpectrumAdder2, CLAM::SpectrumInterpolator, CLAM::SpectrumSubstracter2, CLAM::AudioFileMemoryLoader, CLAM::MonoAudioFileReader, CLAM::MonoAudioFileWriter, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, CLAM::AudioIn, CLAM::AudioOut, CLAM::ProcessingComposite, CLAM::TopLevelProcessing, CLAM::AutoPanner, CLAM::Control2Data, CLAM::Controller, CLAM::ControlMapper, CLAM::ControlPrinter, CLAM::ControlScaler, CLAM::ControlSink, CLAM::ControlSource, CLAM::ControlTraceReader, CLAM::ControlTraceWriter, CLAM::FlagControl, CLAM::Fundamental2Control, CLAM::OutControlSender, CLAM::ADSR, CLAM::Dispatcher, CLAM::Oscillator, CLAM::SimpleOscillator, CLAM::WaveGenerator, CLAM::Fund2MIDI, CLAM::MIDIClocker, CLAM::MIDIDispatcher, CLAM::MIDIFileReader, CLAM::MIDIFileWriter, CLAM::MIDIIn, CLAM::MIDIKeyboard, CLAM::MIDIOut, CLAM::SDIFIn, CLAM::SDIFInStreaming, CLAM::SDIFOut, CLAM::IFFT_base, CLAM::OverlapAdd, CLAM::PhaseManagement, CLAM::SinusoidalSynthesis, CLAM::SMSSynthesis, CLAM::SpectralSynthesis, CLAM::SynthSineSpectrum, CLAM::EnvelopeExtractor, CLAM::EnvelopeGenerator, CLAM::EnvelopeModulator, CLAM::FDCombFilter, CLAM::FDFilterGen, CLAM::Normalization, CLAM::FrameTransformation, CLAM::SegmentSMSMorph, CLAM::SegmentTransformation, CLAM::SMSHarmonizer, CLAM::SMSMorph, CLAM::SMSSineFilter, CLAM::SMSTimeStretch, CLAM::SMSTransformationChain, CLAM::SpectralEnvelopeApply, CLAM::TokenDelay< T >, CLAM::BinaryAudioOp< CLAM::Multiply< float > >, CLAM::TokenDelay< CLAM::Spectrum >, and CLAM::TokenDelay< CLAM::SpectralPeakArray >.
Definition at line 299 of file Processing.cxx.
Referenced by CLAM::FlattenedNetwork::AddProcessing(), CLAM::ProcessingDefinitionAdapter::LoadFrom(), CLAM::FlattenedNetwork::LoadFrom(), CLAM::FlattenedNetwork::ReconfigureAllProcessings(), and CLAM::ProcessingDefinitionAdapter::StoreOn().
std::string CLAM::Processing::GetExecStateString | ( | ) | const |
Definition at line 304 of file Processing.cxx.
References CLAM_ASSERT, Ready, Running, and Unconfigured.
bool CLAM::Processing::IsConfigured | ( | ) | const [inline] |
Definition at line 307 of file Processing.hxx.
References Unconfigured.
Referenced by CLAM::AudioFileMemoryLoader::ConcreteConfigure(), CLAM::SpectrumAdder::SetPrototypes(), and Start().
bool CLAM::Processing::IsRunning | ( | ) | const [inline] |
Definition at line 308 of file Processing.hxx.
References Running.
Referenced by AbleToExecute(), CanConsumeAndProduce(), Configure(), CLAM::SpectrumSubstracter2::Do(), CLAM::SpectrumProduct::Do(), CLAM::SpectrumInterpolator::Do(), CLAM::SpectrumAdder2::Do(), CLAM::SpectrumAdder::Do(), CLAM::SpectralPeakArrayInterpolator::Do(), CLAM::SpectralPeakArrayAdder::Do(), CLAM::Segmentator::Do(), CLAM::IFFT_ooura::Do(), CLAM::IFFT_fftw3::Do(), CLAM::FrameInterpolator::Do(), CLAM::FrameAdder::Do(), CLAM::FFT_ooura::Do(), CLAM::FFT_numrec::Do(), CLAM::FFT_fftw3::Do(), CLAM::SMSTransformationChain::DoChildren(), Start(), and Stop().
void CLAM::Processing::RegisterOutPort | ( | OutPortBase * | out | ) |
Definition at line 235 of file Processing.cxx.
References CLAM::OutPortRegistry::ProcessingInterface_Register().
Referenced by CLAM::OutPortBase::OutPortBase().
void CLAM::Processing::RegisterInPort | ( | InPortBase * | in | ) |
Definition at line 239 of file Processing.cxx.
References CLAM::InPortRegistry::ProcessingInterface_Register().
Referenced by CLAM::InPortBase::InPortBase().
void CLAM::Processing::RegisterOutControl | ( | OutControl * | out | ) |
Definition at line 244 of file Processing.cxx.
References CLAM::OutControlRegistry::ProcessingInterface_Register().
Referenced by CLAM::OutControl::OutControl().
void CLAM::Processing::RegisterInControl | ( | InControl * | in | ) |
Definition at line 248 of file Processing.cxx.
References CLAM::InControlRegistry::ProcessingInterface_Register().
Referenced by CLAM::InControl::InControl().
void CLAM::Processing::RegisterTypedOutControl | ( | BaseTypedOutControl * | out | ) |
Definition at line 252 of file Processing.cxx.
References CLAM::TypedOutControlRegistry::ProcessingInterface_Register().
Referenced by CLAM::BaseTypedOutControl::BaseTypedOutControl().
void CLAM::Processing::RegisterTypedInControl | ( | BaseTypedInControl * | in | ) |
Definition at line 256 of file Processing.cxx.
References CLAM::TypedInControlRegistry::ProcessingInterface_Register().
Referenced by CLAM::BaseTypedInControl::BaseTypedInControl().
void CLAM::Processing::SetParent | ( | Processing * | p | ) |
Definition at line 261 of file Processing.cxx.
References CLAM_ASSERT, CLAM::TopLevelProcessing::GetInstance(), CLAM::ProcessingComposite::Insert(), mpParent, and CLAM::ProcessingComposite::Remove().
void CLAM::Processing::SetNetworkBackLink | ( | Network * | network | ) |
Definition at line 279 of file Processing.cxx.
References _network.
Referenced by CLAM::FlattenedNetwork::AddProcessing().
virtual bool CLAM::Processing::ModifiesPortsAndControlsAtConfiguration | ( | ) | [inline, virtual] |
This method is used to determine if a given processing can change its interface of ports/controls after its construction (i.e.
changing the name of ports in ConcreteConfigure). If a concrete processing can do this, it should reimplement the method returning true, in order to notify networks, graphical interfaces, etc.
Reimplemented in CLAM::AudioMixer, CLAM::MultiChannelAudioFileReader, CLAM::MultiChannelAudioFileWriter, and CLAM::MIDIDispatcher.
Definition at line 327 of file Processing.hxx.
bool CLAM::Processing::HasInPort | ( | const std::string & | name | ) | [inline] |
bool CLAM::Processing::HasOutPort | ( | const std::string & | name | ) | [inline] |
bool CLAM::Processing::HasInControl | ( | const std::string & | name | ) | [inline] |
bool CLAM::Processing::HasOutControl | ( | const std::string & | name | ) | [inline] |
bool CLAM::Processing::HasTypedInControl | ( | const std::string & | name | ) | [inline] |
bool CLAM::Processing::HasTypedOutControl | ( | const std::string & | name | ) | [inline] |
InPortBase& CLAM::Processing::GetInPort | ( | const std::string & | name | ) | [inline] |
Definition at line 359 of file Processing.hxx.
References CLAM::InPortRegistry::Get().
Referenced by CLAM::SMSAnalysisCore::ConcreteStart(), CLAM::ConnectPorts(), and CLAM::SMSAnalysis::SMSAnalysis().
OutPortBase& CLAM::Processing::GetOutPort | ( | const std::string & | name | ) | [inline] |
Definition at line 363 of file Processing.hxx.
References CLAM::OutPortRegistry::Get().
Referenced by CLAM::ConnectPorts(), CLAM::SMSAnalysis::Do(), and CLAM::FreewheelingNetworkPlayer::Start().
InControl& CLAM::Processing::GetInControl | ( | const std::string & | name | ) | [inline] |
Definition at line 367 of file Processing.hxx.
References CLAM::InControlRegistry::Get().
Referenced by CLAM::GetFloatFromInControl().
OutControl& CLAM::Processing::GetOutControl | ( | const std::string & | name | ) | [inline] |
InControlRegistry& CLAM::Processing::GetInControls | ( | ) | [inline] |
Accessor to published Controls manager.
Definition at line 377 of file Processing.hxx.
Referenced by CLAM::Dispatcher::ConcreteConfigure(), CLAM::ConnectControls(), CLAM::GetFloatFromInControl(), CLAM::FlattenedNetwork::GetInControlByCompleteName(), CLAM::Instrument::LinkStateOutWithInControl(), CLAM::ControlTraceWriter::RemoveOldControls(), CLAM::ControlPrinter::RemoveOldControls(), CLAM::SendFloatToInControl(), and CLAM::InControl::~InControl().
OutControlRegistry& CLAM::Processing::GetOutControls | ( | ) | [inline] |
Accessor to published Controls manager.
Definition at line 380 of file Processing.hxx.
Referenced by CLAM::MIDIKeyboard::ConcreteConfigure(), CLAM::Dispatcher::ConcreteConfigure(), CLAM::ConnectControls(), CLAM::FlattenedNetwork::GetOutControlByCompleteName(), CLAM::Instrument::LinkStateOutWithInControl(), CLAM::ControlTraceReader::RemoveOldControls(), CLAM::SendFloatToOutControl(), CLAM::FlattenedNetwork::StoreOn(), and CLAM::OutControl::~OutControl().
TypedInControlRegistry& CLAM::Processing::GetTypedInControls | ( | ) | [inline] |
Accessor to published Typed Controls manager.
Definition at line 383 of file Processing.hxx.
Referenced by CLAM::ConnectTypedControls(), and CLAM::BaseTypedInControl::~BaseTypedInControl().
TypedOutControlRegistry& CLAM::Processing::GetTypedOutControls | ( | ) | [inline] |
Accessor to published Typed Controls manager.
Definition at line 386 of file Processing.hxx.
Referenced by CLAM::ConnectTypedControls(), and CLAM::BaseTypedOutControl::~BaseTypedOutControl().
InPortRegistry& CLAM::Processing::GetInPorts | ( | ) | [inline] |
Accessor to published Ports manager.
Definition at line 389 of file Processing.hxx.
Referenced by CanConsumeAndProduce(), CLAM::ConnectPorts(), CLAM::MultiChannelAudioFileWriter::DestroyOldInputs(), CLAM::FlattenedNetwork::GetInPortByCompleteName(), CLAM::FlattenedNetwork::GetUnconnectedInPorts(), CLAM::FlattenedNetwork::HasUnconnectedInPorts(), CLAM::Hidden::ProcessingClass2LadspaBase::Instantiate(), CLAM::PushFlowControl::ProcessingAddedToNetwork(), CLAM::NaiveFlowControl::ProcessingAddedToNetwork(), CLAM::PushFlowControl::ProcessingRemovedFromNetwork(), CLAM::NaiveFlowControl::ProcessingRemovedFromNetwork(), and CLAM::InPortBase::~InPortBase().
OutPortRegistry& CLAM::Processing::GetOutPorts | ( | ) | [inline] |
Accessor to published Portss manager.
Definition at line 392 of file Processing.hxx.
Referenced by CanConsumeAndProduce(), CLAM::ConnectPorts(), CLAM::MultiChannelAudioFileReader::DestroyOldOutputs(), CLAM::FlattenedNetwork::GetOutPortByCompleteName(), CLAM::NaiveFlowControl::ProcessingAddedToNetwork(), CLAM::NaiveFlowControl::ProcessingRemovedFromNetwork(), CLAM::FlattenedNetwork::StoreOn(), and CLAM::OutPortBase::~OutPortBase().
const std::string& CLAM::Processing::GetConfigErrorMessage | ( | ) | const [inline] |
Returns a string describing configuration errors if any.
Definition at line 395 of file Processing.hxx.
Referenced by CLAM::AudioFileMemoryLoader::ConcreteConfigure().
virtual bool CLAM::Processing::IsSyncSource | ( | ) | const [inline, virtual] |
Wether the processing is a sync source such as audio i/o device, or an audio callback hook (i.e.
Externalizer)
Reimplemented in CLAM::AudioIn, and CLAM::AudioOut.
Definition at line 399 of file Processing.hxx.
void CLAM::Processing::AddConfigErrorMessage | ( | const std::string & | msg | ) | [protected] |
Method to prepend a message to _configErrorMessage CLAM_ASSERT.
Definition at line 283 of file Processing.cxx.
Referenced by CLAM::SMSHarmonizer::ConcreteConfigure(), CLAM::OutControlSender::ConcreteConfigure(), CLAM::MultiChannelAudioFileWriter::ConcreteConfigure(), CLAM::MultiChannelAudioFileReader::ConcreteConfigure(), CLAM::MonoAudioFileWriter::ConcreteConfigure(), CLAM::MonoAudioFileReader::ConcreteConfigure(), CLAM::FFT_fftw3::ConcreteConfigure(), CLAM::ControlTraceReader::ConcreteConfigure(), CLAM::ControlTraceWriter::ConcreteConfigure(), CLAM::ControlMapper::ConcreteConfigure(), CLAM::AudioOut::ConcreteConfigure(), CLAM::AudioIn::ConcreteConfigure(), CLAM::AudioFileMemoryLoader::ConcreteConfigure(), and CLAM::SDIFOut::ConcreteStart().
bool CLAM::Processing::AbleToExecute | ( | void | ) | const [inline, protected] |
In debug-mode checks that the processing is configured and started.
And always checks it's not disabled
Definition at line 455 of file Processing.hxx.
References CLAM_BEGIN_DEBUG_CHECK, CLAM_DEBUG_ASSERT, CLAM_END_DEBUG_CHECK, GetClassName(), and IsRunning().
Referenced by CLAM::ZeroPadder::Do(), CLAM::WindowGenerator::Do(), CLAM::TonalAnalysis::Do(), CLAM::SynthSineSpectrum::Do(), CLAM::SimpleOscillator::Do(), CLAM::PortMonitor< TheDataType, ThePortType >::Do(), CLAM::OutControlSender::Do(), CLAM::Oscillator::Do(), CLAM::MultiChannelAudioFileWriter::Do(), CLAM::MultiChannelAudioFileReader::Do(), CLAM::MonoAudioFileReader::Do(), CLAM::MelFilterBank::Do(), CLAM::LPC_AutoCorrelation::Do(), CLAM::FlagControl::Do(), CLAM::CepstralTransform::Do(), CLAM::AutoPanner::Do(), CLAM::AudioOut::Do(), and CLAM::AudioIn::Do().
void CLAM::Processing::CopyAsConcreteConfig | ( | ConcreteConfig & | concrete, | |
const ProcessingConfig & | abstract | |||
) | const [inline, protected] |
Helper template to convert a reference to a ProcessingConfig to the concrete ProcessingConfig specified on the first parameter.
concrete | The copy destination (it forces the runtime type for abstract) | |
abstract | A reference to the configuration to be copied |
Definition at line 470 of file Processing.hxx.
References CLAM_ASSERT.
Referenced by CLAM::ZeroPadder::ConcreteConfigure(), CLAM::TonalAnalysis::ConcreteConfigure(), CLAM::TokenDelay< T >::ConcreteConfigure(), CLAM::SynthSineSpectrum::ConcreteConfigure(), CLAM::SpectralPeakDetect::ConcreteConfigure(), CLAM::SMSTimeStretch::ConcreteConfigure(), CLAM::SMSSineFilter::ConcreteConfigure(), CLAM::SMSMorph::ConcreteConfigure(), CLAM::SMSHarmonizer::ConcreteConfigure(), CLAM::SimpleOscillator::ConcreteConfigure(), CLAM::SegmentTransformation::ConcreteConfigure(), CLAM::SegmentSMSTimeStretch::ConcreteConfigure(), CLAM::SegmentSMSMorph::ConcreteConfigure(), CLAM::SegmentSMSHarmonizer::ConcreteConfigure(), CLAM::PrintControl::ConcreteConfigure(), CLAM::PhaseManagement::ConcreteConfigure(), CLAM::OutControlSender::ConcreteConfigure(), CLAM::Oscillator::ConcreteConfigure(), CLAM::MultiChannelAudioFileWriter::ConcreteConfigure(), CLAM::MultiChannelAudioFileReader::ConcreteConfigure(), CLAM::MonoAudioFileWriter::ConcreteConfigure(), CLAM::MonoAudioFileReader::ConcreteConfigure(), CLAM::MIDIKeyboard::ConcreteConfigure(), CLAM::MIDIFileWriter::ConcreteConfigure(), CLAM::MIDIFileReader::ConcreteConfigure(), CLAM::MIDIDispatcher::ConcreteConfigure(), CLAM::MelFilterBank::ConcreteConfigure(), CLAM::LPC_AutoCorrelation::ConcreteConfigure(), CLAM::FlagControl::ConcreteConfigure(), CLAM::FFT_base::ConcreteConfigure(), CLAM::EnvelopeGenerator::ConcreteConfigure(), CLAM::Dispatcher::ConcreteConfigure(), CLAM::DescriptorComputation::ConcreteConfigure(), CLAM::ControlTraceReader::ConcreteConfigure(), CLAM::ControlTraceWriter::ConcreteConfigure(), CLAM::ControlSource::ConcreteConfigure(), CLAM::ControlSink::ConcreteConfigure(), CLAM::ControlScaler::ConcreteConfigure(), CLAM::ControlPrinter::ConcreteConfigure(), CLAM::ControlMapper::ConcreteConfigure(), CLAM::Controller::ConcreteConfigure(), CLAM::Control2Data::ConcreteConfigure(), CLAM::CircularShift::ConcreteConfigure(), CLAM::CepstralTransform::ConcreteConfigure(), CLAM::BinaryControlOp< BinOp >::ConcreteConfigure(), CLAM::AutoPanner::ConcreteConfigure(), CLAM::AudioOut::ConcreteConfigure(), CLAM::AudioMixer::ConcreteConfigure(), CLAM::AudioIn::ConcreteConfigure(), CLAM::AudioFileMemoryLoader::ConcreteConfigure(), CLAM::AudioAmplifier::ConcreteConfigure(), and CLAM::ADSR::ConcreteConfigure().
void CLAM::Processing::SetExecState | ( | ExecState | state | ) | [inline, protected] |
Definition at line 422 of file Processing.hxx.
Referenced by CLAM::AudioSink::AudioSink(), and CLAM::AudioSource::AudioSource().
ProcessingComposite* CLAM::Processing::mpParent [protected] |
Pointer to the parent (composite) processing object, or 0.
Definition at line 428 of file Processing.hxx.
Referenced by SetParent(), and ~Processing().
Network* CLAM::Processing::_network [protected] |
The parent network if any.
Note that Processings can be used directly without a network
Definition at line 431 of file Processing.hxx.
Referenced by BackendBufferSize(), BackendSampleRate(), and SetNetworkBackLink().