Jamoma API
0.6.0.a19
|
Creates an interface to data in a soundfile from disk. More...
#include <TTSoundfile.h>
Public Member Functions | |
TTErr | setFilePath (const TTValue &newValue) |
Atribute accessor. More... | |
TTColumnID | getNumChannels () |
Simple data accessor. More... | |
TTFloat64 | getSampleRate () |
Simple data accessor. More... | |
TTRowID | getLengthInSamples () |
Simple data accessor. More... | |
TTFloat64 | getLengthInSeconds () |
Simple data accessor. More... | |
TTSymbol | getTitle () |
Simple data accessor. More... | |
TTSymbol | getArtist () |
Simple data accessor. More... | |
TTSymbol | getDate () |
Simple data accessor. More... | |
TTSymbol | getAnnotation () |
Simple data accessor. More... | |
TTErr | peek (const TTRowID frame, const TTColumnID channel, TTSampleValue &value) |
Get the value stored at a specified frame and channel. More... | |
TTErr | peeki (const TTFloat64 frame, const TTColumnID channel, TTSampleValue &value) |
Interpolate a value using a floating-point frame and integer channel. More... | |
virtual TTErr | test (TTValue &returnedTestInfo) |
Unit test for this object. More... | |
Public Member Functions inherited from TTAudioObjectBase | |
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... | |
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 Attributes | |
TTSymbol | mFilePath |
full POSIX path to the file, including file name | |
TTColumnID | mNumChannels |
channels in the file | |
TTFloat64 | mSampleRate |
samples per second | |
TTRowID | mLengthInSamples |
length in samples | |
TTFloat64 | mLengthInSeconds |
length in seconds | |
TTSymbol | mTitle |
title if metadata is present in the file | |
TTSymbol | mArtist |
artist if metadata is present in the file | |
TTSymbol | mDate |
date if metadata is present in the file | |
TTSymbol | mAnnotation |
comments if metadata is present in the file | |
Protected Attributes inherited from TTAudioObjectBase | |
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... | |
Protected Member Functions inherited from TTAudioObjectBase | |
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... | |
Creates an interface to data in a soundfile from disk.
Definition at line 30 of file TTSoundfile.h.
|
inline |
Simple data accessor.
Definition at line 106 of file TTSoundfile.h.
References mAnnotation.
Referenced by test().
|
inline |
Simple data accessor.
Definition at line 92 of file TTSoundfile.h.
References mArtist.
Referenced by test().
|
inline |
Simple data accessor.
Definition at line 99 of file TTSoundfile.h.
References mDate.
Referenced by test().
|
inline |
Simple data accessor.
Definition at line 71 of file TTSoundfile.h.
References mLengthInSamples.
Referenced by TTSoundfileLoader::setFilePath(), and test().
|
inline |
Simple data accessor.
Definition at line 78 of file TTSoundfile.h.
References mLengthInSeconds.
Referenced by TTSoundfileLoader::resizeThenLoad(), and test().
|
inline |
Simple data accessor.
Definition at line 57 of file TTSoundfile.h.
References mNumChannels.
Referenced by TTSoundfileLoader::copyUntilFilled(), TTSoundfileLoader::copyUntilFilledWithResampling(), TTSoundfileLoader::resizeThenLoad(), and test().
|
inline |
Simple data accessor.
Definition at line 64 of file TTSoundfile.h.
References mSampleRate.
Referenced by test().
|
inline |
Simple data accessor.
Definition at line 85 of file TTSoundfile.h.
References mTitle.
Referenced by test().
TTErr TTSoundfile::peek | ( | const TTRowID | frame, |
const TTColumnID | channel, | ||
TTSampleValue & | value | ||
) |
Get the value stored at a specified frame and channel.
Modelled after the method found in TTSampleMatrix. Note that both channels and samples use zero indexing. There is currently no boundary checking implemented.
[in] | frame | index of sample as count from the beginning of file. first sample = 0. |
[in] | channel | channel within multichannel file. |
[out] | value | used to return the value pulled from sound file. |
Definition at line 148 of file TTSoundfile.cpp.
References kTTErrGeneric, kTTErrNone, and mNumChannels.
Referenced by TTSoundfileLoader::copyUntilFilled(), peeki(), TTSoundfileLoader::test(), and test().
TTErr TTSoundfile::peeki | ( | const TTFloat64 | frame, |
const TTColumnID | channel, | ||
TTSampleValue & | value | ||
) |
Interpolate a value using a floating-point frame and integer channel.
Modelled after the method found in TTSampleMatrix. Note that both channels and samples use zero indexing. There is currently no boundary checking implemented.
[in] | frame | index of sample as count from the beginning of file. first sample = 0. |
[in] | channel | channel within multichannel file. |
[out] | value | used to return the value pulled from sound file. |
Definition at line 173 of file TTSoundfile.cpp.
References kTTErrNone, peek(), and TTInterpolateLinear().
Referenced by TTSoundfileLoader::copyUntilFilledWithResampling(), TTSoundfileLoader::test(), and test().
Atribute accessor.
Send a filepath to the object and attempt to interface with the file.
newValue | full POSIX path to the file, including file name |
Definition at line 68 of file TTSoundfile.cpp.
References TTSymbol::c_str(), kTTErrInvalidFilepath, kTTErrNone, mAnnotation, mArtist, mDate, mFilePath, mLengthInSamples, mLengthInSeconds, mNumChannels, mSampleRate, mTitle, and TTLogMessage().
Referenced by TTSoundfileLoader::setFilePath(), and test().
Unit test for this object.
[out] | returnedTestInfo | The outcome from the performed unit test. |
Reimplemented from TTAudioObjectBase.
Reimplemented in TTSoundfileLoader.
Definition at line 55 of file TTSoundfile.test.cpp.
References TTSymbol::c_str(), TTString::find_last_of(), getAnnotation(), getArtist(), getDate(), getLengthInSamples(), getLengthInSeconds(), getNumChannels(), getSampleRate(), getTitle(), kTTErrNone, peek(), peeki(), setFilePath(), TTString::substr(), and TT.