From feeb907835c33ec49308a32449dc0b6d07285e2a Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Thu, 9 Jan 2003 04:37:24 +0000 Subject: "" svn path=/trunk/; revision=329 --- externals/grill/fftease/config-pd-darwin.txt | 3 +- externals/grill/fftease/makefile.pd-darwin | 5 +- externals/grill/fftease/pd/burrow.pd | 88 ++++++++++++++-------------- externals/grill/fftease/readme.txt | 13 ++-- externals/grill/fftease/src/burrow~.cpp | 6 +- externals/grill/fftease/src/convert_new.c | 5 +- externals/grill/fftease/src/cross~.cpp | 6 +- externals/grill/fftease/src/dentist~.cpp | 6 +- externals/grill/fftease/src/disarray~.cpp | 6 +- externals/grill/fftease/src/drown~.cpp | 6 +- externals/grill/fftease/src/ether~.cpp | 8 +-- externals/grill/fftease/src/fft.c | 2 +- externals/grill/fftease/src/pv.h | 13 ++-- 13 files changed, 89 insertions(+), 78 deletions(-) (limited to 'externals/grill/fftease') diff --git a/externals/grill/fftease/config-pd-darwin.txt b/externals/grill/fftease/config-pd-darwin.txt index a58d7008..3a60714a 100644 --- a/externals/grill/fftease/config-pd-darwin.txt +++ b/externals/grill/fftease/config-pd-darwin.txt @@ -8,7 +8,8 @@ # WARRANTIES, see the file, "license.txt," in this distribution. # -# your c++ compiler (define only if not g++) +# your c/c++ compilers (define only if not gcc/g++) +# C=gcc # CXX=g++ # where are the PD header files? diff --git a/externals/grill/fftease/makefile.pd-darwin b/externals/grill/fftease/makefile.pd-darwin index e175d277..16a94291 100644 --- a/externals/grill/fftease/makefile.pd-darwin +++ b/externals/grill/fftease/makefile.pd-darwin @@ -55,7 +55,10 @@ $(TARGDIR): $(TARGDIR)/%.o : $(DIR)/%.cpp $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES)) $< -o $@ -$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) $(FLEXTLIB) +$(TARGDIR)/%.co : $(DIR)/%.c + $(CC) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES)) $< -o $@ + +$(TARGET) : $(patsubst %.c,$(TARGDIR)/%.co,$(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS))) $(FLEXTLIB) $(CXX) $(LDFLAGS) $^ $(patsubst %,-L%,$(LIBPATH)) $(patsubst %,-l%,$(LIBS)) -o $@ chmod 755 $@ diff --git a/externals/grill/fftease/pd/burrow.pd b/externals/grill/fftease/pd/burrow.pd index cda92a9c..076e4225 100644 --- a/externals/grill/fftease/pd/burrow.pd +++ b/externals/grill/fftease/pd/burrow.pd @@ -1,44 +1,44 @@ -#N canvas 313 248 586 352 12; -#X msg 26 165 getattributes; -#X obj 292 233 print A; -#X obj 161 210 burrow~ -30 -18 0; -#X obj 26 82 tgl 20 1 empty empty enable_dsp 0 -6 0 10 -225271 -1 -1 -1 1; -#X msg 26 107 enable \$1; -#X obj 184 78 tgl 20 0 empty empty inverse_filtering 0 -6 0 10 -225271 --1 -1 0 1; -#X msg 184 102 invert \$1; -#X obj 373 78 nbx 5 18 -100 0 0 0 empty empty filtering_threshold(dB) -0 -6 0 10 -225271 -1 -1 -42 256; -#X msg 373 100 thresh \$1; -#X obj 374 145 nbx 5 18 -100 0 0 0 empty empty filter_multiplier(dB) -0 -6 0 10 -225271 -1 -1 -4 256; -#X msg 374 167 mult \$1; -#X obj 162 275 *~; -#X obj 198 280 hsl 128 15 0.001 1 1 1 empty empty volume -2 -6 0 10 --261681 -1 -1 11200 1; -#X obj 151 312 dac~; -#X obj 162 162 adc~ 1; -#X text 355 232 print attributes; -#X text 24 147 list attributes; -#X obj 292 162 adc~ 2; -#X obj 16 8 cnv 15 550 40 empty empty burrow~ 10 22 0 24 -260818 -1 -0; -#X text 202 9 FFTease (C)Lyon \, Penrose (for Max/MSP); -#X text 202 29 flext port by Thomas Grill; -#X connect 0 0 2 0; -#X connect 2 0 11 0; -#X connect 2 1 1 0; -#X connect 3 0 4 0; -#X connect 4 0 2 0; -#X connect 5 0 6 0; -#X connect 6 0 2 0; -#X connect 7 0 8 0; -#X connect 8 0 2 0; -#X connect 9 0 10 0; -#X connect 10 0 2 0; -#X connect 11 0 13 0; -#X connect 11 0 13 1; -#X connect 12 0 11 1; -#X connect 14 0 2 0; -#X connect 17 0 2 1; +#N canvas 398 240 590 356 12; +#X msg 17 161 getattributes; +#X obj 304 235 print A; +#X obj 161 210 burrow~ -30 -18 0; +#X obj 17 78 tgl 20 1 empty empty enable_dsp 0 -6 32 10 -225271 -1 +-1 0 1; +#X msg 17 103 enable \$1; +#X obj 184 78 tgl 20 0 empty empty inverse_filtering 0 -6 32 10 -225271 +-1 -1 0 1; +#X msg 184 102 invert \$1; +#X obj 373 78 nbx 5 18 -100 0 0 0 empty empty filtering_threshold(dB) +0 -6 32 10 -225271 -1 -1 -3 256; +#X msg 373 100 thresh \$1; +#X obj 374 145 nbx 5 18 -100 0 0 0 empty empty filter_multiplier(dB) +0 -6 32 10 -225271 -1 -1 0 256; +#X msg 374 167 mult \$1; +#X obj 162 275 *~; +#X obj 203 280 hsl 128 15 0.001 1 1 1 empty empty volume -2 -6 32 10 +-261681 -1 -1 0 1; +#X obj 151 312 dac~; +#X obj 162 162 adc~ 1; +#X text 303 254 print attributes; +#X text 15 143 list attributes; +#X obj 292 162 adc~ 2; +#X obj 16 8 cnv 15 550 40 empty empty burrow~ 10 22 32 24 -260818 -1 +0; +#X text 188 8 FFTease (C)Lyon \, Penrose (for Max/MSP); +#X text 188 28 flext port by Thomas Grill; +#X connect 0 0 2 0; +#X connect 2 0 11 0; +#X connect 2 1 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 7 0 8 0; +#X connect 8 0 2 0; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 13 0; +#X connect 11 0 13 1; +#X connect 12 0 11 1; +#X connect 14 0 2 0; +#X connect 17 0 2 1; diff --git a/externals/grill/fftease/readme.txt b/externals/grill/fftease/readme.txt index 3f2bda5b..fd701cce 100644 --- a/externals/grill/fftease/readme.txt +++ b/externals/grill/fftease/readme.txt @@ -14,7 +14,7 @@ The package should at least compile (and is tested) with the following compilers pd - Windows: ------------- -o Microsoft Visual C++ 6: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat" +OK o Microsoft Visual C++ 6: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat" o Borland C++ 5.5 (free): edit "config-pd-bcc.txt" & run "build-pd-bcc.bat" @@ -30,13 +30,13 @@ o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh" pd - MacOSX: ----------- -o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh" +OK o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh" additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-darwin Max/MSP - MacOS 9: ------------------ -o Metrowerks CodeWarrior V6: edit & use the "fftease.cw" project file +OK o Metrowerks CodeWarrior V6: edit & use the "fftease.cw" project file You must have the following "Source Trees" defined: "flext" - Pointing to the flext main directory @@ -46,7 +46,7 @@ You must have the following "Source Trees" defined: Max/MSP - MacOSX: ------------------ -o Metrowerks CodeWarrior V6: edit & use the "fftease.cw" project file +OK o Metrowerks CodeWarrior V6: edit & use the "fftease.cw" project file You must have the following "Source Trees" defined: "OS X Volume" - Pointing to your OSX boot drive @@ -59,15 +59,20 @@ You must have the following "Source Trees" defined: PORTING NOTES: +- pv-lib: + - gcc (OSX) complains about _cfft being defined by pv-lib and pd.... any problems with that? + - cross: - what about the class members for "correction"?! (superfluous) - dentist: - tooth count ("teeth") is preserved and checked on every reshuffle - different knee correction + - BUG: crash beim Einstellen von teeth - disarray: - different frequency correction + - TODO: check whether freq oder number of bins should be selectable - ether: - possibility to change qual? diff --git a/externals/grill/fftease/src/burrow~.cpp b/externals/grill/fftease/src/burrow~.cpp index aef5e7aa..d868cbb8 100644 --- a/externals/grill/fftease/src/burrow~.cpp +++ b/externals/grill/fftease/src/burrow~.cpp @@ -142,9 +142,9 @@ V burrow::Delete() -V burrow::m_dsp(I n,S *const *in,S *const *out) +V burrow::m_dsp(I n,S *const *,S *const *) { - const I _D = Blocksize(); + const I _D = n; if(_D != blsz) { blsz = _D; @@ -181,7 +181,7 @@ V burrow::m_signal(I n,S *const *in,S *const *out) { /* declare working variables */ I i, j; - const I _D = blsz,_N = _D*_MULT_,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; + const I _D = n,_N = _D*_MULT_,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; /* fill our retaining buffers */ _inCount += _D; diff --git a/externals/grill/fftease/src/convert_new.c b/externals/grill/fftease/src/convert_new.c index 5df717f8..5bf7e9a7 100644 --- a/externals/grill/fftease/src/convert_new.c +++ b/externals/grill/fftease/src/convert_new.c @@ -1,6 +1,7 @@ -#include "pv.h" // T.Grill +/* T.Grill */ +#include "pv.h" -// #include +/* #include */ #include diff --git a/externals/grill/fftease/src/cross~.cpp b/externals/grill/fftease/src/cross~.cpp index 52874127..0eb19c02 100644 --- a/externals/grill/fftease/src/cross~.cpp +++ b/externals/grill/fftease/src/cross~.cpp @@ -115,9 +115,9 @@ V cross::Delete() -V cross::m_dsp(I n,S *const *in,S *const *out) +V cross::m_dsp(I n,S *const *,S *const *) { - const I _D = Blocksize(); + const I _D = n; const F _R = Samplerate(); if(_D != blsz || _R != smprt) { @@ -169,7 +169,7 @@ V cross::m_signal(I n,S *const *in,S *const *out) { /* declare working variables */ I i, j; - const I _D = blsz,_N = _D*_MULT_,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; + const I _D = n,_N = _D*_MULT_,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; _inCount += _D; diff --git a/externals/grill/fftease/src/dentist~.cpp b/externals/grill/fftease/src/dentist~.cpp index 8c9a0379..808796bd 100644 --- a/externals/grill/fftease/src/dentist~.cpp +++ b/externals/grill/fftease/src/dentist~.cpp @@ -166,9 +166,9 @@ V dentist::ms_knee(F f) } -V dentist::m_dsp(I n,S *const *in,S *const *out) +V dentist::m_dsp(I n,S *const *,S *const *) { - const I _D = Blocksize(); + const I _D = n; const F _R = Samplerate(); if(_D != blsz || _R != smprt) { blsz = _D; @@ -216,7 +216,7 @@ V dentist::m_signal(I n,S *const *in,S *const *out) { /* declare working variables */ I i, j; - const I _D = blsz,_N = _D*_MULT_,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; + const I _D = n,_N = _D*_MULT_,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; _inCount += _D; diff --git a/externals/grill/fftease/src/disarray~.cpp b/externals/grill/fftease/src/disarray~.cpp index 428fe2d6..7ddc4333 100644 --- a/externals/grill/fftease/src/disarray~.cpp +++ b/externals/grill/fftease/src/disarray~.cpp @@ -169,9 +169,9 @@ V disarray::ms_freq(F f) } -V disarray::m_dsp(I n,S *const *in,S *const *out) +V disarray::m_dsp(I n,S *const *,S *const *) { - const I _D = Blocksize(); + const I _D = n; const F _R = Samplerate(); if(_D != blsz || _R != smprt) { @@ -226,7 +226,7 @@ V disarray::m_signal(I n,S *const *in,S *const *out) { /* declare working variables */ I i, j; - const I _D = blsz,_N = _D*_nmult,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; + const I _D = n,_N = _D*_nmult,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; _inCount += _D; diff --git a/externals/grill/fftease/src/drown~.cpp b/externals/grill/fftease/src/drown~.cpp index 0e4ee4a8..7db3f4f0 100644 --- a/externals/grill/fftease/src/drown~.cpp +++ b/externals/grill/fftease/src/drown~.cpp @@ -113,9 +113,9 @@ V drown::Delete() } -V drown::m_dsp(I n,S *const *in,S *const *out) +V drown::m_dsp(I n,S *const *,S *const *) { - const I _D = Blocksize(); + const I _D = n; const F _R = Samplerate(); if(_D != blsz || _R != smprt) { @@ -184,7 +184,7 @@ V drown::m_signal(I n,S *const *in,S *const *out) { /* declare working variables */ I i, j; - const I _D = blsz,_N = _D*_nmult,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; + const I _D = n,_N = _D*_nmult,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; _inCount += _D; diff --git a/externals/grill/fftease/src/ether~.cpp b/externals/grill/fftease/src/ether~.cpp index 16fbaaff..12a0d359 100644 --- a/externals/grill/fftease/src/ether~.cpp +++ b/externals/grill/fftease/src/ether~.cpp @@ -61,7 +61,7 @@ FLEXT_LIB_DSP_V("fftease, ether~",ether) V ether::setup(t_classid c) { FLEXT_CADDATTR_VAR1(c,"invert",_invert); - FLEXT_CADDATTR_VAR1(c,"thresh",_threshMult); + FLEXT_CADDATTR_VAR1(c,"index",_threshMult); } @@ -131,9 +131,9 @@ V ether::Delete() } -V ether::m_dsp(I n,S *const *in,S *const *out) +V ether::m_dsp(I n,S *const *,S *const *) { - const I _D = Blocksize(); + const I _D = n; const F _R = Samplerate(); if(_D != blsz || _R != smprt) { @@ -177,7 +177,7 @@ V ether::m_signal(I n,S *const *in,S *const *out) { /* declare working variables */ I i, j; - const I _D = blsz,_N = _D*_nmult,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; + const I _D = n,_N = _D*_nmult,_Nw = _N,_N2 = _N/2,_Nw2 = _Nw/2; _inCount += _D; diff --git a/externals/grill/fftease/src/fft.c b/externals/grill/fftease/src/fft.c index f920e231..11c5da6d 100644 --- a/externals/grill/fftease/src/fft.c +++ b/externals/grill/fftease/src/fft.c @@ -1,7 +1,7 @@ #include "pv.h" -//float TWOPI; +/* float TWOPI; */ /* If forward is true, rfft replaces 2*N real data points in x with N complex values representing the positive frequency half of their diff --git a/externals/grill/fftease/src/pv.h b/externals/grill/fftease/src/pv.h index b945e72e..32f94543 100644 --- a/externals/grill/fftease/src/pv.h +++ b/externals/grill/fftease/src/pv.h @@ -8,10 +8,11 @@ #include -// ------------------------------------- -// modifications by Thomas Grill +/* ------------------------------------- + modifications by Thomas Grill +*/ -//#include +/* #include */ #include #ifdef _MSC_VER @@ -24,7 +25,7 @@ extern "C" { #endif -// ------------------------------------- +/* ------------------------------------- */ #define FORWARD 1 @@ -50,11 +51,11 @@ void convert(float *S, float *C, int N2, float *lastphase, float fundamental, f void unconvert(float *C, float *S, int N2, float *lastphase, float fundamental, float factor ); -// ------------------------------------- +/* ------------------------------------- */ #ifdef __cplusplus } #endif -// ------------------------------------- +/* ------------------------------------- */ -- cgit v1.2.1