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 _PYOUTPUTDESCRIPTOR_H_ fazekasgy@37: #define _PYOUTPUTDESCRIPTOR_H_ fazekasgy@37: fazekasgy@37: #include "vamp-sdk/Plugin.h" fazekasgy@37: fazekasgy@37: typedef struct { fazekasgy@37: PyObject_HEAD fazekasgy@37: PyObject *dict; fazekasgy@37: } OutputDescriptorObject; fazekasgy@37: fazekasgy@37: PyAPI_DATA(PyTypeObject) OutputDescriptor_Type; fazekasgy@37: fazekasgy@37: #define PyOutputDescriptor_CheckExact(v) ((v)->ob_type == &OutputDescriptor_Type) fazekasgy@37: #define PyOutputDescriptor_Check(v) PyObject_TypeCheck(v, &OutputDescriptor_Type) fazekasgy@37: fazekasgy@37: /* PyOutputDescriptor C++ API */ fazekasgy@37: fazekasgy@37: fazekasgy@37: ///fast macro version as per API convention fazekasgy@37: #define PyOutputDescriptor_AS_DICT(v) ((const OutputDescriptorObject* const) (v))->dict fazekasgy@37: fazekasgy@37: #endif