aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/fftease/src/morphine~.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-01-18 04:35:33 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-01-18 04:35:33 +0000
commit9ff5ccdea43ff2a954c1a400516dc6858e188e9c (patch)
tree6098867a573275a38bf000a382752bf115af0765 /externals/grill/fftease/src/morphine~.cpp
parent478eeca99ee6f5bad3063700fbcc9d8913c770ae (diff)
""
svn path=/trunk/; revision=344
Diffstat (limited to 'externals/grill/fftease/src/morphine~.cpp')
-rw-r--r--externals/grill/fftease/src/morphine~.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/externals/grill/fftease/src/morphine~.cpp b/externals/grill/fftease/src/morphine~.cpp
index 1febe853..14ba0971 100644
--- a/externals/grill/fftease/src/morphine~.cpp
+++ b/externals/grill/fftease/src/morphine~.cpp
@@ -51,7 +51,7 @@ V morphine::setup(t_classid c)
morphine::morphine(I argc,const t_atom *argv):
- fftease(4,F_STEREO|F_WINDOW|F_BITSHUFFLE|F_CONVERT),
+ fftease(4,F_STEREO|F_BALANCED|F_BITSHUFFLE|F_CONVERT),
_index(1)
{
/* parse and set object's options given */
@@ -83,8 +83,7 @@ V morphine::Set()
{
fftease::Set();
- const I _N2 = Blocksize()*Mult()/2;
- _picks = new pickme[_N2+1];
+ _picks = new pickme[get_N()/2+1];
}
I morphine::sortpicks( const void *a, const void *b )
@@ -106,12 +105,12 @@ V morphine::Transform(I _N2,S *const *in)
// sort our differences in ascending order
qsort( _picks, _N2+1, sizeof(pickme), sortpicks );
- const I morphindex = _index*(_N2+1)+.5;
+ const I morphindex2 = (I)(_index*(_N2+1)+.5)*2;
+
// choose the bins that are least different first
- for ( i=0; i <= morphindex; i++ ) {
- const I even = _picks[i].bin*2,odd = even + 1;
- _channel1[even] = _channel2[even];
- _channel1[odd] = _channel2[odd];
+ for (i=0; i <= morphindex2; i += 2) {
+ _channel1[i] = _channel2[i];
+ _channel1[i+1] = _channel2[i+1];
}
}