Jamoma API  0.6.0.a19
TTAudioEngine.cpp File Reference

The TTAudioEngine class is the Audio Engine of Jamoma DSP. More...

#include "TTAudioEngine.h"
+ Include dependency graph for TTAudioEngine.cpp:

Go to the source code of this file.


int TTAudioEngineStreamCallback (const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
 A C-function used for the callback from PortAudio. More...

Detailed Description

The TTAudioEngine class is the Audio Engine of Jamoma DSP.

TTAudioEngine is a class that is used to drive realtime audio and scheduling operations in the Jamoma DSP environment. It is currently implemented as a wrapper around PortAudio.


  • Should this be a singleton, like the environment object? Can be associated with a key in the global dictionary namespace
  • How do we properly clean-up the environment from something like Max? I guess we need a quittask?


  • A #TTAudioOutput class will work by writing to the TTAudioEngine's output buffer.
  • Likewise a #TTAudioInput class will work by retrieving from the TTAudioEngine's input buffer.
  • The scheduler, and others like the Jamoma AudioGraph output class, will subscribe to this class for notifications on each call from PortAudio.
  • PortAudio doesn't work on iOS, so perhaps PortAudio should be separated from the AudioEngine and provide audio driver classes to it.
Tim Place, Nathan Wolek, Trond Lossius

Definition in file TTAudioEngine.cpp.

Function Documentation

int TTAudioEngineStreamCallback ( const void *  input,
void *  output,
unsigned long  frameCount,
const PaStreamCallbackTimeInfo timeInfo,
PaStreamCallbackFlags  statusFlags,
void *  userData 

A C-function used for the callback from PortAudio.

This simply passes the call to the callback method in the TTAudioEngine object.

Definition at line 469 of file TTAudioEngine.cpp.

References TTAudioEngine::callback().

Referenced by TTAudioEngine::initStream().

+ Here is the call graph for this function: