Jamoma API
0.6.0.a19
|
The TTAudioEngine class is the Audio Engine of Jamoma DSP. More...
#include <TTAudioEngine.h>
Public Member Functions | |
TTErr | initStream () |
TTErr | start () |
Start audio processing. More... | |
TTErr | stop () |
Stop audio processing. More... | |
TTErr | getCpuLoad (const TTValue &unusedInput, TTValue &returnedValue) |
Monitor how taxing current audio processing is on the CPU. More... | |
TTErr | getAvailableInputDeviceNames (const TTValue &unusedInput, TTValue &returnedDeviceNames) |
Get the names of all available input devices. More... | |
TTErr | getAvailableOutputDeviceNames (const TTValue &unusedInput, TTValue &returnedDeviceNames) |
Get the names of all available output devices. More... | |
TTErr | getInputSignalReference (TTValue &anUnusedInput, TTValue &aReturnedAudioSignalPtr) |
Get the reference pointer for the input signal. More... | |
TTErr | getOutputSignalReference (TTValue &anUnusedInput, TTValue &aReturnedAudioSignalPtr) |
Get the reference pointer for the output signal. More... | |
TTErr | setInputDevice (TTValue &newDeviceName) |
Set what audio input device to use. More... | |
TTErr | setOutputDevice (TTValue &newDeviceName) |
Set what audio output device to use. More... | |
TTErr | setVectorSize (TTValue &newVectorSize) |
Set vector size. More... | |
TTErr | setSampleRate (TTValue &newSampleRate) |
Set the sample rate. More... | |
TTErr | addCallbackObserver (const TTValue &objectToReceiveNotifications, TTValue &unusedOutput) |
TTErr | removeCallbackObserver (const TTValue &objectCurrentlyReceivingNotifications, TTValue &unusedOutput) |
TTInt32 | callback (const TTFloat32 *input, TTFloat32 *output, TTUInt32 frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags) |
This is called repeatedly by PortAudio every time a new vector of audio is needed. 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... | |
Static Public Member Functions | |
static TTErr | destroy () |
Static Public Attributes | |
static TTDictionaryPtr | sDictionary = NULL |
We use a dictionary to map the singleton instance to a symbol. More... | |
Protected Attributes | |
TTChannelCount | mNumInputChannels |
The number of input channels. | |
TTChannelCount | mNumOutputChannels |
The number of output channels. | |
TTUInt16 | mVectorSize |
Vector size (frames per buffer) | |
TTUInt32 | mSampleRate |
Sample rate. | |
TTSymbol | mInputDevice |
The audio device used for audio input. | |
TTSymbol | mOutputDevice |
The audio device used for audio output. | |
const PaDeviceInfo * | mInputDeviceInfo |
A structure providing information and capabilities of PortAudio devices, including information on latency and max number of channels. Refer to the documentation of PortAudio for further references. | |
const PaDeviceInfo * | mOutputDeviceInfo |
A structure providing information and capabilities of PortAudio devices, including information on latency and max number of channels. Refer to the documentation of PortAudio for further references. | |
TTBoolean | mIsRunning |
A flag indicating if audio is currently being processed. | |
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 TTObjectBase | |
TTObjectBase (const TTValue arguments) | |
Constructor. More... | |
The TTAudioEngine class is the Audio Engine of Jamoma DSP.
Definition at line 42 of file TTAudioEngine.h.
TTErr TTAudioEngine::addCallbackObserver | ( | const TTValue & | objectToReceiveNotifications, |
TTValue & | unusedOutput | ||
) |
Definition at line 371 of file TTAudioEngine.cpp.
References kTTErrNone.
TTInt32 TTAudioEngine::callback | ( | const TTFloat32 * | input, |
TTFloat32 * | output, | ||
TTUInt32 | frameCount, | ||
const PaStreamCallbackTimeInfo * | timeInfo, | ||
PaStreamCallbackFlags | statusFlags | ||
) |
This is called repeatedly by PortAudio every time a new vector of audio is needed.
input | |
output | |
frameCount | |
timeInfo | |
statusFlags |
Definition at line 385 of file TTAudioEngine.cpp.
References TTAudioSignal::clear(), mNumInputChannels, mNumOutputChannels, and TTAudioSignal::mSampleVectors.
Referenced by TTAudioEngineStreamCallback().
|
static |
Definition at line 458 of file TTAudioEngine.cpp.
References TTObjectBase::getReferenceCount(), Pa_GetErrorText(), Pa_Terminate(), TTLogError(), and TTObjectBaseRelease().
TTErr TTAudioEngine::getAvailableInputDeviceNames | ( | const TTValue & | unusedInput, |
TTValue & | returnedDeviceNames | ||
) |
Get the names of all available input devices.
unusedInput | Not used |
returnedDeviceNames | Used to return the names of all available input devices. |
Definition at line 243 of file TTAudioEngine.cpp.
References TTValue::append(), TTValue::clear(), kTTErrGeneric, kTTErrNone, Pa_GetDeviceCount(), and Pa_GetDeviceInfo().
TTErr TTAudioEngine::getAvailableOutputDeviceNames | ( | const TTValue & | unusedInput, |
TTValue & | returnedDeviceNames | ||
) |
Get the names of all available output devices.
unusedInput | Not used |
returnedDeviceNames | Used to return the names of all available output devices. |
Definition at line 265 of file TTAudioEngine.cpp.
References TTValue::append(), TTValue::clear(), kTTErrGeneric, kTTErrNone, Pa_GetDeviceCount(), and Pa_GetDeviceInfo().
Monitor how taxing current audio processing is on the CPU.
unusedInput | Not used |
returnedValue | Used to return current CPU load. |
Definition at line 234 of file TTAudioEngine.cpp.
References kTTErrNone, and Pa_GetStreamCpuLoad().
TTErr TTAudioEngine::getInputSignalReference | ( | TTValue & | anUnusedInput, |
TTValue & | aReturnedAudioSignalPtr | ||
) |
Get the reference pointer for the input signal.
Definition at line 416 of file TTAudioEngine.cpp.
References kTTErrNone, and TTObjectBaseReference().
TTErr TTAudioEngine::getOutputSignalReference | ( | TTValue & | anUnusedInput, |
TTValue & | aReturnedAudioSignalPtr | ||
) |
Get the reference pointer for the output signal.
Definition at line 423 of file TTAudioEngine.cpp.
References kTTErrNone, and TTObjectBaseReference().
TTErr TTAudioEngine::initStream | ( | ) |
Definition at line 129 of file TTAudioEngine.cpp.
References TTAudioSignal::alloc(), PaStreamParameters::channelCount, PaStreamParameters::device, PaStreamParameters::hostApiSpecificStreamInfo, mInputDevice, mIsRunning, mNumInputChannels, mNumOutputChannels, mOutputDevice, mSampleRate, mVectorSize, Pa_CloseStream(), Pa_GetDeviceInfo(), Pa_GetErrorText(), Pa_OpenDefaultStream(), Pa_OpenStream(), paFloat32, paNoFlag, PaStreamParameters::sampleFormat, TTAudioSignal::setMaxNumChannels(), start(), stop(), PaStreamParameters::suggestedLatency, TTAudioEngineStreamCallback(), and TTLogError().
Referenced by setInputDevice(), setOutputDevice(), setSampleRate(), setVectorSize(), and start().
TTErr TTAudioEngine::removeCallbackObserver | ( | const TTValue & | objectCurrentlyReceivingNotifications, |
TTValue & | unusedOutput | ||
) |
Definition at line 378 of file TTAudioEngine.cpp.
References kTTErrNone.
Set what audio input device to use.
newDeviceName | The new audio input device to use. |
Definition at line 287 of file TTAudioEngine.cpp.
References initStream(), kTTErrGeneric, kTTErrNone, mInputDevice, mInputDeviceInfo, mIsRunning, mNumInputChannels, Pa_CloseStream(), Pa_GetDeviceCount(), and Pa_GetDeviceInfo().
Set what audio output device to use.
newDeviceName | The new audio output device to use. |
Definition at line 318 of file TTAudioEngine.cpp.
References initStream(), kTTErrGeneric, kTTErrNone, mIsRunning, mNumOutputChannels, mOutputDevice, mOutputDeviceInfo, Pa_CloseStream(), Pa_GetDeviceCount(), and Pa_GetDeviceInfo().
Set the sample rate.
newSampleRate | The new sample rate to use. |
Definition at line 360 of file TTAudioEngine.cpp.
References initStream(), kTTErrNone, mIsRunning, and mSampleRate.
Set vector size.
newVectorSize | The new vector size to use. |
Definition at line 349 of file TTAudioEngine.cpp.
References initStream(), kTTErrNone, mIsRunning, and mVectorSize.
TTErr TTAudioEngine::start | ( | ) |
Start audio processing.
Definition at line 202 of file TTAudioEngine.cpp.
References initStream(), mIsRunning, Pa_GetErrorText(), Pa_StartStream(), and TTLogError().
Referenced by initStream().
TTErr TTAudioEngine::stop | ( | ) |
Stop audio processing.
Definition at line 220 of file TTAudioEngine.cpp.
References mIsRunning, Pa_GetErrorText(), Pa_StopStream(), and TTLogError().
Referenced by initStream().
|
static |
We use a dictionary to map the singleton instance to a symbol.
Definition at line 75 of file TTAudioEngine.h.