ref: a81c8cdf7d52259f58ae5dd52c53deb01434351a
parent: 735977567f15abf97fe24c8439f75c9a3e1c7a12
author: Paul Brossier <piem@piem.org>
date: Mon Jul 16 14:52:30 EDT 2012
py-filter.c: added set_biquad function
--- a/interfaces/python/py-filter.c
+++ b/interfaces/python/py-filter.c
@@ -120,6 +120,24 @@
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 @@
"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}
};