diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2009-04-01 21:13:09 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2009-04-01 21:13:09 +0000 |
commit | 0ed7a8b68dd73e2b0473b8127aeca99f3bac9061 (patch) | |
tree | 5c67818b38a5cc2f9caa5ca7f8640ca356adf02b /externals/grill/fftease/src/burrow~.cpp | |
parent | bb4c7f6a245394d09dac9adfb2efb093d3d98452 (diff) |
cleaned up grill externals - replaced with svn:externals to svn.grrrr.org/ext/trunk/
svn path=/trunk/; revision=10951
Diffstat (limited to 'externals/grill/fftease/src/burrow~.cpp')
-rw-r--r-- | externals/grill/fftease/src/burrow~.cpp | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/externals/grill/fftease/src/burrow~.cpp b/externals/grill/fftease/src/burrow~.cpp deleted file mode 100644 index 01564618..00000000 --- a/externals/grill/fftease/src/burrow~.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - -FFTease - A set of Live Spectral Processors -Originally written by Eric Lyon and Christopher Penrose for the Max/MSP platform - -Copyright (c)Thomas Grill (xovo@gmx.net) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -#include "main.h" - - -class burrow: - public fftease -{ - FLEXT_HEADER_S(burrow,fftease,setup) - -public: - burrow(I argc,const t_atom *argv); - -protected: - - virtual V Transform(I _N2,S *const *in); - - BL _invert; - - F _threshold,_multiplier; - F _thresh_dB,_mult_dB; - -private: - V ms_thresh(F v) { _threshold = FromdB(_thresh_dB = v); } - V ms_mult(F v) { _multiplier = FromdB(_mult_dB = v); } - - - static V setup(t_classid c); - - FLEXT_ATTRGET_F(_thresh_dB) - FLEXT_CALLSET_F(ms_thresh) - FLEXT_ATTRGET_F(_mult_dB) - FLEXT_CALLSET_F(ms_mult) - FLEXT_ATTRVAR_B(_invert) -}; - -FLEXT_LIB_DSP_V("burrow~",burrow) - - -V burrow::setup(t_classid c) -{ - FLEXT_CADDATTR_VAR(c,"thresh",_thresh_dB,ms_thresh); - FLEXT_CADDATTR_VAR(c,"mult",_mult_dB,ms_mult); - FLEXT_CADDATTR_VAR1(c,"invert",_invert); -} - - -burrow::burrow(I argc,const t_atom *argv): - fftease(4,F_STEREO|F_BALANCED|F_BITSHUFFLE|F_NOPH2), - _invert(false), - _thresh_dB(-30),_mult_dB(-18) -{ - /* parse and set object's options given */ - if(argc >= 1) { - if(CanbeFloat(argv[0])) - _thresh_dB = GetAFloat(argv[0]); - else - post("%s - Threshold must be a float value - set to %0f",thisName(),_thresh_dB); - } - if(argc >= 2) { - if(CanbeFloat(argv[1])) - _mult_dB = GetAFloat(argv[1]); - else - post("%s - Multiplier must be a float value - set to %0f",thisName(),_mult_dB); - } - if(argc >= 3) { - if(CanbeBool(argv[2])) - _invert = GetABool(argv[2]); - else - post("%s - Invert flag must be a boolean value - set to %i",thisName(),_invert?1:0); - } - - ms_thresh(_thresh_dB); - ms_mult(_mult_dB); - - AddInSignal("Messages and input signal"); - AddInSignal("Reference signal"); - AddOutSignal("Transformed signal"); -} - - -V burrow::Transform(I _N,S *const *) -{ - register const F thr = _threshold,mul = _multiplier; - - // use simple threshold from second signal to trigger filtering - // transform does not need phase of signal 2 - - if(_invert) - for (I i = 0; i <= _N; i += 2) - if(_channel2[i] < thr) _channel1[i] *= mul; - else - for (I i = 0; i <= _N; i += 2) - if(_channel2[i] > thr) _channel1[i] *= mul; -} - - - |