1 #ifndef __PlugtasticAUEffectGraph_h__
2 #define __PlugtasticAUEffectGraph_h__
5 #include "PlugtasticAPI.h"
6 #include "AUEffectBase.h"
9 class PlugtasticAUEffectGraph {
11 TTAudioGraphObjectPtr obj0;
12 TTAudioGraphObjectPtr obj1;
13 TTAudioGraphObjectPtr obj2;
14 TTAudioGraphObjectPtr obj3;
25 PlugtasticAUEffectGraph() :
48 obj2->connectAudio(obj3);
49 obj1->connectAudio(obj2);
50 obj0->connectAudio(obj1);
53 obj1->getUnitGenerator()->setAttributeValue(
TT(
"drive"), 9.9);
54 obj2->getUnitGenerator()->setAttributeValue(
TT(
"bitdepth"), 24);
58 virtual ~PlugtasticAUEffectGraph()
67 void process(
const AudioBufferList* inBufferList, AudioBufferList* outBufferList,
const AudioBufferList* sidechainInBufferList, AudioBufferList* sidechainOutBufferList)
70 TTUInt32 inChannelCount = inBufferList->mNumberBuffers;
71 TTUInt32 outChannelCount = outBufferList->mNumberBuffers;
74 obj3->getUnitGenerator()->setAttributeValue(
TT(
"vectorSize"), mVectorSize);
75 obj3->getUnitGenerator()->setAttributeValue(
TT(
"maxNumChannels"), inChannelCount);
76 obj3->getUnitGenerator()->setAttributeValue(
TT(
"numChannels"), inChannelCount);
77 obj3->setOutputNumChannels(0, inChannelCount);
80 #ifdef SIDECHAIN_INPUT
88 for (channel=0; channel != inChannelCount; channel++)
94 obj0->lockProcessing();
95 obj0->preprocess(mInitData);
96 obj0->process(mAudioSignal);
97 obj0->unlockProcessing();
100 for (channel=0; channel != outChannelCount; channel++)
101 mAudioSignal->getVector(channel, mVectorSize, (
TTFloat32*)outBufferList->mBuffers[channel].mData);
106 #endif // #ifndef __PlugtasticAUEffectGraph_h__
TTErr TTObjectBaseRelease(TTObjectBasePtr *anObject)
DEPRECATED.
Base class for all first-class Jamoma objects.
This object is an audio generator, and do not expect audio input.
#define TT
This macro is defined as a shortcut for doing a lookup in the symbol table.
TTAudioGraphGenerator * TTAudioGraphGeneratorPtr
Pointer to a TTAudioGraphGenerator.
TTUInt16 vectorSize
The global/recommended/initial vectorSize (which can be overriden during process) ...
float TTFloat32
32 bit floating point number
TTErr TTObjectBaseInstantiate(const TTSymbol className, TTObjectBasePtr *returnedObjectPtr, const TTValue arguments)
DEPRECATED.
The TTAudioSignal class represents N vectors of audio samples for M channels.
[doxygenAppendixC_bitmaskExample]
std::uint32_t TTUInt32
32 bit unsigned integer
[doxygenAppendixC_copyExample]