#include <InControl.hxx>
Controls are limited to emmit and receive TControlData (float) numbers. Though extensible typed connections are future planned development:
Definition at line 44 of file InControl.hxx.
Public Member Functions | |
virtual int | DoControl (TControlData val) |
Stores the incoming control value. | |
const TControlData & | GetLastValue () const |
Returns the last TControlData (float) received event. | |
bool | GetLastValueAsBoolean () const |
Returns the last TControlData (float) received interpreted as a bool. | |
int | GetLastValueAsInteger () const |
Returns the last TControlData (float) received interpireted as an integer. | |
const std::string & | GetName () const |
bool | IsConnectedTo (OutControl &) |
bool | IsConnected () const |
bool | IsBounded () const |
TControlData | UpperBound () const |
TControlData | LowerBound () const |
TControlData | DefaultValue () const |
Returns the bounds mean or the value set with SetDefaultValue() if its the case. | |
void | SetDefaultValue (TControlData val) |
void | SetBounds (TControlData lower, TControlData upper) |
Processing * | GetProcessing () const |
void | OutControlInterface_AddLink (OutControl &outControl) |
Implementation detail just to be used from OutControl. | |
void | OutControlInterface_RemoveLink (OutControl &outControl) |
Implementation detail just to be used from OutControl. | |
InControl (const std::string &name, Processing *parent=0, const bool publish=true) | |
virtual | ~InControl () |
Protected Attributes | |
std::list< OutControl * > | mLinks |
TControlData | mLastValue |
std::string | mName |
Processing * | mParent |
TControlData | mDefaultValue |
TControlData | mUpperBound |
TControlData | mLowerBound |
bool | mBounded |
bool | mHasDefaultValue |
CLAM::InControl::InControl | ( | const std::string & | name, | |
Processing * | parent = 0 , |
|||
const bool | publish = true | |||
) |
parent
Optional. If present, is the processing where to be published. Definition at line 29 of file InControl.cxx.
References CLAM::Processing::RegisterInControl().
CLAM::InControl::~InControl | ( | ) | [virtual] |
Definition at line 43 of file InControl.cxx.
References CLAM::Processing::GetInControls(), mLinks, mParent, and CLAM::InControlRegistry::ProcessingInterface_Unregister().
virtual int CLAM::InControl::DoControl | ( | TControlData | val | ) | [inline, virtual] |
Stores the incoming control value.
It can be retrieved using GetLastValue
Reimplemented in CLAM::InControlTmpl< ProcObj >, CLAM::InControlPublisher, CLAM::InControlTmpl< CLAM::SegmentSMSMorph >, CLAM::InControlTmpl< CLAM::PhaseManagement >, CLAM::InControlTmpl< CLAM::SpectrumInterpolator >, CLAM::InControlTmpl< CLAM::SinusoidalSynthesis >, CLAM::InControlTmpl< CLAM::MIDIClocker >, CLAM::InControlTmpl< CLAM::ControlMapper >, CLAM::InControlTmpl< CLAM::SMSSineFilter >, CLAM::InControlTmpl< CLAM::FDFilterGen >, CLAM::InControlTmpl< CLAM::BinaryControlOp< BinOp > >, CLAM::InControlTmpl< CLAM::Dispatcher >, CLAM::InControlTmpl< CLAM::EnvelopeGenerator >, CLAM::InControlTmpl< CLAM::SpectralPeakArrayInterpolator >, CLAM::InControlTmpl< CLAM::ADSR >, CLAM::InControlTmpl< CLAM::FDCombFilter >, CLAM::InControlTmpl< CLAM::SMSSynthesis >, CLAM::InControlTmpl< CLAM::MIDIDispatcher >, CLAM::InControlTmpl< CLAM::EnvelopeExtractor >, CLAM::InControlTmpl< CLAM::FrameInterpolator >, CLAM::InControlTmpl< CLAM::PrintControl >, CLAM::InControlTmpl< CLAM::Instrument >, and CLAM::InControlTmpl< CLAM::SegmentSMSHarmonizer >.
Definition at line 65 of file InControl.hxx.
References mLastValue.
Referenced by CLAM::TokenDelay< T >::ConcreteConfigure(), CLAM::SpectralDelay::ConcreteConfigure(), CLAM::SMSSinusoidalGain::ConcreteConfigure(), CLAM::SMSResidualGain::ConcreteConfigure(), CLAM::SMSPitchShift::ConcreteConfigure(), CLAM::SMSHarmonizer::ConcreteConfigure(), CLAM::SMSGenderChange::ConcreteConfigure(), CLAM::SimpleOscillator::ConcreteConfigure(), CLAM::SegmentSMSTimeStretch::ConcreteConfigure(), CLAM::Robotization::ConcreteConfigure(), CLAM::OscillatingSpectralNotch::ConcreteConfigure(), CLAM::ControlScaler::ConcreteConfigure(), CLAM::Control2Data::ConcreteConfigure(), CLAM::CircularShift::ConcreteConfigure(), CLAM::AudioAmplifier::ConcreteConfigure(), CLAM::ThreeBandFilter::ConcreteConfigure(), CLAM::SMSPitchShift::Do(), CLAM::InControlPublisher::DoControl(), CLAM::InControlTmpl< ProcObj >::DoControl(), CLAM::SMSHarmonizer::IgnoreResidual(), CLAM::SegmentSMSHarmonizer::IgnoreResidual(), CLAM::Vocoder::InitControls(), CLAM::SpectralSpread::InitControls(), CLAM::SpectralRingModulation::InitControls(), CLAM::SpectralReverse::InitControls(), CLAM::SpectralPhaseModulation::InitControls(), CLAM::SpectralNotch::InitControls(), CLAM::SpectralGate::InitControls(), CLAM::SpectralFocus::InitControls(), CLAM::SpectralExciter::InitControls(), CLAM::SpectralCombTriang::InitControls(), CLAM::SpectralCombDelta::InitControls(), CLAM::SpectralAverage::InitControls(), CLAM::SpectralAmplitudeModulation::InitControls(), CLAM::SampleAndHold::InitControls(), CLAM::Peakalizer::InitControls(), CLAM::Partializer::InitControls(), CLAM::HumRemover::InitControls(), CLAM::FrameTransformation::InitControls(), CLAM::Deesser::InitControls(), CLAM::ThreeBandAM::InitControls(), CLAM::ThreeBandGate::InitControls(), CLAM::ThreeBandCompressor::InitControls(), CLAM::CircularShift::SetAmount(), and CLAM::WindowGenerator::SetSize().
const TControlData& CLAM::InControl::GetLastValue | ( | ) | const [inline] |
Returns the last TControlData (float) received event.
Reimplemented in CLAM::InControlPublisher.
Definition at line 67 of file InControl.hxx.
References mLastValue.
Referenced by CLAM::SimpleOscillator::ApplyFreqAndAmpControls(), CLAM::TokenDelay< T >::ConcreteConfigure(), CLAM::WindowGenerator::Do(), CLAM::Vocoder::Do(), CLAM::TokenDelay< T >::Do(), CLAM::SpectralSpread::Do(), CLAM::SpectralShapeShift::Do(), CLAM::SpectralRingModulation::Do(), CLAM::SpectralReverse::Do(), CLAM::SpectralReject::Do(), CLAM::SpectralPhaseModulation::Do(), CLAM::SpectralNotch::Do(), CLAM::SpectralLimiter::Do(), CLAM::SpectralGate::Do(), CLAM::SpectralFocus::Do(), CLAM::SpectralExciter::Do(), CLAM::SpectralDelay::Do(), CLAM::SpectralCombTriang::Do(), CLAM::SpectralCombDelta::Do(), CLAM::SpectralAverage::Do(), CLAM::SpectralAmplitudeModulation::Do(), CLAM::SMSSpectralShapeShift::Do(), CLAM::SMSSinusoidalGain::Do(), CLAM::SMSResidualGain::Do(), CLAM::SMSPitchShift::Do(), CLAM::SMSOddEvenHarmonicRatio::Do(), CLAM::SMSMorph::Do(), CLAM::SMSHarmonizer::Do(), CLAM::SMSGenderChange::Do(), CLAM::SMSFreqShift::Do(), CLAM::SMSDeesser::Do(), CLAM::SinTracking::Do(), CLAM::SimpleOscillator::Do(), CLAM::SampleAndHold::Do(), CLAM::Robotization::Do(), CLAM::RandomPhase::Do(), CLAM::Peakalizer::Do(), CLAM::Partializer::Do(), CLAM::OscillatingSpectralNotch::Do(), CLAM::NoSpectralTransformation::Do(), CLAM::MIDIKeyboard::Do(), CLAM::HumRemover::Do(), CLAM::FreqShift::Do(), CLAM::Deesser::Do(), CLAM::ControlScaler::Do(), CLAM::Control2Data::Do(), CLAM::CircularShift::Do(), CLAM::AudioFileMemoryLoader::Do(), CLAM::AudioAmplifier::Do(), CLAM::ThreeBandAM::Do(), CLAM::ThreeBandGate::Do(), CLAM::ThreeBandFilter::Do(), CLAM::ThreeBandCompressor::Do(), CLAM::MIDI2Melody::GenerateOutputData(), CLAM::ControlSink::GetControlValue(), CLAM::GetFloatFromInControl(), CLAM::InControlPublisher::GetLastValue(), CLAM::TokenDelay< CLAM::SpectralPeakArray >::GivenDelay(), CLAM::SegmentSMSHarmonizer::UpdateBPF(), and CLAM::SegmentSMSTimeStretch::UpdateTimeAndIndex().
bool CLAM::InControl::GetLastValueAsBoolean | ( | ) | const [inline] |
Returns the last TControlData (float) received interpreted as a bool.
Definition at line 69 of file InControl.hxx.
References mLastValue.
int CLAM::InControl::GetLastValueAsInteger | ( | ) | const [inline] |
Returns the last TControlData (float) received interpireted as an integer.
Definition at line 74 of file InControl.hxx.
References mLastValue.
const std::string& CLAM::InControl::GetName | ( | ) | const [inline] |
bool CLAM::InControl::IsConnectedTo | ( | OutControl & | out | ) |
bool CLAM::InControl::IsConnected | ( | ) | const |
bool CLAM::InControl::IsBounded | ( | ) | const |
TControlData CLAM::InControl::UpperBound | ( | ) | const |
TControlData CLAM::InControl::LowerBound | ( | ) | const |
TControlData CLAM::InControl::DefaultValue | ( | ) | const |
Returns the bounds mean or the value set with SetDefaultValue() if its the case.
Definition at line 85 of file InControl.cxx.
References mDefaultValue, mHasDefaultValue, mLowerBound, and mUpperBound.
void CLAM::InControl::SetDefaultValue | ( | TControlData | val | ) |
Definition at line 80 of file InControl.cxx.
References mDefaultValue, and mHasDefaultValue.
Referenced by CLAM::SMSSinusoidalGain::ConcreteConfigure(), CLAM::SMSResidualGain::ConcreteConfigure(), CLAM::SMSPitchShift::ConcreteConfigure(), CLAM::SMSMorph::ConcreteConfigure(), CLAM::SMSHarmonizer::ConcreteConfigure(), CLAM::Robotization::ConcreteConfigure(), and CLAM::AudioAmplifier::ConcreteConfigure().
void CLAM::InControl::SetBounds | ( | TControlData | lower, | |
TControlData | upper | |||
) |
Definition at line 74 of file InControl.cxx.
References mBounded, mLowerBound, and mUpperBound.
Referenced by CLAM::AudioFileMemoryLoader::AudioFileMemoryLoader(), CLAM::SpectralDelay::ConcreteConfigure(), CLAM::SMSSinusoidalGain::ConcreteConfigure(), CLAM::SMSResidualGain::ConcreteConfigure(), CLAM::SMSPitchShift::ConcreteConfigure(), CLAM::SMSMorph::ConcreteConfigure(), CLAM::SMSHarmonizer::ConcreteConfigure(), CLAM::SMSGenderChange::ConcreteConfigure(), CLAM::Robotization::ConcreteConfigure(), CLAM::OscillatingSpectralNotch::ConcreteConfigure(), CLAM::AudioAmplifier::ConcreteConfigure(), and CLAM::ThreeBandFilter::ConcreteConfigure().
Processing* CLAM::InControl::GetProcessing | ( | ) | const [inline] |
void CLAM::InControl::OutControlInterface_AddLink | ( | OutControl & | outControl | ) |
Implementation detail just to be used from OutControl.
Definition at line 91 of file InControl.cxx.
References mLinks.
Referenced by CLAM::OutControl::AddLink().
void CLAM::InControl::OutControlInterface_RemoveLink | ( | OutControl & | outControl | ) |
Implementation detail just to be used from OutControl.
Definition at line 96 of file InControl.cxx.
References mLinks.
Referenced by CLAM::OutControl::RemoveLink().
std::list<OutControl*> CLAM::InControl::mLinks [protected] |
Definition at line 48 of file InControl.hxx.
Referenced by IsConnected(), OutControlInterface_AddLink(), OutControlInterface_RemoveLink(), and ~InControl().
TControlData CLAM::InControl::mLastValue [protected] |
Definition at line 49 of file InControl.hxx.
Referenced by DoControl(), CLAM::InControlPublisher::GetLastValue(), GetLastValue(), GetLastValueAsBoolean(), and GetLastValueAsInteger().
std::string CLAM::InControl::mName [protected] |
Processing* CLAM::InControl::mParent [protected] |
TControlData CLAM::InControl::mDefaultValue [protected] |
TControlData CLAM::InControl::mUpperBound [protected] |
Definition at line 53 of file InControl.hxx.
Referenced by DefaultValue(), SetBounds(), and UpperBound().
TControlData CLAM::InControl::mLowerBound [protected] |
Definition at line 54 of file InControl.hxx.
Referenced by DefaultValue(), LowerBound(), and SetBounds().
bool CLAM::InControl::mBounded [protected] |
bool CLAM::InControl::mHasDefaultValue [protected] |