summaryrefslogtreecommitdiff
path: root/liveengine/src/testApp.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2012-09-21 17:02:21 +0100
committerTim Redfern <tim@eclectronics.org>2012-09-21 17:02:21 +0100
commitd1a44d34955133815d2c322b600a79cceecf5a95 (patch)
tree8f952884350d4fccc5143f8e53718277e4c1ceeb /liveengine/src/testApp.cpp
parent530bf6501e6f13ed3e91d4d0e2763613146774a2 (diff)
beginning gui
Diffstat (limited to 'liveengine/src/testApp.cpp')
-rwxr-xr-xliveengine/src/testApp.cpp123
1 files changed, 82 insertions, 41 deletions
diff --git a/liveengine/src/testApp.cpp b/liveengine/src/testApp.cpp
index 07c34e4..7053421 100755
--- a/liveengine/src/testApp.cpp
+++ b/liveengine/src/testApp.cpp
@@ -12,6 +12,19 @@ void previewWindow::draw(){
}
//--------------------------------------------------------------
+guiWindow::~guiWindow(){
+ cout << "gui window destroyed" << endl;
+}
+void guiWindow::setup(){}
+void guiWindow::setGui(ofxPanel *panel){
+ gui=panel;
+}
+void guiWindow::draw(){
+
+ gui->draw();
+
+}
+//--------------------------------------------------------------
void testApp::setup(){
int midiPort=0;
midiChannel=0;
@@ -39,13 +52,15 @@ void testApp::setup(){
note=0;
makeColours();
+
+ colShift=0;
controlColours=false;
debug=false;
noteRandomiseColours=false;
transparentBlack=false;
reversemain=false;
-
+
vp1.setup(768,1024,1024,0,-90,-256,-384);
vp2.setup(1024,768,0,0,0,-512,-384);
@@ -78,8 +93,8 @@ void testApp::setup(){
fscale=1.0f;
- //window stuff
- ofxFenster* win=ofxFensterManager::get()->createFenster(0, 0, 600, 800, OF_WINDOW);
+ //preview window stuff
+ win=ofxFensterManager::get()->createFenster(0, 0, 600, 800, OF_WINDOW);
ofAddListener(win->events.mouseDragged, this, &testApp::mousePressedEvent);
ofAddListener(win->events.mousePressed, this, &testApp::mousePressedEvent);
ofAddListener(win->events.keyPressed, this, &testApp::keyPressedEvent);
@@ -89,12 +104,42 @@ void testApp::setup(){
prevWin.setBuffer(&vp1.rb2);
fullscreenoutput=false;
+
+ gui.setup("","panel.xml",0,0);
+ gui.add(reversemain.setup("reverse main", false));
+ gui.add(controlColours.setup("control colours", false));
+ gui.add(noteRandomiseColours.setup("randomise note colours", false));
+ gui.add(transparentBlack.setup("transparent black", false));
+ gui.add(resetDrawscale.setup("reset draw scale"));
+ gui.add(resetFBscale.setup("reset FB scale"));
+
+ resetDrawscale.addListener(this,&testApp::resetDrawscalePressed);
+ resetFBscale.addListener(this,&testApp::resetFBscalePressed);
+
+ //gui window stuff
+ ofxFenster* win2=ofxFensterManager::get()->createFenster(0, 0, 200, 400, OF_WINDOW);
+ //ofAddListener(win2->events.mouseDragged, this, &testApp::mousePressedEvent);
+ //ofAddListener(win2->events.mousePressed, this, &testApp::mousePressedEvent);
+ //ofAddListener(win2->events.keyPressed, this, &testApp::keyPressedEvent);
+ win2->setWindowTitle("config");
+ win2->addListener(&guiWin);
+ guiWin.setup();
+ guiWin.setGui(&gui);
+
}
+void testApp::resetDrawscalePressed(bool & pressed){
+ scale=1.0f;
+}
+void testApp::resetFBscalePressed(bool & pressed){
+ fscale=1.0f;
+}
+
void testApp::makeColours() {
controller_colours=new ofColor[NUM_CONTROLLERS];
for (int i=0;i<NUM_CONTROLLERS;i++) controller_colours[i]=ofColor::fromHsb(ofRandom(255), 255, 255);
+ colShift=ofRandom(255.0f);
}
//--------------------------------------------------------------
void testApp::update(){
@@ -103,14 +148,14 @@ void testApp::update(){
//--------------------------------------------------------------
void testApp::draw(){
-
+
float lambda=max(0.0f,1.0f-((ofGetElapsedTimef()-lastnoteTime)/decayTime));
-
+
ofSetColor(255-fadetime,255-fadetime,255-fadetime); //for feedback
- vp1.draw(lambda,controllers,xshift,yshift,list,transparentBlack,note,mode,controller_colours,controlColours,scale,fscale);
- 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);
-
+ 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);
+
ofSetColor(255,255,255);
if (showFPS) ofDrawBitmapString(ofToString(ofGetFrameRate(), 2),20,20);
@@ -133,7 +178,7 @@ void testApp::draw(){
float notewidth=rb1.getWidth()/NUM_NOTES;
float noteheight=rb1.getHeight()/NUM_CONTROLLERS;
-
+
if (note>0) {
switch(mode) {
@@ -173,7 +218,7 @@ void testApp::draw(){
rb2.end();
rb2.draw(1024,0);
-
+
rb3.begin(); //landscape
@@ -187,7 +232,7 @@ void testApp::draw(){
notewidth=rb3.getHeight()/NUM_NOTES;
noteheight=rb3.getWidth()/NUM_CONTROLLERS;
-
+
ofPushMatrix();
ofTranslate(rb3.getWidth(),rb3.getHeight()/2);
ofRotate(90);
@@ -218,7 +263,7 @@ void testApp::draw(){
break;
}
}
-
+
ofPopMatrix();
//for (int i=0;i<numLayers;i++) layers[i]->draw();
@@ -233,9 +278,9 @@ void testApp::draw(){
rb4.end();
rb4.draw(0,0);
-
+
*/
-
+
/* test screen shape
ofSetColor(255,0,0);
ofRect(0,0,1024,768);
@@ -282,6 +327,9 @@ void testApp::keyPressed(int key){
if(key == 't'){
list.load("reptiles.xml");
}
+ if(key == 'T'){
+ list.load("tools.xml");
+ }
if(key == 'y'){
list.load("miltary_ladies.xml");
}
@@ -291,6 +339,9 @@ void testApp::keyPressed(int key){
if(key == 'u'){
list.load("knights.xml");
}
+ if(key == 'U'){
+ list.load("food.xml");
+ }
if(key == 'i'){
list.load("mil_historic.xml");
}
@@ -300,6 +351,9 @@ void testApp::keyPressed(int key){
if(key == 'o'){
list.load("yoga.xml");
}
+ if(key == 'O'){
+ list.load("computers.xml");
+ }
if(key == 'p'){
list.load("dancing.xml");
}
@@ -317,24 +371,20 @@ void testApp::keyPressed(int key){
mode=key-'0';
}
if(key == 267){
- yshift++;
+ xshift--;
}
if(key == 268){
- yshift--;
+ xshift++;
}
if(key == 269){
- xshift--;
+ yshift--;
}
if(key == 270){
- xshift++;
+ yshift++;
}
if(key == '='){
makeColours();
}
- if(key == '-'){
- controlColours=!controlColours;
- printf("%s control colours\n",controlColours?"do":"don't");
- }
if(key == '+'){
fadetime=min(128,fadetime+1);
}
@@ -358,25 +408,14 @@ void testApp::keyPressed(int key){
if(key == 'd'){
debug=!debug;
}
- if(key == 'l'){
- noteRandomiseColours=!noteRandomiseColours;
- printf("%s randomise colours\n",noteRandomiseColours?"do":"don't");
- }
- if (key=='k') {
- transparentBlack=!transparentBlack;
- printf("%s transparent black\n",transparentBlack?"use":"don't use");
- }
+
if (key=='j') {
fscale=1.0f;
}
if (key=='h') {
scale=1.0f;
}
- if (key=='h') {
- reversemain=!reversemain;
- printf("%s main screen\n",reversemain?"reversing":"not reversing");
- }
-
+
}
//--------------------------------------------------------------
@@ -418,18 +457,18 @@ void testApp::dragEvent(ofDragInfo dragInfo){
}
void testApp::mousePressedEvent(ofMouseEventArgs &args) {
- //printf("mouse: %i,%i %i of %ix%i\n",args.x,args.y,args.button,ofGetWidth(),ofGetHeight());
+ //printf("mouse: %i,%i %i of %ix%i\n",args.x,args.y,args.button,win->getWidth(),win->getHeight());
//0-2
switch (args.button) {
case 0:
- xshift=args.x-(ofGetWidth()/2);
- yshift=args.y-(ofGetHeight()/2);
+ xshift=args.x-(win->getWidth()/2);
+ yshift=args.y-(win->getHeight()/2);
break;
case 1:
- scale=pow(pow(args.x-(ofGetWidth()/2),2)+pow(args.y-(ofGetHeight()/2),2),0.5)/(ofGetWidth()*.1);
+ scale=pow(pow(args.x-(win->getWidth()/2),2)+pow(args.y-(win->getHeight()/2),2),0.5)/(win->getWidth()*.1);
break;
case 2:
- fscale=(pow(pow(args.x-(ofGetWidth()/2),2)+pow(args.y-(ofGetHeight()/2),2),0.5)/(ofGetWidth()))+0.5;
+ fscale=(pow(pow(args.x-(win->getWidth()/2),2)+pow(args.y-(win->getHeight()/2),2),0.5)/(win->getWidth()))+0.5;
break;
}
}
@@ -472,7 +511,9 @@ void testApp::newMidiMessage(ofxMidiEventArgs& eventArgs){
if (debug) printf("note: %i %i\n",eventArgs.byteOne,eventArgs.byteTwo);
note=eventArgs.byteOne;
lastnoteTime=ofGetElapsedTimef();
- if (noteRandomiseColours) makeColours();
+ if (noteRandomiseColours) {
+ makeColours(); //
+ }
break;
case 176: //control change channel 0
//for (int i=0;i<numLayers;i++){