blob: edcde15553cd14de9adabad67354ed7afa4620f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#ifndef _BUTTON_CHECK
#define _BUTTON_CHECK
#include "ofMain.h"
#include "ofURLFileLoader.h"
long toLong(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 = toLong(ofLoadURL(url).data.getText());
if (result>last){
last=result;
active=true;
triggerTime=ofGetElapsedTimef();
}
ofSleepMillis(interval * 1000);
}
}
};
#endif
|