aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ofxMaxim/ofxMaxim/libs/maximilian.cpp2
-rwxr-xr-xofxMaxim/ofxMaxim/libs/maximilian.h21
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