Mercurial > hg > beaglert
view projects/airharp/Waveguide.h @ 269:ac8eb07afcf5
Oxygen text added to each render.cpp file for the default projects. Text includes project explanation from Wiki, edited in places.
Empty project added as a default project.
Doxyfile updated. Each of the project locations added to INPUT configuration option. Consider just watching the whole project file so all new projects are automatically pulled through.
author | Robert Jack <robert.h.jack@gmail.com> |
---|---|
date | Tue, 17 May 2016 15:40:16 +0100 |
parents | 40badaff5729 |
children |
line wrap: on
line source
/* * * Simple 1-Dimensional Waveguide * * Christian Heinrichs 04/2015 * */ #ifndef WAVEGUIDE_H_ #define WAVEGUIDE_H_ #include <cmath> #ifndef WG_BUFFER_SIZE #define WG_BUFFER_SIZE 4096 #endif #ifndef FILTER_BUFFER_SIZE #define FILTER_BUFFER_SIZE 4 #endif #ifndef M_PI #define M_PI 3.14159265358979323846264338 #endif class Waveguide { public: Waveguide(); void setup(); float update(float in); void updateFilterCoeffs(float frequency); void setFrequency(float frequency); private: double _dt; float _periodInMilliseconds; int _periodInSamples; float _buffer[WG_BUFFER_SIZE]; int _readPtr; float _filterBuffer_x[FILTER_BUFFER_SIZE]; float _filterBuffer_y[FILTER_BUFFER_SIZE]; float _hipBuffer_x[FILTER_BUFFER_SIZE]; float _hipBuffer_y[FILTER_BUFFER_SIZE]; int _filterReadPtr; float b0_lp,b1_lp,b2_lp,a1_lp, a2_lp; float _lastY,_lastX; }; #endif