From: Paul Brossier Date: Tue, 19 Jan 2016 15:48:41 +0000 (+0100) Subject: example_aubioDemo/: use beat listeners X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=1e8d50fc0cd733e93370de0ea3de8bd0d17c73d8;p=ofxAubio.git example_aubioDemo/: use beat listeners --- diff --git a/example_aubioDemo/src/ofApp.cpp b/example_aubioDemo/src/ofApp.cpp index fbbf270..d381608 100644 --- a/example_aubioDemo/src/ofApp.cpp +++ b/example_aubioDemo/src/ofApp.cpp @@ -25,6 +25,8 @@ void ofApp::setup(){ // setup beat object beat.setup(); //beat.setup("default", 2 * bufferSize, bufferSize, samplerate); + // listen to beat event + ofAddListener(beat.gotBeat, this, &ofApp::beatEvent); // setup mel bands object bands.setup(); @@ -40,7 +42,6 @@ void ofApp::setup(){ start += 250; onsetGui.setup("ofxAubioOnset", "settings.xml", start + 10, 10); - onsetGui.add(gotOnset.setup( "onset", 0, 0, 250)); onsetGui.add(onsetThreshold.setup( "threshold", 0, 0, 2)); onsetGui.add(onsetNovelty.setup( "onset novelty", 0, 0, 10000)); onsetGui.add(onsetThresholdedNovelty.setup( "thr. novelty", 0, -1000, 1000)); @@ -85,16 +86,17 @@ void ofApp::update(){ //-------------------------------------------------------------- void ofApp::draw(){ // update beat info - if (beat.received()) { + if (gotBeat) { ofSetColor(ofColor::green); ofRect(90,150,50,50); + gotBeat = false; } // update onset info if (gotOnset) { ofSetColor(ofColor::red); ofRect(250 + 90,150,50,50); - gotOnset = 0; + gotOnset = false; } onsetNovelty = onset.novelty; onsetThresholdedNovelty = onset.thresholdedNovelty; @@ -167,5 +169,11 @@ void ofApp::dragEvent(ofDragInfo dragInfo){ //---- void ofApp::onsetEvent(float & time) { ofLog() << "got onset at " << time << " s"; - gotOnset = 1; + gotOnset = true; +} + +//---- +void ofApp::beatEvent(float & time) { + ofLog() << "got beat at " << time << " s"; + gotBeat = true; } diff --git a/example_aubioDemo/src/ofApp.h b/example_aubioDemo/src/ofApp.h index a907971..cb68c48 100644 --- a/example_aubioDemo/src/ofApp.h +++ b/example_aubioDemo/src/ofApp.h @@ -27,6 +27,7 @@ class ofApp : public ofBaseApp{ void audioOut(); void onsetEvent(float & time); + void beatEvent(float & time); private: ofxAubioOnset onset; @@ -39,10 +40,11 @@ class ofApp : public ofBaseApp{ ofxFloatSlider pitchConfidence; ofxPanel beatGui; + bool gotBeat; ofxFloatSlider bpm; ofxPanel onsetGui; - ofxFloatSlider gotOnset; + bool gotOnset; ofxFloatSlider onsetThreshold; ofxFloatSlider onsetNovelty; ofxFloatSlider onsetThresholdedNovelty;