Jamoma API  0.6.0.a19
TTAudioObjectBase Class Reference

TTAudioObjectBase is the base class for all audio generating and processing objects in Jamoma DSP. More...

#include <TTAudioObjectBase.h>

Inherits TTObjectBase.

Inherited by BartlettWindow [private], Bean2D [private], BlackmanHarrisWindow [private], BlackmanWindow [private], Bspline2D [private], Butterfly2D [private], Catmullrom3D [private], Circular2D [private], CircularHelix3D [private], Epitrochoid2D [private], ExpodecWindow [private], GaussWindow [private], Gear2D [private], HammingWindow [private], HanningWindow [private], Hypocycloid2D [private], KaiserWindow [private], Limacon2D [private], Linear2D [private], Linear3D [private], Lissajous2D [private], Lissajous3D [private], LogSpiral2D [private], NuttallWindow [private], PlugtasticInput, PlugtasticOutput, RectangularWindow [private], Rose2D [private], Rose3D [private], RosenbergGlottalPulseWindow [private], Scarabaeus2D [private], Slinky3D [private], Spiral3D [private], Torus3D [private], TrapezoidWindow [private], TTAdsr [private], TTAllpass, TTAllpass1, TTAllpass1a, TTAllpass1aCascade2, TTAllpass1b, TTAllpass1c, TTAllpass2a, TTAllpass2b, TTAllpass2c, TTAllpass4a, TTAudioGraphGenerator, TTAudioGraphInput, TTAudioGraphJoin, TTAudioGraphOffset, TTAudioGraphOutput, TTAudioGraphPick, TTAudioGraphSig, TTAudioGraphSplit, TTAudioObjectBaseArray, TTAudioUnit, TTAverage [private], TTBackEaseInFunction [private], TTBackEaseInOutFunction [private], TTBackEaseOutFunction [private], TTBalance, TTBandpassButterworth2, TTBandrejectButterworth2, TTBounceEaseInFunction [private], TTBounceEaseInOutFunction [private], TTBounceEaseOutFunction [private], TTBuffer, TTCircularEaseInFunction [private], TTCircularEaseInOutFunction [private], TTCircularEaseOutFunction [private], TTClipper [private], TTCount [private], TTCrossfade [private], TTCubicEaseInFunction [private], TTCubicEaseInOutFunction [private], TTCubicEaseOutFunction [private], TTDCBlock, TTDegrade, TTDelay, TTElasticEaseInFunction [private], TTElasticEaseInOutFunction [private], TTElasticEaseOutFunction [private], TTExpFunction [private], TTExponentialEaseInFunction [private], TTExponentialEaseInOutFunction [private], TTExponentialEaseOutFunction [private], TTfft [private], TTFilter [private], TTFreeHandFunction [private], TTFunction [private], TTGain, TTHalfband3 [private], TTHalfband5 [private], TTHalfband9 [private], TTHalfbandLinear33 [private], TTHighMidLowShelf, TTHighpassButterworth1, TTHighpassButterworth2, TTHighpassButterworth3, TTHighpassButterworth4, TTHighpassLinkwitzRiley2, TTHighpassLinkwitzRiley4, TTHilbert9 [private], TTHilbertLinear33 [private], TTLimiter, TTLinearFunction [private], TTLogFunction [private], TTLowpassButterworth1, TTLowpassButterworth2, TTLowpassButterworth3, TTLowpassButterworth4 [private], TTLowpassFourPole, TTLowpassFunction [private], TTLowpassLinkwitzRiley2, TTLowpassLinkwitzRiley4 [private], TTLowpassTwoPole, TTMirror5 [private], TTMirrorBandpass10 [private], TTMixer [private], TTMultiMixer [private], TTMutesolo, TTNoise [private], TTOnePole, TTOperator [private], TTOverdrive, TTPanorama, TTPhasor [private], TTPowerFunction [private], TTPulseSub, TTQuadraticEaseInFunction [private], TTQuadraticEaseInOutFunction [private], TTQuadraticEaseOutFunction [private], TTQuarticEaseInFunction [private], TTQuarticEaseInOutFunction [private], TTQuarticEaseOutFunction [private], TTQuinticEaseInFunction [private], TTQuinticEaseInOutFunction [private], TTQuinticEaseOutFunction [private], TTRamp [private], TTResample [private], TTSineEaseInFunction [private], TTSineEaseInOutFunction [private], TTSineEaseOutFunction [private], TTSmoothPolynomialFunction [private], TTSoundfile, TTSoundfilePlayer, TTSoundfileRecorder, TTSpat [private], TTSpatBase, TTStaircase [private], TTSvf, TTTanhFunction [private], TTThru, TTTrajectory [private], TTWaveshaper, TTWavetable [private], TTZerocross [private], TukeyWindow [private], Viviani3D [private], WelchWindow [private], and WindowFunction [private].

