Jamoma API  0.6.0.a19
TTAudioGraphOutlet.h
Go to the documentation of this file.
1 /** @file
2  *
3  * @ingroup audioGraphLibrary
4  *
5  * @brief Defines a single 'outlet' from an individual AudioGraph object
6  *
7  * @details TTAudioGraphObject maintains a vector of these outlets.
8  *
9  * @authors Timothy Place, Trond Lossius
10  *
11  * @copyright Copyright © 2010, Timothy Place @n
12  * This code is licensed under the terms of the "New BSD License" @n
13  * http://creativecommons.org/licenses/BSD/
14  */
15 
16 
17 #ifndef __TTAUDIOGRAPH_OUTLET_H__
18 #define __TTAUDIOGRAPH_OUTLET_H__
19 
20 #include "TTAudioGraph.h"
21 
22 
23 /******************************************************************************************/
24 
25 /** This object represents a single 'outlet' from a TTAudioGraphObject.
26  TTAudioGraphObject maintains a vector of these outlets.
27 */
29  friend class TTAudioGraphObjectBase;
30 
31 protected:
32 
33  TTAudioSignalPtr mBufferedOutput; ///< Output vector from the audio graph node
34 
35 public:
36 
37  /** Constructor.
38  */
40  mBufferedOutput(NULL)
41  {
42  TTObjectBaseInstantiate(kTTSym_audiosignal, &mBufferedOutput, 1);
43  }
44 
45 
46  /** destructor.
47  */
49  {
50  TTObjectBaseRelease(&mBufferedOutput);
51  }
52 
53 
54  // Copying Functions are critical due to use by std::vector
55 
56  TTAudioGraphOutlet(const TTAudioGraphOutlet& original) :
57  mBufferedOutput(NULL)
58  {
59 // mBufferedOutput = TTObjectBaseReference(original.mBufferedOutput);
60  TTObjectBaseInstantiate(kTTSym_audiosignal, &mBufferedOutput, 1);
61  }
62 
63 
64  TTAudioGraphOutlet& operator=(const TTAudioGraphOutlet& source)
65  {
66  TTObjectBaseRelease(&mBufferedOutput);
67  mBufferedOutput = TTObjectBaseReference(source.mBufferedOutput);
68  return *this;
69  }
70 
71 
72  // Audio Signal Access Methods
73 
74  TTChannelCount getNumOutputChannels()
75  {
76  return mBufferedOutput->getNumChannelsAsInt();
77  }
78 
79 
81  {
82  return mBufferedOutput->getVectorSizeAsInt();
83  }
84 
85 
86  TTAudioSignalPtr getBuffer()
87  {
88  return mBufferedOutput;
89  }
90 
91 };
92 
93 
94 
95 
96 #endif // __TTAUDIOGRAPH_OUTLET_H__
std::uint16_t TTUInt16
16 bit unsigned integer
Definition: TTBase.h:176
TTErr TTObjectBaseRelease(TTObjectBasePtr *anObject)
DEPRECATED.
TTUInt16 getOutputVectorSize(TTUInt16 forOutletNumber)
Get the vector size for an outlet.
~TTAudioGraphOutlet()
destructor.
This object represents a single 'outlet' from a TTAudioGraphObject.
Registers classes for the primary AudioGraph library.
TTAudioGraphOutlet()
Constructor.
TTErr TTObjectBaseInstantiate(const TTSymbol className, TTObjectBasePtr *returnedObjectPtr, const TTValue arguments)
DEPRECATED.
The TTAudioSignal class represents N vectors of audio samples for M channels.
Definition: TTAudioSignal.h:57
TTUInt16 TTChannelCount
Data type used when counting the number of channels in multi-channel audio signals and processes...
Definition: TTAudioSignal.h:31
The TTAudioGraphObjectBase wraps a TTDSP object such that it is possible to build a dynamic graph of ...
TTObjectBasePtr TTObjectBaseReference(TTObjectBasePtr anObject)
DEPRECATED.
TTAudioSignalPtr mBufferedOutput
Output vector from the audio graph node.