source: interfaces/python/aubio-types.h @ aea235c

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since aea235c was d6f9b3a, checked in by Paul Brossier <piem@piem.org>, 15 years ago

py-fvec.c: add PyAubio_CFvecToArray

  • Property mode set to 100644
File size: 1.3 KB
Line 
1#include <Python.h>
2#include <structmember.h>
3#define NO_IMPORT_ARRAY
4#include <numpy/arrayobject.h>
5#define AUBIO_UNSTABLE 1
6#include <aubio.h>
7
8#define Py_default_vector_length   1024
9#define Py_default_vector_channels 1
10
11#define Py_aubio_default_samplerate 44100
12
13#if HAVE_AUBIO_DOUBLE
14#error "Ouch! Python interface for aubio has not been much tested yet."
15#define AUBIO_NPY_SMPL NPY_DOUBLE
16#else
17#define AUBIO_NPY_SMPL NPY_FLOAT
18#endif
19
20/**
21
22Defining this constant to 1 will allow PyAubio_CastToFvec to convert from data
23types different than NPY_FLOAT to and fvec, and therefore creating a copy of
24it.
25
26*/
27#define AUBIO_DO_CASTING 0
28
29typedef struct
30{
31  PyObject_HEAD
32  fvec_t * o;
33  uint_t length;
34  uint_t channels;
35} Py_fvec;
36extern PyTypeObject Py_fvecType;
37extern PyObject *PyAubio_FvecToArray (Py_fvec * self);
38extern PyObject *PyAubio_CFvecToArray (fvec_t * self);
39extern Py_fvec *PyAubio_ArrayToFvec (PyObject * self);
40
41typedef struct
42{
43  PyObject_HEAD
44  cvec_t * o;
45  uint_t length;
46  uint_t channels;
47} Py_cvec;
48extern PyTypeObject Py_cvecType;
49extern PyObject *PyAubio_CvecToArray (Py_cvec * self);
50extern Py_cvec *PyAubio_ArrayToCvec (PyObject * self);
51
52extern PyTypeObject Py_filterType;
53
54extern PyTypeObject Py_filterbankType;
55
56extern PyTypeObject Py_fftType;
57
58extern PyTypeObject Py_pvocType;
Note: See TracBrowser for help on using the repository browser.