|
Jamoma API
0.6.0.a19
|
Creates an interface to data in a soundfile from disk. More...
#include <TTSoundfile.h>
Inheritance diagram for TTSoundfile:
Collaboration diagram for TTSoundfile: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().
Here is the call graph for this function: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().
Here is the call graph for this function: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.
Here is the call graph for this function: