{
self->o = new_aubio_fft (self->win_s);
if (self->o == NULL) {
- char_t errstr[30];
- sprintf(errstr, "error creating fft with win_s=%d", self->win_s);
- PyErr_SetString (PyExc_Exception, errstr);
+ PyErr_Format(PyExc_RuntimeError,
+ "error creating fft with win_s=%d "
+ "(should be a power of 2 greater than 1; "
+ "try recompiling aubio with --enable-fftw3)",
+ self->win_s);
return -1;
}
{
Py_XDECREF(self->doout);
Py_XDECREF(self->rdoout);
- del_aubio_fft(self->o);
+ if (self->o) {
+ del_aubio_fft(self->o);
+ }
Py_TYPE(self)->tp_free((PyObject *) self);
}
if (self->vecin.length != self->win_s) {
PyErr_Format(PyExc_ValueError,
- "input array has length %d, but fft has size %d",
+ "input array has length %d, but fft expects length %d",
self->vecin.length, self->win_s);
return NULL;
}
if (self->cvecin.length != self->win_s / 2 + 1) {
PyErr_Format(PyExc_ValueError,
- "input array has length %d, but fft input has size %d",
- self->vecin.length, self->win_s / 2 + 1);
+ "input cvec has length %d, but fft expects length %d",
+ self->cvecin.length, self->win_s / 2 + 1);
return NULL;
}