aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Kiefer <chrisk13fer@gmail.com>2012-03-14 11:36:50 +0000
committerChris Kiefer <chrisk13fer@gmail.com>2012-03-14 11:36:50 +0000
commitf82385459b7dd3915bebebf3e6daff87df811069 (patch)
tree53fedf5c897c5710909eff0c092a8adb863eec59
parentdcdea1838e6f2c0b3011f89d3d7fb41c8e43eb05 (diff)
Fixed sample looping
-rw-r--r--ofxMaxim/ofxMaxim/libs/maximilian.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/ofxMaxim/ofxMaxim/libs/maximilian.cpp b/ofxMaxim/ofxMaxim/libs/maximilian.cpp
index a6420b2..c0e08f1 100644
--- a/ofxMaxim/ofxMaxim/libs/maximilian.cpp
+++ b/ofxMaxim/ofxMaxim/libs/maximilian.cpp
@@ -433,15 +433,11 @@ bool maxiSample::read()
double maxiSample::play() {
- // long length=myDataSize*(1./myChannels);
- double remainder;
short* buffer = (short *)myData;
- position=(position+1);
- remainder = position - (long) position;
- if ((long) position>length) position=0;
- output =
- (double) ((1-remainder) * buffer[1+ (long) position] + remainder * buffer[2+(long) position])/32767;//linear interpolation
- return(output);
+ position++;
+ if ((long) position == length) position=0;
+ output = (double) buffer[(long)position]/32767.0;
+ return output;
}
double maxiSample::playOnce() {