From 9b02537e82866bcfdcb22a5e7fd9c7f5217c2c64 Mon Sep 17 00:00:00 2001 From: Chris Kiefer Date: Tue, 23 Aug 2011 16:59:47 +0100 Subject: maximillian basic examples --- main.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 main.cpp (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp new file mode 100755 index 0000000..b80b512 --- /dev/null +++ b/main.cpp @@ -0,0 +1,33 @@ +#include "maximilian.h" + +maxiOsc myCounter,mySwitchableOsc;// +int CurrentCount;// +double myOscOutput,myFilteredOutput;// +double myEnvelopeData[6] = {500,0,1000,500,0,500};//this data will be used to make an envelope. Value and time to value in ms. +maxiEnvelope myEnvelope; +maxiFilter myFilter; + +void setup() {//some inits + myEnvelope.amplitude=myEnvelopeData[0]; //initialise the envelope +} + +void play(double *output) { + + CurrentCount=myCounter.phasor(1, 1, 9);//phasor can take three arguments; frequency, start value and end value. + + if (CurrentCount<5)//simple if statement + + myOscOutput=mySwitchableOsc.square(CurrentCount*100); + + else if (CurrentCount>=5)//and the 'else' bit. + + myOscOutput=mySwitchableOsc.saw(CurrentCount*50);//one osc object can produce whichever waveform you want. + + if (CurrentCount==1) + + myEnvelope.trigger(0,myEnvelopeData[0]); //trigger the envelope + + myFilteredOutput=myFilter.lores(myOscOutput,(myEnvelope.line(6, myEnvelopeData)),10);//lores takes an audio input, a frequency and a resonance factor (1-100) + + *output=myFilteredOutput;//point me at your speakers and fire. +} -- cgit v1.3