static int Py_source_init (Py_source * self, PyObject * args, PyObject * kwds) { self->o = new_aubio_source ( self->uri, self->samplerate, self->hop_size ); if (self->o == NULL) { char_t errstr[30 + strlen(self->uri)]; sprintf(errstr, "error creating source with %s", self->uri); PyErr_SetString (PyExc_Exception, errstr); return -1; } self->samplerate = aubio_source_get_samplerate ( self->o ); if (self->channels == 0) { self->channels = aubio_source_get_channels ( self->o ); } return 0; }
static int Py_source_init (Py_source * self, PyObject * args, PyObject * kwds) { self->o = new_aubio_source ( self->uri, self->samplerate, self->hop_size ); if (self->o == NULL) { // PyErr_Format(PyExc_RuntimeError, ...) was set above by new_ which called // AUBIO_ERR when failing return -1; } self->samplerate = aubio_source_get_samplerate ( self->o ); if (self->channels == 0) { self->channels = aubio_source_get_channels ( self->o ); } self->duration = aubio_source_get_duration ( self->o ); self->read_to = new_py_fvec(self->hop_size); self->mread_to = new_py_fmat(self->channels, self->hop_size); return 0; }
static PyObject * Pyaubio_source_get_channels (Py_source *self, PyObject *unused) { uint_t tmp = aubio_source_get_channels (self->o); return (PyObject *)PyLong_FromLong (tmp); }