From 03c7468fcc51888c8271b904e4d6400ed5c1cbb1 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Wed, 7 Mar 2007 13:40:14 +0000 Subject: multiply inlets for py (hot and cold inlets) small optimizations and fixes use PyGILState_\*() functionality (enabled with PY_USE_GIL) updates for DSP processing __str__ method for pyext, to enable print self calls added message bundle functionality (pyext.Bundle class) enable compiled-only scripts (without .py) enable optimization of Python code in reease build let _inlets and _outlets default to 0 fix for numpy some ASSERTs for explicitly created pyext classes (should be runtime checks i guess) open editor for script under OS X fixing numpy initialization quirks enable symbol binding for all callables (not only functions and methods) _isthreaded is now a data member instead of a method fix for gcc4 added pyext._list and pyext._tuple to convert input lists to Python sequence objects enable module packages (module/__init__.py[co]), now also for Max python-like dotted module.function syntax cleaned up float vs. int pyext tags compiler flag to exclude DSP objects some optimizations and py reload fix more safety for calls where association python-pd has already been removed always run Python interpreter in the background svn path=/trunk/; revision=7474 --- externals/grill/py/source/pybundle.h | 66 ++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'externals/grill/py/source/pybundle.h') diff --git a/externals/grill/py/source/pybundle.h b/externals/grill/py/source/pybundle.h index 5978cc38..1e840eb5 100644 --- a/externals/grill/py/source/pybundle.h +++ b/externals/grill/py/source/pybundle.h @@ -1,16 +1,16 @@ -/* - -py/pyext - python script object for PD and Max/MSP - -Copyright (c)2002-2005 Thomas Grill (gr@grrrr.org) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - -*/ - -#ifndef __PYBUNDLE_H -#define __PYBUNDLE_H - +/* + +py/pyext - python script object for PD and Max/MSP + +Copyright (c)2002-2005 Thomas Grill (gr@grrrr.org) +For information on usage and redistribution, and for a DISCLAIMER OF ALL +WARRANTIES, see the file, "license.txt," in this distribution. + +*/ + +#ifndef __PYBUNDLE_H +#define __PYBUNDLE_H + #include #if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500) @@ -33,28 +33,28 @@ WARRANTIES, see the file, "license.txt," in this distribution. #else #define PY_EXPORT #endif - -typedef struct { - PyObject_HEAD - /* Type-specific fields go here. */ - flext::MsgBundle *bundle; -} pyBundle; - -PY_EXPORT extern PyTypeObject pyBundle_Type; - + +typedef struct { + PyObject_HEAD + /* Type-specific fields go here. */ + flext::MsgBundle *bundle; +} pyBundle; + +PY_EXPORT extern PyTypeObject pyBundle_Type; + #define pyBundle_Check(op) PyObject_TypeCheck(op, &pyBundle_Type) #define pyBundle_CheckExact(op) ((op)->ob_type == &pyBundle_Type) -inline flext::MsgBundle *pyBundle_AS_BUNDLE(PyObject *op) -{ - return ((pyBundle *)op)->bundle; -} - -inline flext::MsgBundle *pyBundle_AsBundle(PyObject *op) -{ - return pyBundle_Check(op)?pyBundle_AS_BUNDLE(op):NULL; -} - +inline flext::MsgBundle *pyBundle_AS_BUNDLE(PyObject *op) +{ + return ((pyBundle *)op)->bundle; +} + +inline flext::MsgBundle *pyBundle_AsBundle(PyObject *op) +{ + return pyBundle_Check(op)?pyBundle_AS_BUNDLE(op):NULL; +} -#endif + +#endif -- cgit v1.2.1