diff options
| author | Tim Redfern <tim@eclectronics.org> | 2014-03-14 14:07:28 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2014-03-14 14:07:28 +0000 |
| commit | bcf4c0ac5428a1c3f331d66cf0c4a301d1f7a45f (patch) | |
| tree | ef4011c68ae756815aa47da218029801e9c56ec6 /offsetProject/src/buttonChecker.h | |
| parent | bb852cee91b52b71fccade7d4a1ef065eb0de2f0 (diff) | |
nearly ready
Diffstat (limited to 'offsetProject/src/buttonChecker.h')
| -rw-r--r-- | offsetProject/src/buttonChecker.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/offsetProject/src/buttonChecker.h b/offsetProject/src/buttonChecker.h new file mode 100644 index 0000000..2de14cb --- /dev/null +++ b/offsetProject/src/buttonChecker.h @@ -0,0 +1,72 @@ +#ifndef _BUTTON_CHECK +#define _BUTTON_CHECK + +#include "ofMain.h" +#include "ofURLFileLoader.h" + +long ofToLong(const string& intString); + +class buttonChecker : public ofThread{ + + public: + + float interval; //time between refreshes in seconds + std::string url; + long last; + float triggerTime; + bool active; + + buttonChecker(){ + url = "http://tycleeson.com/trigger.php"; + interval=0.05; + last=0; + triggerTime=0.0f; + active=false; + } + + void set_interval(float _interval){ + interval=_interval; + } + + void start(){ + startThread(true, false); // blocking, verbose + } + + void stop(){ + stopThread(); + } + + bool action(){ + if(active){ + active=false; + return true; + } + return false; + } + + + //-------------------------- + void threadedFunction(){ + + cout << "Api: " << url<<endl; + + while( isThreadRunning() != 0 ){ + + //cout<<"."<<std::flush; + + long result = ofToLong(ofLoadURL(url).data.getText()); + if (result>last){ + last=result; + active=true; + triggerTime=ofGetElapsedTimef(); + } + + + ofSleepMillis(interval * 1000); + } + } + + +}; + +#endif
\ No newline at end of file |
