fazekasgy@37: /* fazekasgy@37: fazekasgy@37: * Vampy : This plugin is a wrapper around the Vamp plugin API. fazekasgy@37: * It allows for writing Vamp plugins in Python. fazekasgy@37: fazekasgy@37: * Centre for Digital Music, Queen Mary University of London. fazekasgy@37: * Copyright (C) 2008-2009 Gyorgy Fazekas, QMUL. (See Vamp sources fazekasgy@37: * for licence information.) fazekasgy@37: fazekasgy@37: */ fazekasgy@37: fazekasgy@37: #ifndef _PYREALTIME_H_ fazekasgy@37: #define _PYREALTIME_H_ fazekasgy@37: fazekasgy@37: #include "vamp-sdk/Plugin.h" fazekasgy@37: fazekasgy@37: typedef struct { fazekasgy@37: PyObject_HEAD fazekasgy@37: Vamp::RealTime *rt; fazekasgy@37: } RealTimeObject; fazekasgy@37: fazekasgy@37: PyAPI_DATA(PyTypeObject) RealTime_Type; fazekasgy@37: fazekasgy@37: #define PyRealTime_CheckExact(v) ((v)->ob_type == &RealTime_Type) fazekasgy@37: #define PyRealTime_Check(v) PyObject_TypeCheck(v, &RealTime_Type) fazekasgy@37: ///fast macro version as per API convention fazekasgy@37: #define PyRealTime_AS_REALTIME(v) ((const RealTimeObject* const) (v))->rt fazekasgy@37: fazekasgy@37: /* PyRealTime C++ API */ fazekasgy@37: fazekasgy@37: fazekasgy@37: PyAPI_FUNC(PyObject *) fazekasgy@37: PyRealTime_FromRealTime(Vamp::RealTime&); fazekasgy@37: fazekasgy@37: PyAPI_FUNC(const Vamp::RealTime*) fazekasgy@37: PyRealTime_AsRealTime (PyObject *self); fazekasgy@37: fazekasgy@37: fazekasgy@37: #endif