Py_filter_del (Py_filter * self)
{
Py_XDECREF(self->out);
- del_aubio_filter (self->o);
+ if (self->o)
+ del_aubio_filter (self->o);
Py_TYPE(self)->tp_free ((PyObject *) self);
}
err = aubio_filter_set_c_weighting (self->o, samplerate);
if (err > 0) {
- PyErr_SetString (PyExc_ValueError,
- "error when setting filter to C-weighting");
+ if (PyErr_Occurred() == NULL) {
+ PyErr_SetString (PyExc_ValueError,
+ "error when setting filter to C-weighting");
+ }
return NULL;
}
Py_RETURN_NONE;
err = aubio_filter_set_a_weighting (self->o, samplerate);
if (err > 0) {
- PyErr_SetString (PyExc_ValueError,
- "error when setting filter to A-weighting");
+ if (PyErr_Occurred() == NULL) {
+ PyErr_SetString (PyExc_ValueError,
+ "error when setting filter to A-weighting");
+ }
return NULL;
}
Py_RETURN_NONE;
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");
+ if (PyErr_Occurred() == NULL) {
+ PyErr_SetString (PyExc_ValueError,
+ "error when setting filter with biquad coefficients");
+ }
return NULL;
}
Py_RETURN_NONE;