aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-07-20 08:11:18 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-07-20 08:11:18 +0000
commit9ac7977b87ef9b5bd1c6036b91dcce5a5e1c4ea1 (patch)
treeb764c096d11a177c344c3726e94526abb58805eb
parent9ae1dd455b7c2eb695aff6663d32608c32ceea92 (diff)
corrected Python object propagation (attribute "py") and adjusted help files
better exception handling and error message much better detach method handling (one thread for all object instances) better definition of output values (atoms, lists, anythings) svn path=/trunk/; revision=3364
-rw-r--r--externals/grill/py/pd/builtins-1.pd36
-rw-r--r--externals/grill/py/pd/methods-1.pd4
-rw-r--r--externals/grill/py/pd/methods-2.pd10
-rw-r--r--externals/grill/py/source/py.cpp4
-rw-r--r--externals/grill/py/source/pybase.cpp4
-rw-r--r--externals/grill/py/source/pybase.h2
-rw-r--r--externals/grill/py/source/pyext.cpp2
-rw-r--r--externals/grill/py/source/pyext.h2
-rw-r--r--externals/grill/py/source/pymeth.cpp4
9 files changed, 38 insertions, 30 deletions
diff --git a/externals/grill/py/pd/builtins-1.pd b/externals/grill/py/pd/builtins-1.pd
index 095e7690..b5eb4eef 100644
--- a/externals/grill/py/pd/builtins-1.pd
+++ b/externals/grill/py/pd/builtins-1.pd
@@ -1,5 +1,5 @@
-#N canvas 327 349 706 421 12;
-#X obj 36 241 py .range @xlate 0;
+#N canvas 602 394 710 425 12;
+#X obj 36 241 py .range @py 1;
#X floatatom 35 356 5 0 0 0 - - -;
#X obj 35 323 py .sum;
#X obj 16 13 cnv 15 650 40 empty empty py/pyext 10 22 0 24 -260818
@@ -7,24 +7,27 @@
#X text 235 16 Python script objects \, (C)2003-2005 Thomas Grill;
#X text 235 32 http://grrrr.org/ext;
#X obj 36 159 nbx 5 14 -1e+037 1e+037 0 1 empty empty min 0 -6 0 10
--262131 -1 -1 38 256;
+-262131 -1 -1 51 256;
#X obj 95 159 nbx 5 14 -1e+037 1e+037 0 1 empty empty max 0 -6 0 10
--262131 -1 -1 100 256;
+-262131 -1 -1 131 256;
#X obj 154 159 nbx 5 14 1 100000 1 1 empty empty step 0 -6 0 10 -262131
--1 -1 1 256;
-#N canvas 0 0 462 312 pak3 0;
-#X obj 34 26 inlet;
-#X obj 81 28 inlet;
-#X obj 129 28 inlet;
+-1 -1 6.61169 256;
+#N canvas 0 0 466 316 pak3 0;
+#X obj 22 25 inlet;
+#X obj 81 26 inlet;
+#X obj 136 26 inlet;
#X obj 36 158 outlet;
#X obj 36 123 pack 0 0 0;
-#X obj 61 78 t b f;
-#X obj 108 80 t b f;
+#X obj 78 71 t b f;
+#X obj 133 73 t b f;
#X obj 208 46 loadbang;
#X obj 208 73 1;
-#X connect 0 0 4 0;
-#X connect 1 0 5 0;
-#X connect 2 0 6 0;
+#X obj 23 53 int;
+#X obj 135 51 int;
+#X obj 80 50 int;
+#X connect 0 0 9 0;
+#X connect 1 0 11 0;
+#X connect 2 0 10 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 4 1;
@@ -32,7 +35,10 @@
#X connect 6 1 4 2;
#X connect 7 0 8 0;
#X connect 8 0 4 2;
-#X restore 36 195 pd pak3;
+#X connect 9 0 4 0;
+#X connect 10 0 6 0;
+#X connect 11 0 5 0;
+#X restore 36 190 pd pak3;
#X text 115 240 construct a Python list;
#X text 78 282 Python object pointer is propagated to next object;
#X text 106 320 calculate sum over list elements;
diff --git a/externals/grill/py/pd/methods-1.pd b/externals/grill/py/pd/methods-1.pd
index ab949c7e..ab6b9842 100644
--- a/externals/grill/py/pd/methods-1.pd
+++ b/externals/grill/py/pd/methods-1.pd
@@ -1,11 +1,11 @@
-#N canvas 540 469 718 353 12;
+#N canvas 540 469 722 357 12;
#X obj 16 13 cnv 15 650 40 empty empty py/pyext 10 22 0 24 -260818
-1 0;
#X text 235 16 Python script objects \, (C)2003-2005 Thomas Grill;
#X text 235 32 http://grrrr.org/ext;
#X symbolatom 21 139 10 0 0 0 - - -;
#X symbolatom 25 298 10 0 0 0 - - -;
-#X obj 22 179 py .str @xlate 0;
+#X obj 22 179 py .str @py 1;
#X text 93 167 convert the symbol to a Python string;
#X text 35 216 pass it as a true Python object;
#X symbolatom 364 295 10 0 0 0 - - -;
diff --git a/externals/grill/py/pd/methods-2.pd b/externals/grill/py/pd/methods-2.pd
index b10e183c..0d0dd685 100644
--- a/externals/grill/py/pd/methods-2.pd
+++ b/externals/grill/py/pd/methods-2.pd
@@ -1,4 +1,4 @@
-#N canvas 540 469 734 339 12;
+#N canvas 540 469 738 343 12;
#X obj 16 13 cnv 15 650 40 empty empty py/pyext 10 22 0 24 -260818
-1 0;
#X text 235 16 Python script objects \, (C)2003-2005 Thomas Grill;
@@ -8,12 +8,12 @@
#X text 21 73 Py can act on Python objects in a object-oriented manner
;
#X obj 25 252 pym 2 *;
-#X obj 213 169 t b f;
+#X obj 213 183 t b f;
#X text 105 251 repeat text;
#X text 215 117 multiply it!;
#X symbolatom 25 283 80 0 0 0 - - -;
#X obj 214 139 nbx 5 14 1 100 0 1 empty empty empty 0 -6 0 10 -262131
--1 -1 34 256;
+-1 -1 16 256;
#N canvas 0 0 458 308 init 0;
#X obj 61 116 s \$0-t;
#X obj 64 44 loadbang;
@@ -21,8 +21,10 @@
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 606 127 pd init;
+#X obj 213 159 int;
#X connect 3 0 6 1;
#X connect 6 0 10 0;
#X connect 7 0 6 0;
#X connect 7 1 6 2;
-#X connect 11 0 7 0;
+#X connect 11 0 13 0;
+#X connect 13 0 7 0;
diff --git a/externals/grill/py/source/py.cpp b/externals/grill/py/source/py.cpp
index b4b4f225..caa759f2 100644
--- a/externals/grill/py/source/py.cpp
+++ b/externals/grill/py/source/py.cpp
@@ -66,7 +66,7 @@ private:
// callbacks
FLEXT_ATTRVAR_I(detach)
- FLEXT_ATTRVAR_B(xlate)
+ FLEXT_ATTRVAR_B(pymsg)
FLEXT_ATTRVAR_B(respond)
FLEXT_CALLBACK_V(m_stop)
@@ -99,7 +99,7 @@ void pyobj::Setup(t_classid c)
FLEXT_CADDMETHOD_(c,0,"set",m_set);
- FLEXT_CADDATTR_VAR1(c,"py",xlate);
+ FLEXT_CADDATTR_VAR1(c,"py",pymsg);
FLEXT_CADDATTR_VAR1(c,"respond",respond);
}
diff --git a/externals/grill/py/source/pybase.cpp b/externals/grill/py/source/pybase.cpp
index 20f16e13..d569a84c 100644
--- a/externals/grill/py/source/pybase.cpp
+++ b/externals/grill/py/source/pybase.cpp
@@ -192,7 +192,7 @@ pybase::pybase()
, shouldexit(false),stoptick(0)
#endif
, detach(0)
- , xlate(true)
+ , pymsg(false)
{
PyThreadState *state = PyLockSys();
Py_INCREF(module_obj);
@@ -453,7 +453,7 @@ void pybase::AddCurrentPath(t_canvas *cnv)
bool pybase::OutObject(flext_base *ext,int o,PyObject *obj)
{
flext::AtomListStatic<16> lst;
- const t_symbol *sym = xlate?GetPyArgs(lst,obj):GetPyAtom(lst,obj);
+ const t_symbol *sym = pymsg?GetPyAtom(lst,obj):GetPyArgs(lst,obj);
if(sym) {
// call to outlet _outside_ the Mutex lock!
// otherwise (if not detached) deadlock will occur
diff --git a/externals/grill/py/source/pybase.h b/externals/grill/py/source/pybase.h
index 28ee9770..5fadb946 100644
--- a/externals/grill/py/source/pybase.h
+++ b/externals/grill/py/source/pybase.h
@@ -133,7 +133,7 @@ protected:
#endif
int detach;
- bool xlate;
+ bool pymsg;
bool gencall(PyObject *fun,PyObject *args);
diff --git a/externals/grill/py/source/pyext.cpp b/externals/grill/py/source/pyext.cpp
index 4252e64a..48f4849f 100644
--- a/externals/grill/py/source/pyext.cpp
+++ b/externals/grill/py/source/pyext.cpp
@@ -41,7 +41,7 @@ void pyext::Setup(t_classid c)
FLEXT_CADDMETHOD_(c,0,"get",m_get);
FLEXT_CADDMETHOD_(c,0,"set",m_set);
- FLEXT_CADDATTR_VAR1(c,"py",xlate);
+ FLEXT_CADDATTR_VAR1(c,"py",pymsg);
FLEXT_CADDATTR_VAR1(c,"respond",respond);
// ----------------------------------------------------
diff --git a/externals/grill/py/source/pyext.h b/externals/grill/py/source/pyext.h
index d4652409..3aaf62bf 100644
--- a/externals/grill/py/source/pyext.h
+++ b/externals/grill/py/source/pyext.h
@@ -137,7 +137,7 @@ private:
// callbacks
FLEXT_ATTRVAR_I(detach)
- FLEXT_ATTRVAR_B(xlate)
+ FLEXT_ATTRVAR_B(pymsg)
FLEXT_ATTRVAR_B(respond)
FLEXT_CALLBACK_V(m_stop)
diff --git a/externals/grill/py/source/pymeth.cpp b/externals/grill/py/source/pymeth.cpp
index 399c9463..177802b7 100644
--- a/externals/grill/py/source/pymeth.cpp
+++ b/externals/grill/py/source/pymeth.cpp
@@ -143,7 +143,7 @@ private:
// callbacks
FLEXT_ATTRVAR_I(detach)
- FLEXT_ATTRVAR_B(xlate)
+ FLEXT_ATTRVAR_B(pymsg)
FLEXT_ATTRVAR_B(respond)
FLEXT_CALLBACK_V(m_stop)
@@ -176,7 +176,7 @@ void pymeth::Setup(t_classid c)
FLEXT_CADDMETHOD_(c,0,"set",m_set);
- FLEXT_CADDATTR_VAR1(c,"py",xlate);
+ FLEXT_CADDATTR_VAR1(c,"py",pymsg);
FLEXT_CADDATTR_VAR1(c,"respond",respond);
// init translation map