summaryrefslogtreecommitdiff
path: root/src/keyVar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/keyVar.cpp')
-rw-r--r--src/keyVar.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/keyVar.cpp b/src/keyVar.cpp
index ca64b7f..ea8b9ff 100644
--- a/src/keyVar.cpp
+++ b/src/keyVar.cpp
@@ -1,10 +1,11 @@
/*
* keyvar.cpp
-
- generalised cushioned keyboard controller
+
+ generalised cushioned keyboard controller
*/
#include "keyVar.h"
+#define DEBUG 0
void keyVar::set(char _keyInc,char _keyDec,float _val,float _speed,float _accel,float _accelTime){
keyInc=_keyInc;
@@ -15,33 +16,38 @@ void keyVar::set(char _keyInc,char _keyDec,float _val,float _speed,float _accel,
accelTime=_accelTime;
state=0;
timePressed=timeCalc=0;
+
}
void keyVar::keyPressed(char _key){
//need to deal with key repeat: OSX anyway
if (_key==keyInc&&state!=1) {
state=1;
timePressed=timeCalc=ofGetElapsedTimef();
- printf("pressed %i\n",_key);
+ if (DEBUG) printf("pressed %i\n",_key);
}
if (_key==keyDec&&state!=-1) {
state=-1;
timePressed=timeCalc=ofGetElapsedTimef();
- printf("pressed %i\n",_key);
+ if (DEBUG) printf("pressed %i\n",_key);
}
}
void keyVar::keyReleased(char _key){
if (_key==keyInc&&state==1) {
state=0;
- printf("released %i\n",_key);
+ if (DEBUG) printf("released %i\n",_key);
}
if (_key==keyDec&&state==-1) {
state=0;
- printf("released %i\n",_key);
+ if (DEBUG) printf("released %i\n",_key);
}
}
float keyVar::getVal(){
- float segment = min(1.0f,(ofGetElapsedTimef()-timePressed)/accelTime);
- if (state) val+=pow(segment,accel)*(ofGetElapsedTimef()-timeCalc)*speed*state;
+ float segment = min(1.0f,(ofGetElapsedTimef()-timePressed)/accelTime);
+ if (state) val+=pow(segment,accel)*speed*state; //(ofGetElapsedTimef()-timeCalc)*
timeCalc=ofGetElapsedTimef();
return val;
-} \ No newline at end of file
+}
+float keyVar::getInc(){
+ float segment = min(1.0f,(ofGetElapsedTimef()-timePressed)/accelTime);
+ return pow(segment,accel)*speed*state;
+}