diff options
Diffstat (limited to 'src/keyVar.cpp')
| -rw-r--r-- | src/keyVar.cpp | 24 |
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; +} |
