From: Paul Brossier Date: Fri, 25 Dec 2009 03:40:41 +0000 (+0100) Subject: py-fft.c: use new proxy functions X-Git-Tag: 0.4.0-beta1~498 X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=965b3023a875aec9ec21765aa7bf71ffd2e9fb17;p=aubio.git py-fft.c: use new proxy functions --- diff --git a/interfaces/python/py-fft.c b/interfaces/python/py-fft.c index 20e8fe57..19d7b49b 100644 --- a/interfaces/python/py-fft.c +++ b/interfaces/python/py-fft.c @@ -49,28 +49,24 @@ static PyObject * Py_fft_do(PyObject * self, PyObject * args) { PyObject *input; - Py_fvec *vec; - Py_cvec *output; + fvec_t *vec; + cvec_t *output; if (!PyArg_ParseTuple (args, "O", &input)) { return NULL; } - vec = PyAubio_ArrayToFvec (input); + vec = PyAubio_ArrayToCFvec (input); if (vec == NULL) { return NULL; } - output = (Py_cvec*) PyObject_New (Py_cvec, &Py_cvecType); - output->length = ((Py_fft *) self)->win_s; - output->o = new_cvec(((Py_fft *) self)->win_s); + output = new_cvec(((Py_fft *) self)->win_s); // compute the function - aubio_fft_do (((Py_fft *)self)->o, vec->o, output->o); - Py_INCREF(output); - return (PyObject *)output; - //return (PyObject *)PyAubio_CvecToArray(output); + aubio_fft_do (((Py_fft *)self)->o, vec, output); + return (PyObject *)PyAubio_CCvecToPyCvec(output); } AUBIO_MEMBERS_START(fft) @@ -79,29 +75,27 @@ AUBIO_MEMBERS_START(fft) AUBIO_MEMBERS_STOP(fft) static PyObject * -Py_fft_rdo(PyObject * self, PyObject * args) +Py_fft_rdo(Py_fft * self, PyObject * args) { PyObject *input; - Py_cvec *vec; - Py_fvec *output; + cvec_t *vec; + fvec_t *output; if (!PyArg_ParseTuple (args, "O", &input)) { return NULL; } - vec = PyAubio_ArrayToCvec (input); + vec = PyAubio_ArrayToCCvec (input); if (vec == NULL) { return NULL; } - output = (Py_fvec*) PyObject_New (Py_fvec, &Py_fvecType); - output->length = ((Py_fft *) self)->win_s; - output->o = new_fvec(output->length); + output = new_fvec(self->win_s); // compute the function - aubio_fft_rdo (((Py_fft *)self)->o, vec->o, output->o); - return (PyObject *)PyAubio_FvecToArray(output); + aubio_fft_rdo (((Py_fft *)self)->o, vec, output); + return (PyObject *)PyAubio_CFvecToArray(output); } static PyMethodDef Py_fft_methods[] = {