Pd++  0.01
A pure C++ implementation of Pure Data objects
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
rFFT.h
1 /*
2  rFFT.cpp
3  Pd++
4 
5  Created by Rob Esler on 9/29/14.
6  Copyright (c) 2014 Robert Esler. All rights reserved.
7 
8  Some of the code in Pd++ is Copyright (c) 1997-1999 Miller Puckette.
9  For information on usage and redistribution, and for a DISCLAIMER OF ALL
10  WARRANTIES, see the file, "LICENSE.txt," in this distribution.
11 */
12 
13 #ifndef __Pd____rFFT__
14 #define __Pd____rFFT__
15 
16 #include <string>
17 #include "PdMaster.h"
18 #include "fft.h"
19 
20 namespace pd {
21 
22 /*! \brief Real Fast Fourier Transform
23 
24  Outputs a window, or block of samples based on the FFT window.
25 
26 */
27 
28 class realFFT : public PdMaster, public FFT {
29 
30 private:
31  int windowSize = 64;
32  double *signal = nullptr;
33  int count = 0;
34 
35 
36 public:
37  realFFT();
38  realFFT(int);
39  ~realFFT();
40 
41  double *perform(double input);
42 
43  const std::string pdName = "rfft~";
44 };
45 
46 
47 
48 } // pd namespace
49 
50 #endif /* defined(__Pd____rFFT__) */
The Pd++ namespace.
Definition: BandPass.cpp:14
realFFT()
Definition: rFFT.cpp:26
A super class inherited by all Pd++ objects.
Definition: PdMaster.h:62
double * perform(double input)
Definition: rFFT.cpp:56
An FFT superclass. Adapted from the Pd version of FFT.
Definition: fft.h:125
Real Fast Fourier Transform.
Definition: rFFT.h:28