rt300@4: // rt300@4: // frequencer.h rt300@4: // oscSenderExample rt300@4: // rt300@4: // Created by Robert Tubb on 27/11/2012. rt300@4: // rt300@4: // This is a C++ version of freqMaster.js max script rt300@4: rt300@4: #ifndef __oscSenderExample__frequencer__ rt300@4: #define __oscSenderExample__frequencer__ rt300@4: rt300@4: #include rt300@4: #include "ofMain.h" rt300@4: #include "math.h" rt300@4: rt300@4: rt300@4: class Frequencer{ rt300@4: rt300@4: private: rt300@4: vector timePoints; rt300@4: vector freqMag; rt300@4: vector freqPhase; rt300@4: int N; rt300@4: rt300@4: rt300@4: void dft(); rt300@4: void idft(); rt300@4: public: rt300@4: Frequencer(); rt300@4: void clear(); rt300@4: void timeEdit(int n, double value); rt300@4: void timeEdit(vector allValues); rt300@4: void freqMagEdit(int k, double mag); rt300@4: vector freqMagEdit(vector indexes, vector values); rt300@4: void freqPhaseEdit(int k, double phase); rt300@4: vector freqPhaseEdit(vector indexes, vector values); rt300@4: rt300@4: double getPoint(int idx); rt300@4: //int getPoint(int idx); // rounded rt300@4: }; rt300@4: rt300@4: #endif /* defined(__oscSenderExample__frequencer__) */