+ Collaboration diagram for TTAudioObjectBase:

Public Member Functions

TTErr setMute (const TTValue &value)
 Mute the audio processing routine and zero all output. More...
 
TTErr setMaxNumChannels (const TTValue &newValue)
 Setter for the maxNumChannels attribute. More...
 
TTErr adaptMaxNumChannels (const TTChannelCount newMaxNumChannels)
 Increase the maxNumChannels attribute, if neccessary. More...
 
TTErr setSr (const TTValue &newValue)
 Setter for the sample-rate attribute. More...
 
TTErr setSampleRate (const TTUInt32 &newSampleRate)
 Convenience method for updating the sample-rate. More...
 
virtual ~TTAudioObjectBase ()
 Destructor.
 
TTErr calculate (const TTFloat64 &x, TTFloat64 &y)
 Calculate a single sample of output for a single sample of input. More...
 
TTErr calculateMessage (TTValueConstRef input, TTValueRef output)
 
TTErr process (TTAudioSignal &in, TTAudioSignal &out)
 Process the input signal, resulting in an output signal. More...
 
TTErr process (TTAudioSignal &out)
 Process the an output signal only, e.g. More...
 
TTErr process (TTAudioSignal &in1, TTAudioSignal &in2, TTAudioSignal &out1, TTAudioSignal &out2)
 Process two input signals, resulting in two output signals. More...
 
TTErr process (TTAudioSignal &in1, TTAudioSignal &in2, TTAudioSignal &out)
 Process two input signals, resulting in an output signal. More...
 
TTErr process (TTAudioSignalArrayPtr inputs, TTAudioSignalArrayPtr outputs)
 Process an array of audio signals. More...
 
TTErr bypassProcess (TTAudioSignalArrayPtr inputs, TTAudioSignalArrayPtr outputs)
 The default audio processing method, which simply copies a signal through with no modifications. More...
 
TTErr bypassCalculate (const TTFloat64 &x, TTFloat64 &y, TTPtr data)
 Produces a result for calls to calculate when the unit is bypassed. More...
 
TTErr muteProcess (TTAudioSignalArrayPtr inputs, TTAudioSignalArrayPtr outputs)
 A muted audio processing method, which simply copies zeroes to the output. More...
 
TTErr defaultCalculateMethod (const TTFloat64 &x, TTFloat64 &y, TTPtr data)
 A default calculate method, which simply calls the process method with 1 channel signals that are 1 sample in length. More...
 
TTFloat64 hertzToRadians (const TTFloat64 hz)
 Convert Hertz to radians. More...
 
TTFloat64 radiansToHertz (const TTFloat64 radians)
 Convert radians into Hertz. More...
 
TTFloat64 degreesToRadians (const TTFloat64 degrees)
 Degrees-to-radians conversion. More...
 
TTFloat64 radiansToDegrees (const TTFloat64 radians)
 Radians-to-degrees conversion. More...
 
TTFloat64 decayToFeedback (const TTFloat64 decay_time, TTFloat64 delay)
 Decay Time (seconds) to feedback coefficient conversion. More...
 
TTFloat64 feedbackToDecay (const TTFloat64 feedback, const TTFloat64 delay)
 Return the decay time based on the feedback coefficient. More...
 
virtual TTErr test (TTValue &)
 Default (empty) template for unit tests. More...
 
- Public Member Functions inherited from TTObjectBase
virtual ~TTObjectBase ()
 Destructor.
 
