diff options
-rw-r--r-- | configure.in | 11 | ||||
-rw-r--r-- | examples/puredata/simple-test.pd | 11 | ||||
-rw-r--r-- | examples/puredata/spectrum-512-test.pd | 8 | ||||
-rw-r--r-- | swig/python/test.py | 19 | ||||
-rw-r--r-- | swig/python/xtract.i | 12 | ||||
-rw-r--r-- | swig/xtract.i | 9 |
6 files changed, 51 insertions, 19 deletions
diff --git a/configure.in b/configure.in index bf3703a..ddc9fc9 100644 --- a/configure.in +++ b/configure.in @@ -162,11 +162,6 @@ AC_ARG_ENABLE(swig, esac],[swig=false]) -dnl SWIG stuff -if [[ "$swig" = "true" ]] ; then - AC_PROG_SWIG(1.3.21) - AC_DEFINE([BUILD_SWIG], [1], [Build the swig bindings]) -fi if [[ "$with_java" = "true" ]] ; then if test "$JAVAC" = "" @@ -194,6 +189,12 @@ fi AM_CONDITIONAL(BUILD_SWIG, test "x${swig}" = 'xtrue') +dnl SWIG stuff +if [[ "$swig" = "true" ]] ; then + AC_PROG_SWIG(1.3.21) + AC_DEFINE([BUILD_SWIG], [1], [Build the swig bindings]) +fi + dnl Are we building with fftw? if [[ "$fft" = "true" ]] ; then LDFLAGS="$LDFLAGS -lfftw3f" diff --git a/examples/puredata/simple-test.pd b/examples/puredata/simple-test.pd new file mode 100644 index 0000000..f9bd79c --- /dev/null +++ b/examples/puredata/simple-test.pd @@ -0,0 +1,11 @@ +#N canvas 642 248 670 289 10; +#X obj 192 63 osc~ 440; +#X floatatom 194 187 10 0 0 0 - - -; +#X obj 194 150 xtract~ spectral_mean; +#X obj 193 94 *~ 0.3; +#X text 337 121 Optional second argument gives blocksize; +#X obj 193 121 xtract~ spectrum 64; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 5 0 2 0; diff --git a/examples/puredata/spectrum-512-test.pd b/examples/puredata/spectrum-512-test.pd new file mode 100644 index 0000000..fe22e23 --- /dev/null +++ b/examples/puredata/spectrum-512-test.pd @@ -0,0 +1,8 @@ +#N canvas 5 48 450 300 10; +#X obj 127 77 noise~; +#X obj 262 59 loadbang; +#X msg 262 86 list 86.1328; +#X obj 127 112 xtract~ spectrum 64; +#X connect 0 0 3 0; +#X connect 1 0 2 0; +#X connect 2 0 3 1; diff --git a/swig/python/test.py b/swig/python/test.py index 4d994ac..f7297f8 100644 --- a/swig/python/test.py +++ b/swig/python/test.py @@ -3,11 +3,11 @@ try: import xtract except ImportError: - print 'Failed to load the library "jxtract"' + print 'Failed to load the library "xtract"' print '\nRunning libxtract Python bindings test...\n' -len = 5 +len = 8 a = xtract.floatArray(len) temp = [] @@ -19,4 +19,19 @@ for i in range(0, len): print 'The mean of ' + ', '.join(temp) + ' is: %.2f' % \ xtract.xtract_mean(a,len,None)[1] +print 'Computing spectrum...' + +argv = xtract.floatArray(1) +argv[0] = 44100.0 / len # Fake sample rate + +xtract.xtract_init_fft(len, xtract.XTRACT_SPECTRUM); + +result = xtract.floatArray(len) + +xtract.xtract_spectrum(a,len,argv, result) + + +for i in range(len): + print result[i] + print '\nFinished!\n' diff --git a/swig/python/xtract.i b/swig/python/xtract.i deleted file mode 100644 index b363f2e..0000000 --- a/swig/python/xtract.i +++ /dev/null @@ -1,12 +0,0 @@ -%module xtract -%include carrays.i -%include typemaps.i - -%{ -#include "xtract/xtract_scalar.h" -%} - -%array_functions(float, floatArray); -%apply float *OUTPUT { float *result }; - -%include "xtract/xtract_scalar.h" diff --git a/swig/xtract.i b/swig/xtract.i index 58c9f18..a39a484 100644 --- a/swig/xtract.i +++ b/swig/xtract.i @@ -4,10 +4,19 @@ %{ #include "xtract/xtract_scalar.h" +#include "xtract/xtract_vector.h" +#include "xtract/libxtract.h" %} %array_class(float, floatArray); %apply float *OUTPUT { float *result }; /* %apply float *INPUT { float *data }; */ +%ignore xtract; + %include "xtract/xtract_scalar.h" + +%clear float *result; + +%include "xtract/xtract_vector.h" +%include "xtract/libxtract.h" |