summaryrefslogtreecommitdiff
path: root/liveengineUnmapped/src/testApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'liveengineUnmapped/src/testApp.cpp')
-rwxr-xr-xliveengineUnmapped/src/testApp.cpp120
1 files changed, 44 insertions, 76 deletions
diff --git a/liveengineUnmapped/src/testApp.cpp b/liveengineUnmapped/src/testApp.cpp
index cada0e7..c6fb94e 100755
--- a/liveengineUnmapped/src/testApp.cpp
+++ b/liveengineUnmapped/src/testApp.cpp
@@ -87,7 +87,6 @@ void testApp::setup(){
colShift=0;
controlColours=false;
- debug=false;
noteRandomiseColours=false;
transparentBlack=false;
reversemain=false;
@@ -145,6 +144,16 @@ void testApp::setup(){
gui.add(transparentBlack.setup("transparent black", false));
gui.add(resetDrawscale.setup("reset draw scale"));
gui.add(resetFBscale.setup("reset FB scale"));
+ fadeScale=128;
+ gui.add(fS.setup("fade scale",fadeScale,0,255,255));
+
+ gui.add(oscScale.setup("scale size LFO", false));
+ gui.add(breakOsc.setup("break oscillators", false));
+ gui.add(randomOsc.setup("randomise oscillators", false));
+ scaleAmplitude=0.5f;
+ gui.add(sA.setup("fade scale",scaleAmplitude,0,2.0,255));
+ scaleFrequency=1.0f;
+ gui.add(sF.setup("fade freq",scaleFrequency,0,5.0,255));
resetDrawscale.addListener(this,&testApp::resetDrawscalePressed);
resetFBscale.addListener(this,&testApp::resetFBscalePressed);
@@ -159,6 +168,7 @@ void testApp::setup(){
guiWin->setup();
guiWin->setParent(this);
+ debug=false;
}
@@ -184,13 +194,16 @@ void testApp::draw(){
float lambda=max(0.0f,1.0f-((ofGetElapsedTimef()-lastnoteTime)/decayTime));
- ofSetColor(255-fadetime,255-fadetime,255-fadetime); //for feedback
+ int ft=255-(fadetime*((float)fadeScale)*0.1);
+ //if(ofGetFrameNum()%25==0) printf("fadeScale %i\n",(int)fadeScale);
+ ofSetColor(ft,ft,ft); //for feedback
+ float os=oscScale?(sin((breakOsc?ofGetElapsedTimef()-(randomOsc?randOffs:lastnoteTime):ofGetElapsedTimef()))*scaleFrequency)*scaleAmplitude:0.0f;
//vp1.draw(lambda,controllers,xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,scale,fscale,noteRandomiseColours?colShift:0.0f);
//vp2.draw(lambda,controllers,reversemain?-xshift:xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,reversemain?1.0f/scale:scale,reversemain?1.0f/fscale:fscale,noteRandomiseColours?colShift:0.0f);
for (int i=0;i<viewports.size();i++) {
bool even=!(i%2);
- viewports[i]->draw(lambda,controllers,even&&reversemain?-xshift:xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,even&&reversemain?1.0f/scale:scale,even&&reversemain?1.0f/fscale:fscale,noteRandomiseColours?colShift:0.0f);
+ viewports[i]->draw(lambda,controllers,even&&reversemain?-xshift:xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,even&&reversemain?1.0f/(scale+os):scale+os,even&&reversemain?1.0f/fscale:fscale,noteRandomiseColours?colShift:0.0f);
}
ofSetColor(255,255,255);
@@ -337,65 +350,8 @@ void testApp::keyPressed(int key, ofxFenster* win){
else keyPressed(key);
}
void testApp::keyPressed(int key){
- if(key == 'q'){
- list.load("insects.xml");
- }
- if(key == 'Q'){
- list.load("birds.xml");
- }
- if(key == 'w'){
- list.load("teamsports.xml");
- }
- if(key == 'W'){
- list.load("american_football.xml");
- }
- if(key == 'e'){
- list.load("organs.xml");
- }
- if(key == 'E'){
- list.load("crests.xml");
- }
- if(key == 'r'){
- list.load("tai_chi.xml");
- }
- if(key == 'R'){
- list.load("cricket.xml");
- }
- if(key == 't'){
- list.load("reptiles.xml");
- }
- if(key == 'T'){
- list.load("tools.xml");
- }
- if(key == 'y'){
- list.load("miltary_ladies.xml");
- }
- if(key == 'Y'){
- list.load("women_ethnic.xml");
- }
- if(key == 'u'){
- list.load("knights.xml");
- }
- if(key == 'U'){
- list.load("food.xml");
- }
- if(key == 'i'){
- list.load("mil_historic.xml");
- }
- if(key == 'I'){
- list.load("mil_ethnic.xml");
- }
- if(key == 'o'){
- list.load("yoga.xml");
- }
- if(key == 'O'){
- list.load("computers.xml");
- }
- if(key == 'p'){
- list.load("dancing.xml");
- }
- if(key == 'P'){
- list.load("trainers.xml");
+ if(key =='q'){
+ nmidiMessage(144,ofRandom(64)+36,127);
}
if(key == 's'){
XML.saveFile("settings.xml");
@@ -532,7 +488,11 @@ void testApp::toggleFPS(){
showFPS=!showFPS;
}
-void testApp::newMidiMessage(ofxMidiEventArgs& eventArgs){
+void testApp::newMidiMessage(ofxMidiEventArgs& eventArgs){
+ if ((midiChannel==0)||(eventArgs.channel==midiChannel)) {
+ nmidiMessage(eventArgs.status,eventArgs.byteOne,eventArgs.byteTwo);
+ }
+}
//newMessage(eventArgs.port, eventArgs.channel, eventArgs.byteTwo, eventArgs.timestamp);
@@ -548,30 +508,38 @@ void testApp::newMidiMessage(ofxMidiEventArgs& eventArgs){
*/
//printf("%d %d %d %d %d\n",eventArgs.port,eventArgs.channel,eventArgs.status,eventArgs.byteOne,eventArgs.byteTwo);
-
+void testApp::nmidiMessage(int event,int data1, int data2) {
+ if (debug) printf("midi: %i %i\n",event,data1);
bool noteOn; //this old thing!
-
- if ((midiChannel==0)||(eventArgs.channel==midiChannel)) {
- switch(eventArgs.status) {
+ int i;
+ switch(event) {
case 144: //noteon-off channel 0
- noteOn=(eventArgs.byteTwo==0?false:true);
+ noteOn=(data2==0?false:true);
//for (int i=0;i<numLayers;i++){
// if (layers[i]->note==eventArgs.byteOne) layers[i]->setActive(noteOn);
//}
- if (debug) printf("note: %i %i\n",eventArgs.byteOne,eventArgs.byteTwo);
- note=eventArgs.byteOne;
+
+ note=data1;
lastnoteTime=ofGetElapsedTimef();
- if (noteRandomiseColours) {
- makeColours(); //
- }
+ if (list.layers.size()&&list.lock()) { //if playlist is loaded
+ map<int, layer*>::iterator itr;
+ //for(itr = list.layers.begin(); itr != list.layers.end(); ++itr){
+ // list.layers[itr->first]->setNote(note);
+ //}
+ list.layers[note]->setNote(note);
+ list.unlock();
+ }
+ if (noteRandomiseColours) {
+ makeColours(); //
+ }
+ randOffs=ofRandom(1.0f);
break;
case 176: //control change channel 0
//for (int i=0;i<numLayers;i++){
// if (layers[i]->mix==eventArgs.byteOne) layers[i]->setMixAmt(((float)eventArgs.byteTwo)/127.0f);
//}
- if (debug) printf("cc: %i %i\n",eventArgs.byteOne,eventArgs.byteTwo);
- controllers[eventArgs.byteOne-START_CONTROLLER]=eventArgs.byteTwo;
+ if (debug) printf("cc: %i %i\n",data1,data2);
+ if (data1>=START_CONTROLLER) controllers[data1-START_CONTROLLER]=data2;
}
- }
}