TTUInt16 getReferenceCount ()
 Query an object to get its current reference count. More...
 
TTUInt32 getObserverCount () const
 Query an object to get the number of observers. More...
 
TTErr registerAttribute (const TTSymbol name, const TTDataType type, void *address)
 Register an attribute. More...
 
TTErr extendAttribute (const TTSymbol name, const TTObjectBasePtr extendedObject, const TTSymbol extendedName)
 Extend the attribute of an existing TTObjectBase to this TTObjectBase (using another attribute name) More...
 
TTErr removeAttribute (const TTSymbol name)
 Remove an attribute. More...
 
TTErr findAttribute (const TTSymbol name, TTAttribute **attr)
 Find an attribute. More...
 
TTErr setAttributeValue (const TTSymbol name, TTValue &value)
 Set an attribute value for an object. More...
 
template<class T >
TTErr set (const TTSymbol aName, T aValue)
 Set an attribute value for an object This is the same as calling setAttributeValue(). More...
 
TTErr getAttributeValue (const TTSymbol name, TTValue &value)
 Get an attribute value for an object. More...
 
template<class T >
TTErr get (const TTSymbol aName, T &aReturnedValue)
 Get an attribute value for an object This is the same as calling getAttributeValue(). More...
 
TTSymbol getAttributeType (const TTSymbol name)
 Return the type of an attribute as a symbol. More...
 
TTErr getAttributeGetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Get the getterFlags of an attribute. More...
 
TTErr setAttributeGetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Set the getterFlags of an attribute. More...
 
TTErr getAttributeSetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Get the setterFlags of an attribute. More...
 
TTErr setAttributeSetterFlags (const TTSymbol name, TTAttributeFlags &value)
 Set the setterFlags of an attribute. More...
 
TTErr registerAttributeProperty (const TTSymbol attributeName, const TTSymbol propertyName, const TTValue &initialValue, TTGetterMethod getter, TTSetterMethod setter)
 Register an attribute property. More...
 
TTErr registerMessageProperty (const TTSymbol messageName, const TTSymbol propertyName, const TTValue &initialValue, TTGetterMethod getter, TTSetterMethod setter)
 Register an message property. More...
 
TTErr getAttribute (const TTSymbol name, TTAttributePtr *attributeObject)
 Search for and locate an attribute. More...
 
TTErr getMessage (const TTSymbol name, TTMessagePtr *messageObject)
 Search for and locate a message. More...
 
void getAttributeNames (TTValue &attributeNameList)
 Return a list of names of the available attributes. More...
 
void getMessageNames (TTValue &messageNameList)
 Return a list of names of the available messages. More...
 
TTSymbol getName () const
 Return the name of this class. More...
 
TTErr registerMessage (const TTSymbol name, TTMethod method)
 Register a message with this object. More...
 
TTErr findMessage (const TTSymbol name, TTMessage **message)
 Find a message registered with this object. More...
 
TTErr removeMessage (const TTSymbol name)
 Remove a message. More...
 
TTErr sendMessage (const TTSymbol name)
 TODO: Document this function. More...
 
TTErr registerObserverForMessage (const TTObject &observingObject, const TTSymbol messageName)
 Register an observer for a message. More...
 
TTErr registerObserverForAttribute (const TTObject &observingObject, const TTSymbol attributeName)
 Register an observer for an attribute. More...
 
TTErr registerObserverForNotifications (const TTObject &observingObject)
 Register an observer. More...
 
TTErr unregisterObserverForMessage (const TTObject &observingObject, const TTSymbol messageName)
 Unregister an observer for a message. More...
 
TTErr unregisterObserverForAttribute (const TTObject &observingObject, const TTSymbol attributeName)
 Unregister an observer for an attribute. More...
 
TTErr unregisterObserverForNotifications (const TTObject &observingObject)
 Unregister an observer for notifications. More...
 
TTErr sendNotification (const TTSymbol name, const TTValue &arguments)
 Send a notification. More...
 
TTErr logMessage (TTImmutableCString fmtstring,...)
 Log messages scoped to this object instance. More...
 
TTErr logWarning (TTImmutableCString fmtstring,...)
 Log warnings scoped to this object instance. More...
 
