source: python/ext/aubio-types.h @ 93d2418

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5
Last change on this file since 93d2418 was 410a157, checked in by Paul Brossier <piem@piem.org>, 8 years ago

python/ext/aubio-types.h: define PATH_MAX if needed

  • Property mode set to 100644
File size: 2.0 KB
RevLine 
[ff74460]1#include <Python.h>
[ae6e15c]2#include <structmember.h>
[7a6521d]3
[a89ed31]4#include "aubio-generated.h"
5
[b0fbd88]6#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
[7a6521d]7
8// define numpy unique symbols for aubio
9#define PY_ARRAY_UNIQUE_SYMBOL PYAUBIO_ARRAY_API
10#define PY_UFUNC_UNIQUE_SYMBOL PYAUBIO_UFUNC_API
11
12// only import array and ufunc from main module
13#ifndef PY_AUBIO_MODULE_MAIN
14#define NO_IMPORT_ARRAY
[ad5203c]15#endif
16#include <numpy/arrayobject.h>
17#ifndef PY_AUBIO_MODULE_UFUNC
[7a6521d]18#define NO_IMPORT_UFUNC
[ad5203c]19#else
20#include <numpy/ufuncobject.h>
[7a6521d]21#endif
22
[ad5203c]23//#include <numpy/npy_3kcompat.h>
[7a6521d]24
[a315be7]25// import aubio
[7db3477]26#define AUBIO_UNSTABLE 1
[223e2fe]27#ifdef USE_LOCAL_AUBIO
[ad5203c]28#include "aubio.h"
[41399bd]29#else
[911bea80]30#include <aubio/aubio.h>
[41399bd]31#endif
[ae6e15c]32
[96fe713]33#define Py_default_vector_length 1024
[9b23eb31]34
[2f9af5d]35#define Py_aubio_default_samplerate 44100
[352fd5f]36
[615ac7d]37#if HAVE_AUBIO_DOUBLE
[e99242a]38// 64 bit precision with HAVE_AUBIO_DOUBLE=1
[615ac7d]39#define AUBIO_NPY_SMPL NPY_DOUBLE
[c6388f4]40#define AUBIO_NPY_SMPL_STR "float64"
41#define AUBIO_NPY_SMPL_CHR "d"
[352fd5f]42#else
[e99242a]43// default is 32 bit precision
[615ac7d]44#define AUBIO_NPY_SMPL NPY_FLOAT
[c6388f4]45#define AUBIO_NPY_SMPL_STR "float32"
46#define AUBIO_NPY_SMPL_CHR "f"
[352fd5f]47#endif
48
[410a157]49#ifndef PATH_MAX
50#ifdef MAX_PATH
51#define PATH_MAX MAX_PATH
52#else
53#define PATH_MAX 1024
54#endif
55#endif
56
[770b9e7]57// compat with Python < 2.6
58#ifndef Py_TYPE
59#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
60#endif
61
[b6230d8]62extern PyTypeObject Py_cvecType;
[9b23eb31]63
[ede5d38]64PyObject * new_py_fvec(uint_t length);
65PyObject * new_py_cvec(uint_t length);
66PyObject * new_py_fmat(uint_t height, uint_t length);
67
[03c3450]68// defined in aubio-proxy.c
[b6230d8]69extern int PyAubio_IsValidVector (PyObject *input);
[34d0c25]70
[b6230d8]71extern PyObject *PyAubio_CFvecToArray (fvec_t * self);
72extern int PyAubio_ArrayToCFvec (PyObject * self, fvec_t *out);
[03c3450]73
[b6230d8]74extern int PyAubio_PyCvecToCCvec (PyObject *input, cvec_t *i);
[03c3450]75
[b6230d8]76extern PyObject *PyAubio_CFmatToArray (fmat_t * self);
77extern int PyAubio_ArrayToCFmat (PyObject *input, fmat_t *out);
[03c3450]78
79// hand written wrappers
[b6230d8]80extern PyTypeObject Py_filterType;
[9b23eb31]81
[b6230d8]82extern PyTypeObject Py_filterbankType;
[352fd5f]83
[b6230d8]84extern PyTypeObject Py_fftType;
[615ac7d]85
[b6230d8]86extern PyTypeObject Py_pvocType;
[03c3450]87
[b6230d8]88extern PyTypeObject Py_sourceType;
[d27634d]89
[b6230d8]90extern PyTypeObject Py_sinkType;
Note: See TracBrowser for help on using the repository browser.