summaryrefslogtreecommitdiff
path: root/liveengine/src/testApp.cpp
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-01-24 18:07:04 +0000
committerComment <tim@gray.(none)>2013-01-24 18:07:04 +0000
commit3bf0663e94b6335cb748a50a8b95e8a98d2a0630 (patch)
treea82627776c3bdeedbc99e2b6dcf97b78328a5047 /liveengine/src/testApp.cpp
parente54790009e0d7b6ae5cc4d3e54880ff0bdc63f86 (diff)
folded kinect into main branch
Diffstat (limited to 'liveengine/src/testApp.cpp')
-rwxr-xr-xliveengine/src/testApp.cpp100
1 files changed, 66 insertions, 34 deletions
diff --git a/liveengine/src/testApp.cpp b/liveengine/src/testApp.cpp
index cdff1af..c69ac66 100755
--- a/liveengine/src/testApp.cpp
+++ b/liveengine/src/testApp.cpp
@@ -58,7 +58,7 @@ void kinectWindow::draw(){
//--------------------------------------------------------------
void testApp::setup(){
int midiPort=0;
- midiChannel=0;
+ midiChannel=0;
useKinect=false;
if( !XML.loadFile("settings.xml") ){
printf("unable to load settings.xml check data/ folder\n");
@@ -91,7 +91,7 @@ void testApp::setup(){
kw->addListener(kinectWin);
kinectWin->setup();
kinectWin->setParent(this);
-
+
NIinstance.start();
}
@@ -106,9 +106,9 @@ void testApp::setup(){
settings[keys[k]]=XML.getAttribute("settings",keys[k],"none",0);
}
viewports[i]->setcam(settings);
- XML.popTag();
+ XML.popTag();
- }
+ }
else viewports.push_back(new viewport(w,h,x,y,rot,ox,oy));
}
}
@@ -116,23 +116,22 @@ void testApp::setup(){
XML.popTag();
- }
-
+ }
}
-
+
activeView=-1;
midiIn.listPorts();
midiIn.openPort(midiPort);
midiIn.addListener(this);
- //to register only to one controller pass the id as first argument
+ // to register only to one controller pass the id as first argument
// midiIn.addListener(84,this);
// to debug
// midiIn.setVerbose(true);
controllers=new unsigned char[NUM_CONTROLLERS];
- memset(controllers,127,NUM_CONTROLLERS);
+ memset(controllers,NUM_CONTROLLERS,0);
note=0;
makeColours();
@@ -198,8 +197,20 @@ 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));
+ decayTime=1.0f;
+ gui.add(dT.setup("decay time",decayTime,0,10.0,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));
gui.add(drawCloud.setup("draw pointCloud",false));
- //gui.add(drawSkel.setup("draw Skeleton",false));
+ gui.add(drawSkel.setup("draw Skeleton",false));
resetDrawscale.addListener(this,&testApp::resetDrawscalePressed);
resetFBscale.addListener(this,&testApp::resetFBscalePressed);
@@ -214,6 +225,7 @@ void testApp::setup(){
guiWin->setup();
guiWin->setParent(this);
+ debug=false;
}
@@ -231,8 +243,7 @@ void testApp::makeColours() {
}
//--------------------------------------------------------------
void testApp::update(){
-
-
+ //for (int i=0;i<numLayers;i++) layers[i]->update();
}
void testApp::saveSettings(string filename){
@@ -258,14 +269,17 @@ 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.1f);
+ //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);
- if (viewports[i]->isMapped) viewports[i]->mapdraw(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,drawCloud,drawSkel);
- else 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);
+ if (viewports[i]->isMapped) viewports[i]->mapdraw(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,drawCloud,drawSkel);
+ else 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);
@@ -413,8 +427,8 @@ void testApp::keyPressed(int key, ofxFenster* win){
}
void testApp::keyPressed(int key){
- if (activeView<0) for (int i=0;i<viewports.size();i++) viewports[i]->keyPressed(key);
- else if (activeView<viewports.size()) viewports[activeView]->keyPressed(key);
+ if (activeView<0) for (int i=0;i<viewports.size();i++) if (viewports[i]->isMapped) viewports[i]->keyPressed(key);
+ else if (activeView<viewports.size()&&viewports[activeView]->isMapped) viewports[activeView]->keyPressed(key);
if (key>='0' && key <='5'){
@@ -434,7 +448,9 @@ void testApp::keyPressed(int key){
break;
}
}
-
+ if(key =='q'){
+ nmidiMessage(144,ofRandom(64)+36,127);
+ }
if(key == 'p'){
saveSettings("settings.xml");
printf("settings saved!\n");
@@ -480,10 +496,14 @@ void testApp::keyPressed(int key){
}
- if (key=='.') {
+ if(key == 'd'){
+ debug=!debug;
+ }
+
+ if (key=='j') {
fscale=1.0f;
}
- if (key=='/') {
+ if (key=='h') {
scale=1.0f;
}
@@ -567,7 +587,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);
@@ -583,30 +607,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(100.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;
}
- }
}