source: python/ext/aubio-types.h @ ad5203c

feature/autosinkfeature/constantqfeature/pitchshiftfeature/pydocstringsfeature/timestretchpitchshiftsamplertimestretchyinfft+
Last change on this file since ad5203c was ad5203c, checked in by Paul Brossier <piem@piem.org>, 7 years ago

python/: improve build

  • Property mode set to 100644
File size: 1.5 KB
Line 
1#include "Python.h"
2#include <structmember.h>
3
4//#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
5
6// define numpy unique symbols for aubio
7#define PY_ARRAY_UNIQUE_SYMBOL PYAUBIO_ARRAY_API
8#define PY_UFUNC_UNIQUE_SYMBOL PYAUBIO_UFUNC_API
9
10// only import array and ufunc from main module
11#ifndef PY_AUBIO_MODULE_MAIN
12#define NO_IMPORT_ARRAY
13#endif
14#include <numpy/arrayobject.h>
15#ifndef PY_AUBIO_MODULE_UFUNC
16#define NO_IMPORT_UFUNC
17#else
18#include <numpy/ufuncobject.h>
19#endif
20
21// import aubio
22//#include <numpy/npy_3kcompat.h>
23
24#define AUBIO_UNSTABLE 1
25#include "aubio.h"
26
27#define Py_default_vector_length 1024
28
29#define Py_aubio_default_samplerate 44100
30
31#if HAVE_AUBIO_DOUBLE
32#error "Ouch! Python interface for aubio has not been much tested yet."
33#define AUBIO_NPY_SMPL NPY_DOUBLE
34#else
35#define AUBIO_NPY_SMPL NPY_FLOAT
36#endif
37
38// special python type for cvec
39typedef struct
40{
41  PyObject_HEAD
42  cvec_t * o;
43  uint_t length;
44  uint_t channels;
45} Py_cvec;
46extern PyTypeObject Py_cvecType;
47
48// defined in aubio-proxy.c
49extern PyObject *PyAubio_CFvecToArray (fvec_t * self);
50extern fvec_t *PyAubio_ArrayToCFvec (PyObject * self);
51
52extern Py_cvec *PyAubio_CCvecToPyCvec (cvec_t * self);
53extern cvec_t *PyAubio_ArrayToCCvec (PyObject *input);
54
55extern PyObject *PyAubio_CFmatToArray (fmat_t * self);
56extern fmat_t *PyAubio_ArrayToCFmat (PyObject *input);
57
58// hand written wrappers
59extern PyTypeObject Py_filterType;
60
61extern PyTypeObject Py_filterbankType;
62
63extern PyTypeObject Py_fftType;
64
65extern PyTypeObject Py_pvocType;
66
Note: See TracBrowser for help on using the repository browser.