diff options
| author | Comment <tim@gray.(none)> | 2013-01-16 14:41:27 +0000 |
|---|---|---|
| committer | Comment <tim@gray.(none)> | 2013-01-16 14:41:27 +0000 |
| commit | e775f024476943beacc433c39b6b1003f7ba0d86 (patch) | |
| tree | 5a26b90a0a11574e3cbd3aa7cead9b55a6289bc6 /liveengineUnmapped/src/testApp.cpp | |
| parent | 2b3eaa8dd74c373e7c82a414014c469fe415b66e (diff) | |
frame engine with alpha channel and blending
Diffstat (limited to 'liveengineUnmapped/src/testApp.cpp')
| -rwxr-xr-x | liveengineUnmapped/src/testApp.cpp | 120 |
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;
}
- }
}
|
