From a81c8cdf7d52259f58ae5dd52c53deb01434351a Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Mon, 16 Jul 2012 18:52:30 -0600 Subject: [PATCH] py-filter.c: added set_biquad function --- interfaces/python/py-filter.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/interfaces/python/py-filter.c b/interfaces/python/py-filter.c index 3aa65332..003331b7 100644 --- a/interfaces/python/py-filter.c +++ b/interfaces/python/py-filter.c @@ -120,6 +120,24 @@ Py_filter_set_a_weighting (Py_filter * self, PyObject *args) return Py_None; } +static PyObject * +Py_filter_set_biquad(Py_filter * self, PyObject *args) +{ + uint_t err = 0; + lsmp_t b0, b1, b2, a1, a2; + if (!PyArg_ParseTuple (args, "ddddd", &b0, &b1, &b2, &a1, &a2)) { + return NULL; + } + + err = aubio_filter_set_biquad (self->o, b0, b1, b2, a1, a2); + if (err > 0) { + PyErr_SetString (PyExc_ValueError, + "error when setting filter with biquad coefficients"); + return NULL; + } + return Py_None; +} + static PyMemberDef Py_filter_members[] = { // TODO remove READONLY flag and define getter/setter {"order", T_INT, offsetof (Py_filter, order), READONLY, @@ -132,6 +150,8 @@ static PyMethodDef Py_filter_methods[] = { "set filter coefficients to C-weighting"}, {"set_a_weighting", (PyCFunction) Py_filter_set_a_weighting, METH_VARARGS, "set filter coefficients to A-weighting"}, + {"set_biquad", (PyCFunction) Py_filter_set_biquad, METH_VARARGS, + "set b0, b1, b2, a1, a2 biquad coefficients"}, {NULL} }; -- 2.26.2