summaryrefslogtreecommitdiff
path: root/src/testApp.cpp
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-05-29 00:28:36 +0100
committerComment <tim@gray.(none)>2013-05-29 00:28:36 +0100
commitd6a8d1d93c6b5abd8b69985f182667c2994f13fd (patch)
tree726990fc4662c39df67e09a73a62e9a4d6210a02 /src/testApp.cpp
parent4aa44a0b9159300c24db4786a3cf2e4198f168f1 (diff)
nearly ready
Diffstat (limited to 'src/testApp.cpp')
-rwxr-xr-xsrc/testApp.cpp128
1 files changed, 96 insertions, 32 deletions
diff --git a/src/testApp.cpp b/src/testApp.cpp
index c7bf35a..967d2d1 100755
--- a/src/testApp.cpp
+++ b/src/testApp.cpp
@@ -8,10 +8,11 @@ void previewWindow::setParent(testApp *p){
}
void previewWindow::draw(){
- for (auto i:parent->viewports) i.draw(parent->brightSlider);
+ for (auto i:parent->viewports) i.draw(parent->brightSlider,parent->previewscale);
}
void previewWindow::dragEvent(ofDragInfo dragInfo, ofxFenster* win){
+
parent->dragEvent(dragInfo);
}
//--------------------------------------------------------------
@@ -28,43 +29,57 @@ void guiWindow::draw(){
}
void guiWindow::dragEvent(ofDragInfo dragInfo, ofxFenster* win){
+ int sta=dragInfo.files[0].find_last_of("\\/")+1;
+ int len=(dragInfo.files[0].find_last_of(".")+4)-sta;
+ string filename=dragInfo.files[0].substr(sta,len);
+
+ if (filename.length()) {
+ palette p;
+ if (p.load(filename)) {
+ printf("loaded %s\n",filename.c_str());
+ for (int i=0;i<parent->viewports.size();i++) {
+ parent->viewports[i].Palette=p;
+ }
+ }
+ else printf("could not load %s\n",filename.c_str());
+ }
parent->dragEvent(dragInfo);
}
//--------------------------------------------------------------
void testApp::create1port(bool & pressed){
if (!pressed) return;
viewports.clear();
- viewports.push_back(viewport(4*windowsize,2*windowsize,0,0));
+ viewports.push_back(viewport(4*windowsize,2*windowsize,0,0,0));
createports(1);
}
void testApp::create2port(bool & pressed){
if (!pressed) return;
viewports.clear();
- viewports.push_back(viewport(2*windowsize,2*windowsize,0,0));
- viewports.push_back(viewport(2*windowsize,2*windowsize,2*windowsize,0));
+ viewports.push_back(viewport(2*windowsize,2*windowsize,0,0,0));
+ viewports.push_back(viewport(2*windowsize,2*windowsize,2*windowsize,0,1));
createports(2);
}
void testApp::create4port(bool & pressed){
if (!pressed) return;
viewports.clear();
- viewports.push_back(viewport(windowsize,2*windowsize,0,0));
- viewports.push_back(viewport(windowsize,2*windowsize,windowsize,0));
- viewports.push_back(viewport(windowsize,2*windowsize,2*windowsize,0));
- viewports.push_back(viewport(windowsize,2*windowsize,3*windowsize,0));
+ viewports.push_back(viewport(windowsize,2*windowsize,0,0,0));
+ viewports.push_back(viewport(windowsize,2*windowsize,windowsize,0,1));
+ viewports.push_back(viewport(windowsize,2*windowsize,2*windowsize,0,2));
+ viewports.push_back(viewport(windowsize,2*windowsize,3*windowsize,0,3));
createports(4);
}
void testApp::create8port(bool & pressed){
if (!pressed) return;
viewports.clear();
- viewports.push_back(viewport(windowsize,windowsize,0,0));
- viewports.push_back(viewport(windowsize,windowsize,(1*windowsize),0));
- viewports.push_back(viewport(windowsize,windowsize,(2*windowsize),0));
- viewports.push_back(viewport(windowsize,windowsize,(3*windowsize),0));
- viewports.push_back(viewport(windowsize,windowsize,0,windowsize));
- viewports.push_back(viewport(windowsize,windowsize,(1*windowsize),windowsize));
- viewports.push_back(viewport(windowsize,windowsize,(2*windowsize),windowsize));
- viewports.push_back(viewport(windowsize,windowsize,(3*windowsize),windowsize));
+ viewports.push_back(viewport(windowsize,windowsize,0,0,0));
+ viewports.push_back(viewport(windowsize,windowsize,(1*windowsize),0,1));
+ viewports.push_back(viewport(windowsize,windowsize,(2*windowsize),0,2));
+ viewports.push_back(viewport(windowsize,windowsize,(3*windowsize),0,3));
+ viewports.push_back(viewport(windowsize,windowsize,0,windowsize,4));
+ viewports.push_back(viewport(windowsize,windowsize,(1*windowsize),windowsize,5));
+ viewports.push_back(viewport(windowsize,windowsize,(2*windowsize),windowsize,6));
+ viewports.push_back(viewport(windowsize,windowsize,(3*windowsize),windowsize,7));
createports(8);
}
void testApp::createports(int num){
@@ -73,8 +88,8 @@ void testApp::createports(int num){
//--------------------------------------------------------------
void testApp::setup(){
- windowsize=100;
-
+ windowsize=32;
+ previewscale=5;
showFPS=false;
ofBackground(0,0,0);
@@ -83,7 +98,7 @@ void testApp::setup(){
//preview window stuff
prevWin=new previewWindow();
- win=ofxFensterManager::get()->createFenster(0, 0, windowsize*4, windowsize*2, OF_WINDOW);
+ win=ofxFensterManager::get()->createFenster(0, 0, windowsize*4*previewscale, windowsize*2*previewscale, OF_WINDOW);
ofAddListener(win->events.keyPressed, this, &testApp::keyPressedEvent);
win->setWindowTitle("preview");
win->addListener(prevWin);
@@ -107,10 +122,13 @@ void testApp::setup(){
gui.add(create_8.setup("8"));
create_8.addListener(this,&testApp::create8port);
- gui.add(fillgrey.setup("fill grey", false));
- greyFreq=1.0f;
- gui.add(gF.setup("grey freq",greyFreq,0,2.0,255));
+ gui.add(fill.setup("fill", false));
+ slidFreq=1.0f;
+ gui.add(sF.setup("freq",slidFreq,0,1.0,255));
+ gui.add(wave.setup("wave", false));
+ slidThickness=1.0f;
+ gui.add(sT.setup("thickness",slidThickness,0,10.0,255));
/*
gui.setup("","panel.xml",0,0);
@@ -145,23 +163,66 @@ void testApp::setup(){
guiWin->setup();
guiWin->setParent(this);
+
+ soundStream.listDevices();
+
+ //if you want to set a different device id
+ //soundStream.setDeviceID(0); //bear in mind the device id corresponds to all audio devices, including input-only and output-only devices.
+
+
+
+
+ soundStream.setup(this, 0, 2, 44100, bufferSize, 4);
}
+//--------------------------------------------------------------
+void testApp::audioIn(float * input, int bufferSize, int nChannels){
+
+ float curVol = 0.0;
+
+ // samples are "interleaved"
+ int numCounted = 0;
+
+ //lets go through each sample and calculate the root mean square which is a rough way to calculate volume
+ for (int i = 0; i < bufferSize; i++){
+ control.left[i] = input[i*2]*0.5;
+ control.right[i] = input[i*2+1]*0.5;
+
+ curVol += control.left[i] * control.left[i];
+ curVol += control.right[i] * control.right[i];
+ numCounted+=2;
+ }
+
+ //this is how we get the mean of rms :)
+ curVol /= (float)numCounted;
+
+ // this is how we get the root of rms :)
+ curVol = sqrt( curVol );
+
+ control.smoothedVol *= 0.93;
+ control.smoothedVol += 0.07 * curVol;
+
+ control.bufferCounter++;
+
+}
+
//--------------------------------------------------------------
void testApp::update(){
- //for (int i=0;i<numLayers;i++) layers[i]->update();
+ control.update();
+ control.fill=fill;
+ control.freq=slidFreq;
+ control.wave=wave;
+ control.thickness=slidThickness;
}
//--------------------------------------------------------------
void testApp::draw(){
- control.fillgrey=fillgrey;
- control.fillgreyfreq=greyFreq;
for (auto i:viewports) i.drawport(control);
@@ -189,6 +250,12 @@ void testApp::keyPressed(int key){
if(key == 'f'){
toggleFPS();
}
+ if(key == OF_KEY_UP){
+ control.yshift--;
+ }
+ if(key == OF_KEY_DOWN){
+ control.yshift++;
+ }
}
@@ -227,19 +294,16 @@ void testApp::gotMessage(ofMessage msg){
//--------------------------------------------------------------
void testApp::dragEvent(ofDragInfo dragInfo, ofxFenster* win){
+
+
dragEvent(dragInfo);
}
void testApp::dragEvent(ofDragInfo dragInfo){
- printf("got draginfo: %s\n",dragInfo.files[0].c_str());
- int sta=dragInfo.files[0].find_last_of("\\/")+1;
- int len=(dragInfo.files[0].find_last_of(".")+4)-sta;
- string filename=dragInfo.files[0].substr(sta,len);
- printf("loading %s\n",filename.c_str());
-
- if (filename.length()) control.loadpalette(filename);
+
}
+
void testApp::mousePressedEvent(ofMouseEventArgs &args) {
//printf("mouse: %i,%i %i of %ix%i\n",args.x,args.y,args.button,win->getWidth(),win->getHeight());
//0-2