From 7ed42bc033eacecf45affab4f811b1e9febb7950 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Mon, 19 Dec 2011 18:10:17 +0000 Subject: sliders working --- src/keyVar.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'src/keyVar.cpp') 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; +} -- cgit v1.2.3