aboutsummaryrefslogtreecommitdiffstats
path: root/maximilian_examples/20.additive.cpp
diff options
context:
space:
mode:
authorChris Kiefer <chrisk13fer@gmail.com>2013-10-11 11:13:00 +0100
committerChris Kiefer <chrisk13fer@gmail.com>2013-10-11 11:13:00 +0100
commiteabb1855777c8451c8a35bae4309ee112ac4460e (patch)
treedc48774b326a80fd53b192f86f52ccb56055a786 /maximilian_examples/20.additive.cpp
parent7fc94b9f1860ee14aa03f4d235a75d63d02a6315 (diff)
additive example
Diffstat (limited to 'maximilian_examples/20.additive.cpp')
-rw-r--r--maximilian_examples/20.additive.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/maximilian_examples/20.additive.cpp b/maximilian_examples/20.additive.cpp
new file mode 100644
index 0000000..753434d
--- /dev/null
+++ b/maximilian_examples/20.additive.cpp
@@ -0,0 +1,26 @@
+#include "maximilian.h"
+
+maxiOsc sineBank[10];//let's create an oscillator and give it a name.
+
+void setup() {//some inits
+ //nothing to go here this time
+}
+
+
+
+void play(double *output) {//this is where the magic happens. Very slow magic.
+
+ double wave=0;
+ double f0 = 100;
+ for(int i=0; i < 10; i++) {
+ double thisSine = wave + sineBank[i].sinewave(f0 + (i * f0));
+ double multiplier = 1.0 / (i+1.0);
+ thisSine = thisSine * multiplier;
+ wave = wave + thisSine;
+ }
+ wave *= 0.1;
+ *output = wave;//simple as that!
+
+
+}
+