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