diff options
| author | Chris Kiefer <chrisk13fer@gmail.com> | 2011-12-09 13:27:53 +0000 |
|---|---|---|
| committer | Chris Kiefer <chrisk13fer@gmail.com> | 2011-12-09 13:27:53 +0000 |
| commit | 326fab91e97835ef5652cd89c152dc72c15a11b5 (patch) | |
| tree | eeac337e0d37565e954d4fbe670efaad03aa4a37 /ofxMaxim | |
| parent | 09251755f8e5b1aace125897a1af16357a3b1528 (diff) | |
maxiDelayEffects
Diffstat (limited to 'ofxMaxim')
| -rw-r--r-- | ofxMaxim/ofxMaxim/libs/maximilian.cpp | 2 | ||||
| -rwxr-xr-x | ofxMaxim/ofxMaxim/libs/maximilian.h | 21 |
2 files changed, 18 insertions, 5 deletions
diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/ofxMaxim/libs/maximilian.cpp index a734636..3099f6f 100644 --- a/ofxMaxim/ofxMaxim/libs/maximilian.cpp +++ b/ofxMaxim/ofxMaxim/libs/maximilian.cpp @@ -82,7 +82,7 @@ double maxiOsc::sinewave(double frequency) { double maxiOsc::sinebuf4(double frequency) { double remainder; double a,b,c,d,a1,a2,a3; - phase += 512./(maxiSettings::sampleRate/(freq§uency)); + phase += 512./(maxiSettings::sampleRate/(frequency)); if ( phase >= 511 ) phase -=512; remainder = phase - floor(phase); diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.h b/ofxMaxim/ofxMaxim/libs/maximilian.h index 334ba1f..c2e054e 100755 --- a/ofxMaxim/ofxMaxim/libs/maximilian.h +++ b/ofxMaxim/ofxMaxim/libs/maximilian.h @@ -372,8 +372,8 @@ class maxiDistortion { public: /*atan distortion, see http://www.musicdsp.org/showArchiveComment.php?ArchiveID=104*/ /*shape from 1 (soft clipping) to infinity (hard clipping)*/ - double atanDist(double in, double shape); - double fastAtanDist(double in, double shape); + double atanDist(const double in, const double shape); + double fastAtanDist(const double in, const double shape); double fastatan( double x ); }; @@ -382,17 +382,30 @@ inline double maxiDistortion::fastatan(double x) return (x / (1.0 + 0.28 * (x * x))); } -inline double maxiDistortion::atanDist(double in, double shape) { +inline double maxiDistortion::atanDist(const double in, const double shape) { double out; out = (1.0 / atan(shape)) * atan(in * shape); return out; } -inline double maxiDistortion::fastAtanDist(double in, double shape) { +inline double maxiDistortion::fastAtanDist(const double in, const double shape) { double out; out = (1.0 / fastatan(shape)) * fastatan(in * shape); return out; } +class maxiDelayEffect { +public: + maxiDelayline dl; + maxiOsc lfo; + double chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth); +}; + +inline double maxiDelayEffect::chorus(const double input, const unsigned int delay, const double feedback, const double speed, const double depth) { + double output; + output = dl.dl(input, delay + (lfo.triangle(speed) * depth * delay) + 1, feedback) + input; + return output; +} + #endif |
