aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/py/source
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2002-12-28 04:37:42 +0000
committerThomas Grill <xovo@users.sourceforge.net>2002-12-28 04:37:42 +0000
commit562dcc336797951b2a8707413aa44177484c9f2a (patch)
tree162adc736d99b6edf4c03e50061831006ac0f5c4 /externals/grill/py/source
parent7b0d76e0a6c7b58f6a7a373755c46bde52ebea79 (diff)
""
svn path=/trunk/; revision=309
Diffstat (limited to 'externals/grill/py/source')
-rw-r--r--externals/grill/py/source/main.h2
-rw-r--r--externals/grill/py/source/py.cpp38
-rw-r--r--externals/grill/py/source/pyext.cpp22
-rw-r--r--externals/grill/py/source/pyext.h4
4 files changed, 35 insertions, 31 deletions
diff --git a/externals/grill/py/source/main.h b/externals/grill/py/source/main.h
index eaa9f7b6..721a1d43 100644
--- a/externals/grill/py/source/main.h
+++ b/externals/grill/py/source/main.h
@@ -22,7 +22,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#error You need at least flext version 0.4.1
#endif
-#define PY__VERSION "0.1.1"
+#define PY__VERSION "0.1.2pre"
#define PYEXT_MODULE "pyext" // name for module
diff --git a/externals/grill/py/source/py.cpp b/externals/grill/py/source/py.cpp
index f6127716..00f1f992 100644
--- a/externals/grill/py/source/py.cpp
+++ b/externals/grill/py/source/py.cpp
@@ -14,7 +14,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
class pyobj:
public py
{
- FLEXT_HEADER(pyobj,py)
+ FLEXT_HEADER_S(pyobj,py,Setup)
public:
pyobj(I argc,const t_atom *argv);
@@ -50,6 +50,7 @@ protected:
V ResetFunction();
private:
+ static void Setup(t_class *c);
FLEXT_CALLBACK(m_bang)
FLEXT_CALLBACK(m_reload)
@@ -72,6 +73,25 @@ private:
FLEXT_LIB_V("py",pyobj)
+void pyobj::Setup(t_class *c)
+{
+ FLEXT_CADDBANG(c,0,m_bang);
+ FLEXT_CADDMETHOD_(c,0,"reload",m_reload_);
+ FLEXT_CADDMETHOD_(c,0,"reload.",m_reload);
+ FLEXT_CADDMETHOD_(c,0,"set",m_set);
+ FLEXT_CADDMETHOD_(c,0,"doc",m_doc);
+ FLEXT_CADDMETHOD_(c,0,"doc+",m_doc_);
+#ifdef FLEXT_THREADS
+ FLEXT_CADDMETHOD_(c,0,"detach",m_detach);
+ FLEXT_CADDMETHOD_(c,0,"stop",m_stop);
+#endif
+
+ FLEXT_CADDMETHOD_(c,1,"float",m_py_float);
+ FLEXT_CADDMETHOD_(c,1,"int",m_py_int);
+ FLEXT_CADDMETHOD(c,1,m_py_list);
+ FLEXT_CADDMETHOD(c,1,m_py_any);
+}
+
pyobj::pyobj(I argc,const t_atom *argv):
function(NULL),funname(NULL)
{
@@ -80,22 +100,6 @@ pyobj::pyobj(I argc,const t_atom *argv):
AddInAnything(2);
AddOutAnything();
- FLEXT_ADDBANG(0,m_bang);
- FLEXT_ADDMETHOD_(0,"reload",m_reload_);
- FLEXT_ADDMETHOD_(0,"reload.",m_reload);
- FLEXT_ADDMETHOD_(0,"set",m_set);
- FLEXT_ADDMETHOD_(0,"doc",m_doc);
- FLEXT_ADDMETHOD_(0,"doc+",m_doc_);
-#ifdef FLEXT_THREADS
- FLEXT_ADDMETHOD_(0,"detach",m_detach);
- FLEXT_ADDMETHOD_(0,"stop",m_stop);
-#endif
-
- FLEXT_ADDMETHOD_(1,"float",m_py_float);
- FLEXT_ADDMETHOD_(1,"int",m_py_int);
- FLEXT_ADDMETHOD(1,m_py_list);
- FLEXT_ADDMETHOD(1,m_py_any);
-
if(argc > 2)
SetArgs(argc-2,argv+2);
else
diff --git a/externals/grill/py/source/pyext.cpp b/externals/grill/py/source/pyext.cpp
index 8bff5913..958f1882 100644
--- a/externals/grill/py/source/pyext.cpp
+++ b/externals/grill/py/source/pyext.cpp
@@ -14,12 +14,22 @@ WARRANTIES, see the file, "license.txt," in this distribution.
FLEXT_LIB_V("pyext",pyext)
-V pyext::setup(t_class *)
+V pyext::Setup(t_class *c)
{
px_head = px_tail = NULL;
px_class = class_new(gensym("pyext proxy"),NULL,NULL,sizeof(py_proxy),CLASS_PD|CLASS_NOINLET, A_NULL);
::add_anything(px_class,py_proxy::px_method); // for other inlets
+
+ FLEXT_CADDMETHOD_(c,0,"reload.",m_reload);
+ FLEXT_CADDMETHOD_(c,0,"reload",m_reload_);
+ FLEXT_CADDMETHOD_(c,0,"doc",m_doc);
+ FLEXT_CADDMETHOD_(c,0,"doc+",m_doc_);
+
+#ifdef FLEXT_THREADS
+ FLEXT_CADDMETHOD_(c,0,"detach",m_detach);
+ FLEXT_CADDMETHOD_(c,0,"stop",m_stop);
+#endif
}
pyext *pyext::GetThis(PyObject *self)
@@ -165,16 +175,6 @@ pyext::pyext(I argc,const t_atom *argv):
AddInAnything(1+inlets);
AddOutAnything(outlets);
- FLEXT_ADDMETHOD_(0,"reload.",m_reload);
- FLEXT_ADDMETHOD_(0,"reload",m_reload_);
- FLEXT_ADDMETHOD_(0,"doc",m_doc);
- FLEXT_ADDMETHOD_(0,"doc+",m_doc_);
-
-#ifdef FLEXT_THREADS
- FLEXT_ADDMETHOD_(0,"detach",m_detach);
- FLEXT_ADDMETHOD_(0,"stop",m_stop);
-#endif
-
if(!pyobj)
InitProblem();
}
diff --git a/externals/grill/py/source/pyext.h b/externals/grill/py/source/pyext.h
index d804d825..4d35e0a4 100644
--- a/externals/grill/py/source/pyext.h
+++ b/externals/grill/py/source/pyext.h
@@ -16,7 +16,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
class pyext:
public py
{
- FLEXT_HEADER_S(pyext,py,setup)
+ FLEXT_HEADER_S(pyext,py,Setup)
public:
pyext(I argc,const t_atom *argv);
@@ -53,7 +53,7 @@ protected:
I inlets,outlets;
private:
- static V setup(t_class *);
+ static V Setup(t_class *);
static pyext *GetThis(PyObject *self);
V ClearBinding();