aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/py/source/main.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-03-10 04:59:00 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-03-10 04:59:00 +0000
commitec67ac9af1c9a02130347c4ed6f32fa03f55eba2 (patch)
treed2a1f6e129e9179c695ec6c0f5c3b9dffa46815c /externals/grill/py/source/main.cpp
parent5e3101f8a1a5cf78f86635da6a78d8564aa85483 (diff)
more buffer functionality (support sequence and number protocols)
more examples preset sys.argv for module loading support for buffer objects (preliminary) svn path=/trunk/; revision=2615
Diffstat (limited to 'externals/grill/py/source/main.cpp')
-rw-r--r--externals/grill/py/source/main.cpp32
1 files changed, 18 insertions, 14 deletions
diff --git a/externals/grill/py/source/main.cpp b/externals/grill/py/source/main.cpp
index c24f998c..e32b9ba8 100644
--- a/externals/grill/py/source/main.cpp
+++ b/externals/grill/py/source/main.cpp
@@ -97,12 +97,30 @@ void py::lib_setup()
pythrmap[GetThreadId()] = pythrmain;
#endif
+ // sys.argv must be set to empty tuple
+ char *nothing = "";
+ PySys_SetArgv(0,&nothing);
+
// register/initialize pyext module only once!
module_obj = Py_InitModule(PYEXT_MODULE, func_tbl);
module_dict = PyModule_GetDict(module_obj); // borrowed reference
PyModule_AddStringConstant(module_obj,"__doc__",(char *)py_doc);
+ // redirect stdout
+ PyObject* py_out;
+ py_out = Py_InitModule("stdout", StdOut_Methods);
+ PySys_SetObject("stdout", py_out);
+ py_out = Py_InitModule("stderr", StdOut_Methods);
+ PySys_SetObject("stderr", py_out);
+
+ // get garbage collector function
+ PyObject *gcobj = PyImport_ImportModule("gc");
+ if(gcobj) {
+ gcollect = PyObject_GetAttrString(gcobj,"collect");
+ Py_DECREF(gcobj);
+ }
+
// add symbol type
initsymbol();
PyModule_AddObject(module_obj,"Symbol",(PyObject *)&pySymbol_Type);
@@ -119,20 +137,6 @@ void py::lib_setup()
initsamplebuffer();
PyModule_AddObject(module_obj,"Buffer",(PyObject *)&pySamplebuffer_Type);
- // redirect stdout
- PyObject* py_out;
- py_out = Py_InitModule("stdout", StdOut_Methods);
- PySys_SetObject("stdout", py_out);
- py_out = Py_InitModule("stderr", StdOut_Methods);
- PySys_SetObject("stderr", py_out);
-
- // get garbage collector function
- PyObject *gcobj = PyImport_ImportModule("gc");
- if(gcobj) {
- gcollect = PyObject_GetAttrString(gcobj,"collect");
- Py_DECREF(gcobj);
- }
-
// -------------------------------------------------------------
FLEXT_SETUP(pyobj);