Jamoma API  0.6.0.a19
Catmullrom3D.h
1 /*
2  * Catmull-rom spline Function Unit for TTBlue
3  * based on the icst.spline code by Jan Schacher, ICST: http://www.icst.net/
4  * ported by Nils Peters
5  *
6  */
7 
8 #ifndef __CATMULLROM3D_H__
9 #define __CATMULLROM3D_H__
10 
11 #include "TTDSP.h"
12 
13 #define MAXSIZE 1024 // 1024 points
14 
15 
16 class Catmullrom3D : TTAudioObjectBase {
17  TTCLASS_SETUP(Catmullrom3D)
18 
19 protected:
20 
21  TTUInt16 mResolution, mSteps;
22  TTFloat64 b_control[3 * MAXSIZE];
23  TTFloat64 b_op[3];
24  TTUInt16 b_knots[MAXSIZE * 3];
25  TTFloat64 interval;
26  TTFloat64 point3D[3];
27  TTUInt8 mDimen, mDegree;
28 
29 
30  //inline TTErr calculateValue(const TTFloat64& x, TTFloat64& y, TTPtrSizedInt data);
31 
32  /** A standard audio processing method as used by TTBlue objects.*/
33  TTErr processAudio(TTAudioSignalArrayPtr inputs, TTAudioSignalArrayPtr outputs);
34  void calculatePoint();
35  void calculateKnots();
36 
37  float calculateBlend(TTUInt16 k, TTUInt16 t);
38 };
39 
40 
41 #endif // __CATMULLROM3D_H__
std::uint16_t TTUInt16
16 bit unsigned integer
Definition: TTBase.h:176
TTAudioObjectBase is the base class for all audio generating and processing objects in Jamoma DSP...
Jamoma DSP Library.
double TTFloat64
64 bit floating point number
Definition: TTBase.h:188
#define TTCLASS_SETUP(className)
TODO Doxygen: need more comments here.
Definition: TTFoundation.h:54
A simple container for an array of TTAudioSignal pointers.
TTErr
Jamoma Error Codes Enumeration of error codes that might be returned by any of the TTBlue functions a...
Definition: TTBase.h:342
unsigned char TTUInt8
8 bit unsigned integer (char)
Definition: TTBase.h:174