Ignore:
Timestamp:
Apr 29, 2016, 11:48:39 PM (8 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
Children:
e84f7b9
Parents:
b055b4e
Message:

python/lib/gen_code.py: switch to using PyObjects? instead of fvec, cvec, fmat

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/ext/py-filter.c

    rb055b4e r21e8408  
    77  uint_t order;
    88  fvec_t vec;
    9   fvec_t *out;
     9  PyObject *out;
     10  fvec_t c_out;
    1011} Py_filter;
    1112
     
    5051    return -1;
    5152  }
    52   self->out = new_fvec(Py_default_vector_length);
     53  self->out = NULL;
    5354  return 0;
    5455}
     
    5758Py_filter_del (Py_filter * self)
    5859{
    59   del_fvec(self->out);
     60  Py_XDECREF(self->out);
    6061  del_aubio_filter (self->o);
    6162  Py_TYPE(self)->tp_free ((PyObject *) self);
    6263}
    6364
    64 static PyObject * 
     65static PyObject *
    6566Py_filter_do(Py_filter * self, PyObject * args)
    6667{
     
    7980  }
    8081
    81   // reallocate the output if needed
    82   if (self->vec.length != self->out->length) {
    83     del_fvec(self->out);
    84     self->out = new_fvec(self->vec.length);
     82  // initialize output now
     83  if (self->out == NULL) {
     84    self->out = new_py_fvec(self->vec.length);
     85  }
     86
     87  Py_INCREF(self->out);
     88  if (!PyAubio_ArrayToCFvec(self->out, &(self->c_out)) ) {
     89    return NULL;
    8590  }
    8691  // compute the function
    87   aubio_filter_do_outplace (self->o, &(self->vec), self->out);
    88   return PyAubio_CFvecToArray(self->out);
    89 }
    90 
    91 static PyObject * 
     92  aubio_filter_do_outplace (self->o, &(self->vec), &(self->c_out));
     93  return self->out;
     94}
     95
     96static PyObject *
    9297Py_filter_set_c_weighting (Py_filter * self, PyObject *args)
    9398{
     
    107112}
    108113
    109 static PyObject * 
     114static PyObject *
    110115Py_filter_set_a_weighting (Py_filter * self, PyObject *args)
    111116{
Note: See TracChangeset for help on using the changeset viewer.