TTErr logError (TTImmutableCString fmtstring,...)
 Log errors scoped to this object instance. More...
 
TTErr logDebug (TTImmutableCString fmtstring,...)
 Log messages (scoped to this object instance) to output only if the basic debugging flag is enabled in the environment. More...
 
TTErr lock ()
 Lock the object in order to ensure thread-safe processing. More...
 
TTErr unlock ()
 Unlock the object when thread-safe processing is no longer required. More...
 
TTBoolean isLocked ()
 Query if the object currently is locked for thread-safe processing. More...
 
TTBoolean waitForLock ()
 If the object is locked (e.g. More...
 

Protected Member Functions

TTErr setProcess (TTProcessMethod processMethod)
 Set the audio processing routine to point to a method that is defined as an arg to this function. More...
 
TTErr setCalculate (TTCalculateMethod newCalculateMethod)
 Set the sample calculate routine to point to a method that is defined as an arg to this function. More...
 
TTErr setBypass (const TTValue &value)
 Bypass the audio processing routine and copy all input samples to the output unchanged. More...
 
TTErr resetBenchmarking ()
 Reset the benchmarking accumulation used to calculate the results of getProcessingBenchmark(). More...
 
TTErr getProcessingBenchmark (TTValueConstRef, TTValueRef v)
 Return the average time spent by this object processing audio since the last reset. More...
 
 TTAudioObjectBase (const TTValue &arguments)
 Constructor. More...
 
- Protected Member Functions inherited from TTObjectBase
 TTObjectBase (const TTValue arguments)
 Constructor. More...
 

Protected Attributes

TTUInt32 sr
 Current sample rate being used by this object.
 
TTFloat64 srInv
 1.0 over the current sample rate (inverse)
 
TTFloat64 srMill
 1/1000 of the current sample rate (samples per millisecond)
 
TTChannelCount mMaxNumChannels
 This is the maximum number of channels that can be guaranteed to work.
 
TTBoolean unused
 Old var that is not used anymore, but we want to keep the struct size the same.
 
TTBoolean attrBypass
 Are we bypassing the processMethod?
 
TTBoolean attrMute
 Mute the processMethod.
 
TTProcessMethod processMethod
 This function pointer points to the active (non-bypass) processing routine.
 
TTProcessMethod currentProcessMethod
 This function pointer always points to the current processing routine.
 
TTCalculateMethod calculateMethod
 This function pointer points to the active (non-bypass) calculate routine.
 
TTCalculateMethod currentCalculateMethod
 This function pointer always points to the current calculate routine.
 
TTObject inputArray
 If the process method is passed a signal, rather than an array of signals, we wrap the signal in this array.
 
TTObject outputArray
 If the process method is passed a signal, rather than an array of signals, we wrap the signal in this array.
 
TTFloat64 startProcessingTime
 The time at which this object's process method was last invoked (for benchmarking)
 
TTFloat64 accumulatedProcessingTime
 The amount of time spent in this object's process method (for benchmarking)
 
TTFloat64 accumulatedProcessingCalls
 The number of times the process method has been called (for benchmarking)
 
- Protected Attributes inherited from TTObjectBase
TTList observers
 List of all objects watching this object for life-cycle and other changes.
 

Additional Inherited Members

- Public Attributes inherited from TTObjectBase
TTBoolean valid
 If the object isn't completely built, or is in the process of freeing, this will be false.
 
TTBoolean track
 enable the print of a log message to ease the track of reference counting mechanism on an instance More...
 

Detailed Description

TTAudioObjectBase is the base class for all audio generating and processing objects in Jamoma DSP.

The theory of operation is that this class handles the public interface to any subclass, including the main processing method, which calls an appropriate method through a function pointer. By default, this points to the built-in bypassProcess(). Subclasses then set it to point to their own process() method(s) as needed.

Definition at line 96 of file TTAudioObjectBase.h.

Constructor & Destructor Documentation

TTAudioObjectBase::TTAudioObjectBase ( const TTValue arguments)
protected

Constructor.

Requires that the maximum number of channels to be used with this instance is defined.

Parameters
argumentsArguments to the constructor.

Definition at line 24 of file TTAudioObjectBase.cpp.

References addAttributeProperty, addAttributeWithSetter, attrBypass, attrMute, bypassProcess(), calculateMessage(), defaultCalculateMethod(), getProcessingBenchmark(), kTTMessagePassNone, kTypeBoolean, kTypeUInt16, kTypeUInt32, TTEnvironment::mSampleRate, TTObjectBase::registerAttribute(), TTObjectBase::registerMessage(), resetBenchmarking(), TTObjectBase::setAttributeValue(), setBypass(), setCalculate(), setMute(), setProcess(), setSr(), sr, test(), and ttEnvironment.

+ Here is the call graph for this function:

Member Function Documentation

TTErr TTAudioObjectBase::adaptMaxNumChannels ( const TTChannelCount  newMaxNumChannels)
inline

Increase the maxNumChannels attribute, if neccessary.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 163 of file TTAudioObjectBase.h.

References kTTErrNone, and TTObjectBase::setAttributeValue().

Referenced by TTAudioObject::adaptMaxChannelCount().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::bypassCalculate ( const TTFloat64 x,
TTFloat64 y,
TTPtr  data 
)

Produces a result for calls to calculate when the unit is bypassed.

Parameters
inputsThe audio input signals that will be passed through with no further processing.
outputsThe resulting unprocessesed (bypassed) audio signals.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 110 of file TTAudioObjectBase.cpp.

References kTTErrNone.

Referenced by setBypass().

TTErr TTAudioObjectBase::bypassProcess ( TTAudioSignalArrayPtr  inputs,
TTAudioSignalArrayPtr  outputs 
)

The default audio processing method, which simply copies a signal through with no modifications.

Parameters
inputs
outputs
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 94 of file TTAudioObjectBase.cpp.

References TTAudioSignal::clear(), TTAudioSignal::copy(), kTTErrNone, and TTAudioSignalArray::numAudioSignals.

Referenced by setBypass(), setMute(), and TTAudioObjectBase().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::calculate ( const TTFloat64 x,
TTFloat64 y 
)

Calculate a single sample of output for a single sample of input.

Parameters
xThe input to the function.
yThe output of the function.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 222 of file TTAudioObjectBase.cpp.

References currentCalculateMethod, kTTErrGeneric, TTObjectBase::lock(), TTObjectBase::unlock(), and TTObjectBase::valid.

Referenced by TTAudioObject::calculate(), calculateMessage(), TTFreeHandFunction::calculateValue(), TTFunction::calculateValue(), TTAllpass::calculateValue(), WindowFunction::calculateValue(), and WindowFunction::fill().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::calculateMessage ( TTValueConstRef  input,
TTValueRef  output 
)
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 210 of file TTAudioObjectBase.cpp.

References calculate().

Referenced by TTAudioObjectBase().

+ Here is the call graph for this function:

TTFloat64 TTAudioObjectBase::decayToFeedback ( const TTFloat64  decay_time,
TTFloat64  delay 
)

Decay Time (seconds) to feedback coefficient conversion.

Parameters
decay_time-60 dB decay time in seconds.
delayThe delay time of the feedback loop.
Returns
Calculated feedback coefficient.

Definition at line 438 of file TTAudioObjectBase.cpp.

TTErr TTAudioObjectBase::defaultCalculateMethod ( const TTFloat64 x,
TTFloat64 y,
TTPtr  data 
)

A default calculate method, which simply calls the process method with 1 channel signals that are 1 sample in length.

This method is not fast, and if you anticipate the calculate method to be called often, you should write a proper calculate method in the subclass.

Parameters
x
y
data
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 127 of file TTAudioObjectBase.cpp.

References TTAudioSignal::allocWithVectorSize(), TTAudioSignal::mSampleVectors, process(), TTObjectBaseInstantiate(), and TTObjectBaseRelease().

Referenced by setBypass(), setProcess(), and TTAudioObjectBase().

+ Here is the call graph for this function:

TTFloat64 TTAudioObjectBase::degreesToRadians ( const TTFloat64  degrees)

Degrees-to-radians conversion.

Parameters
degreesFrequency expressed in degrees.
Returns
Frequency expressed in radians.

Definition at line 423 of file TTAudioObjectBase.cpp.

References kTTDegreesToRadians.

TTFloat64 TTAudioObjectBase::feedbackToDecay ( const TTFloat64  feedback,
const TTFloat64  delay 
)

Return the decay time based on the feedback coefficient.

Parameters
feedbackThe feedback coefficient.
delayThe delay time of the feedback loop.
Returns
Calculated -60 dB decay time.

Definition at line 458 of file TTAudioObjectBase.cpp.

TTErr TTAudioObjectBase::getProcessingBenchmark ( TTValueConstRef  ,
TTValueRef  v 
)
protected

Return the average time spent by this object processing audio since the last reset.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 397 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, and kTTErrNone.

Referenced by TTAudioObjectBase().

TTFloat64 TTAudioObjectBase::hertzToRadians ( const TTFloat64  hz)

Convert Hertz to radians.

Be sure to set the sr for this object before calling this function.

Parameters
hzFrequency expressed in Hz.
Returns
Frequency expressed in radians.

Definition at line 411 of file TTAudioObjectBase.cpp.

References kTTTwoPi, and sr.

Referenced by TTOnePole::setFrequency().

TTErr TTAudioObjectBase::muteProcess ( TTAudioSignalArrayPtr  inputs,
TTAudioSignalArrayPtr  outputs 
)

A muted audio processing method, which simply copies zeroes to the output.

Parameters
inputsThe audio input signals to be muted
outputsThe processed (muted) audio signals.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 118 of file TTAudioObjectBase.cpp.

References kTTErrNone, and TTAudioSignalArray::numAudioSignals.

Referenced by setBypass(), and setMute().

TTErr TTAudioObjectBase::process ( TTAudioSignal in,
TTAudioSignal out 
)

Process the input signal, resulting in an output signal.

This method wraps the actual process method that will be called.

Parameters
inThe input signal.
outThe output signal.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 264 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, currentProcessMethod, inputArray, TTObject::instance(), kTTErrGeneric, TTObjectBase::lock(), TTEnvironment::mBenchmarking, outputArray, sr, startProcessingTime, ttEnvironment, TTGetTimeInMicroseconds(), TTObjectBase::unlock(), and TTObjectBase::valid.

Referenced by defaultCalculateMethod(), filter_perform(), filter_perform_freq(), filter_perform_freq_q(), filter_perform_q(), TTSpat::process(), TTAllpass::processAudio(), TTTrajectory::processAudioPhasorInternal(), TTTrajectory::processAudioRampInternal(), TTFunction::processGenerate(), WindowFunction::processGenerate(), TTThru::test(), TTPowerFunction::test(), TTPhasor::test(), TTHalfband3::test(), HammingWindow::test(), TTMirror5::test(), RosenbergGlottalPulseWindow::test(), TTRamp::test(), TTMirrorBandpass10::test(), GaussWindow::test(), TTHalfband5::test(), TTHilbertLinear33::test(), TukeyWindow::test(), TTHalfband9::test(), RectangularWindow::test(), TTDelay::test(), KaiserWindow::test(), TTSvf::test(), TTAllpass1::test(), TTHilbert9::test(), TTGain::test(), TTMutesolo::test(), TTAverage::test(), and TTHalfbandLinear33::test().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::process ( TTAudioSignal out)

Process the an output signal only, e.g.

for a signal generator. This method wraps the actual process method that will be called.

Parameters
inThe input signal.
outThe output signal.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 289 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, currentProcessMethod, inputArray, TTObject::instance(), kTTErrGeneric, TTObjectBase::lock(), TTEnvironment::mBenchmarking, outputArray, sr, startProcessingTime, ttEnvironment, TTGetTimeInMicroseconds(), TTObjectBase::unlock(), and TTObjectBase::valid.

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::process ( TTAudioSignal in1,
TTAudioSignal in2,
TTAudioSignal out1,
TTAudioSignal out2 
)

Process two input signals, resulting in two output signals.

This method wraps the actual process method, which may use the extra signal as a sidechain or other input.

Parameters
in1The main input signal.
in2A secondary or sidechain input signal.
in1The main output signal.
in2A secondary or sidechain output signal.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 313 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, currentProcessMethod, inputArray, TTObject::instance(), kTTErrGeneric, TTObjectBase::lock(), TTEnvironment::mBenchmarking, outputArray, sr, startProcessingTime, ttEnvironment, TTGetTimeInMicroseconds(), TTObjectBase::unlock(), and TTObjectBase::valid.

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::process ( TTAudioSignal in1,
TTAudioSignal in2,
TTAudioSignal out 
)

Process two input signals, resulting in an output signal.

This method wraps the actual process method that will be called.

Parameters
in1The main input signal.
in2A secondary or sidechain input signal.
outThe output signal.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 341 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, currentProcessMethod, inputArray, TTObject::instance(), kTTErrGeneric, TTObjectBase::lock(), TTEnvironment::mBenchmarking, outputArray, sr, startProcessingTime, ttEnvironment, TTGetTimeInMicroseconds(), TTObjectBase::unlock(), and TTObjectBase::valid.

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::process ( TTAudioSignalArrayPtr  inputs,
TTAudioSignalArrayPtr  outputs 
)

Process an array of audio signals.

Parameters
inputsThe input audio signals to process.
outputsThe resulting processed audio signals.
Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 367 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, currentProcessMethod, kTTErrGeneric, TTObjectBase::lock(), TTEnvironment::mBenchmarking, sr, startProcessingTime, ttEnvironment, TTGetTimeInMicroseconds(), TTObjectBase::unlock(), and TTObjectBase::valid.

+ Here is the call graph for this function:

TTFloat64 TTAudioObjectBase::radiansToDegrees ( const TTFloat64  radians)

Radians-to-degrees conversion.

Parameters
radiansFrequency expressed in radians.
Returns
Frequency expressed in degrees.

Definition at line 430 of file TTAudioObjectBase.cpp.

References kTTRadiansToDegrees.

TTFloat64 TTAudioObjectBase::radiansToHertz ( const TTFloat64  radians)

Convert radians into Hertz.

Be sure to set the sr for this object before calling this function.

Parameters
radiansFrequency expressed in radians.
Returns
Frequency expressed in Hz.

Definition at line 417 of file TTAudioObjectBase.cpp.

References kTTTwoPi, and sr.

TTErr TTAudioObjectBase::resetBenchmarking ( )
protected

Reset the benchmarking accumulation used to calculate the results of getProcessingBenchmark().

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 388 of file TTAudioObjectBase.cpp.

References accumulatedProcessingCalls, accumulatedProcessingTime, kTTErrNone, and startProcessingTime.

Referenced by TTAudioObjectBase().

TTErr TTAudioObjectBase::setBypass ( const TTValue value)
protected

Bypass the audio processing routine and copy all input samples to the output unchanged.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 173 of file TTAudioObjectBase.cpp.

References attrBypass, attrMute, bypassCalculate(), bypassProcess(), calculateMethod, currentCalculateMethod, currentProcessMethod, defaultCalculateMethod(), kTTErrNone, muteProcess(), and processMethod.

Referenced by TTAudioObjectBase().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::setCalculate ( TTCalculateMethod  newCalculateMethod)
protected

Set the sample calculate routine to point to a method that is defined as an arg to this function.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 164 of file TTAudioObjectBase.cpp.

References attrBypass, calculateMethod, currentCalculateMethod, and kTTErrNone.

Referenced by TTAudioObjectBase().

TTErr TTAudioObjectBase::setMaxNumChannels ( const TTValue newValue)

Setter for the maxNumChannels attribute.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 65 of file TTAudioObjectBase.cpp.

References kTTErrNone, mMaxNumChannels, and TTObjectBase::sendMessage().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::setMute ( const TTValue value)

Mute the audio processing routine and zero all output.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 194 of file TTAudioObjectBase.cpp.

References attrBypass, attrMute, bypassProcess(), currentProcessMethod, kTTErrNone, muteProcess(), and processMethod.

Referenced by TTAudioObjectBase().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::setProcess ( TTProcessMethod  processMethod)
protected

Set the audio processing routine to point to a method that is defined as an arg to this function.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 150 of file TTAudioObjectBase.cpp.

References attrBypass, calculateMethod, currentCalculateMethod, currentProcessMethod, defaultCalculateMethod(), kTTErrNone, and processMethod.

Referenced by TTTrajectory::setProcessPointers(), and TTAudioObjectBase().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::setSampleRate ( const TTUInt32 newSampleRate)
inline

Convenience method for updating the sample-rate.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 181 of file TTAudioObjectBase.h.

References kTTErrNone, and TTObjectBase::setAttributeValue().

Referenced by TTAudioObject::setSampleRate().

+ Here is the call graph for this function:

TTErr TTAudioObjectBase::setSr ( const TTValue newValue)

Setter for the sample-rate attribute.

Returns
TTErr error code if the method fails to execute, else kTTErrNone.

Definition at line 82 of file TTAudioObjectBase.cpp.

References kTTErrNone, TTObjectBase::sendMessage(), sr, srInv, and srMill.

Referenced by TTAudioObjectBase().

+ Here is the call graph for this function:

virtual TTErr TTAudioObjectBase::test ( TTValue )
inlinevirtual

Default (empty) template for unit tests.

Parameters
returnedTestInfoReturned information on the outcome of the unit test(s)
Returns
kTTErrNone if tests exists and they all pass, else TTErr error codes depending on the outcome of the test.

Reimplemented in TTSoundfile, TTHalfbandLinear33, TTAverage, TTMutesolo, TTFilter, TTLowpassLinkwitzRiley4, TTHighpassLinkwitzRiley4, TTGain, TTHighpassButterworth3, TTSoundfileLoader, TTHilbert9, TTHighpassLinkwitzRiley2, TTLowpassLinkwitzRiley2, TTSpatDBAP, TTHighpassButterworth4, TTLowpassButterworth4, TTLowpassButterworth3, TTAllpass1, TTAudioObjectBaseArray, TTSvf, KaiserWindow, TTDelay, TTOnePole, TTHighpassButterworth1, TTLowpassButterworth1, RectangularWindow, TTAllpass2c, TTLowpassFourPole, TTHalfband9, TTBandpassButterworth2, TTBandrejectButterworth2, TukeyWindow, TTHighpassButterworth2, TTHilbertLinear33, TTLowpassButterworth2, TTAllpass, TTHalfband5, TTHighMidLowShelf, TTLowpassTwoPole, TTMirrorBandpass10, TTRamp, GaussWindow, RosenbergGlottalPulseWindow, TTAllpass4a, TTMirror5, TTFreeHandFunction, TTAllpass2b, HammingWindow, TTHalfband3, TTTanhFunction, TTAllpass2a, TTPhasor, TTPowerFunction, TTAllpass1b, TTExpFunction, TTAllpass1aCascade2, TTAllpass1a, TTAllpass1c, TTLogFunction, TTBackEaseInOutFunction, TTCircularEaseInOutFunction, TTCubicEaseInOutFunction, TTElasticEaseInOutFunction, TTExponentialEaseInOutFunction, TTQuadraticEaseInOutFunction, TTQuarticEaseInOutFunction, TTQuinticEaseInOutFunction, TTSmoothPolynomialFunction, TTBackEaseInFunction, TTBackEaseOutFunction, TTBounceEaseInFunction, TTBounceEaseInOutFunction, TTBounceEaseOutFunction, TTCircularEaseInFunction, TTCircularEaseOutFunction, TTCubicEaseInFunction, TTCubicEaseOutFunction, TTElasticEaseInFunction, TTElasticEaseOutFunction, TTExponentialEaseInFunction, TTExponentialEaseOutFunction, TTQuadraticEaseInFunction, TTQuadraticEaseOutFunction, TTQuarticEaseInFunction, TTQuarticEaseOutFunction, TTQuinticEaseInFunction, TTQuinticEaseOutFunction, TTSineEaseInFunction, TTSineEaseInOutFunction, TTSineEaseOutFunction, TTLinearFunction, TTLowpassOnePole, and TTThru.

Definition at line 372 of file TTAudioObjectBase.h.

References kTTErrGeneric, and TTObjectBase::logMessage().

Referenced by TTAudioObjectBase().

+ Here is the call graph for this function:


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