hello pd-list.
I would like to find out more on how exactly the undocumented options '-guicmd' and '-guiport' might be used?
when pd starts up it usualy listens to port 5401 and the netstat gives
%netstat|grep 5401 tcp 0 0 localhost:5401 localhost:52381 ESTABLISHED tcp 0 0 localhost:52381 localhost:5401 ESTABLISHED
does it mean that 5401 if where 'pd' sits and 5381 is where 'pdgui' comes from? so the could be on different host or there any restrictions? i have got pd compiled only one machine , so could not test this yet ..
also another option - '-guicmd' - what about this one?
i thinking how to setup a such a 'multi-station', which could have multiple users using some set of programms for their multimedia production with such a particular oportuniti to work in the same programm at time .. so with PD, in fact , i can see many ways of implimenting that. it is event too many ways to try, needs benchmarking i think. ..
appart from what could be done with built-in pd stuff, i'd like to try Xdmx and may be even just XdmCP (simply when a user log-in on a thin client - he gets a full-sceen patch as an Xsession ) ..
but i'm realy curious what those undocumented options are !
On Mon, 6 Aug 2007, errordeveloper wrote:
I would like to find out more on how exactly the undocumented options '-guicmd' and '-guiport' might be used?
Using X11's client-server possibilities isn't that much more low-level than Pd's client-server. If your connection is too thin, then try compressing your X11 using "ssh -C -X" forwarding. If that is still too slow, then -guicmd -guiport might be worth a try.
To save a lot of bandwidth and of roundtrips, the protocol would need to be much more high-level and the client/server halves would need to be much more decoupled... but I wrote a lot about that in the past already.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada
errordeveloper wrote:
hello pd-list.
I would like to find out more on how exactly the undocumented options '-guicmd' and '-guiport' might be used?
when pd starts up it usualy listens to port 5401 and the netstat gives
%netstat|grep 5401 tcp 0 0 localhost:5401 localhost:52381 ESTABLISHED tcp 0 0 localhost:52381 localhost:5401 ESTABLISHED
does it mean that 5401 if where 'pd' sits and 5381 is where 'pdgui' comes from? so the could be on different host or there any restrictions? i have got pd compiled only one machine , so could not test this yet ..
From my notes that are a few years old now, this is how pd starts up the gui interface: sys_startgui(sys_guidir->s_name): in s_inter.c sets up some signal handlers, opens a TCP socket (sys_guisock) on port 5400 (FIRSTPORTNUM) and then forks. The child starts the gui process: Under unix, the environment variables TCL_LIBRARY and TX_LIBRARY are declared and the pd-gui program is called with the port number as argument: /bin/sh sh -c TCL_LIBRARY="LIBDIRPATH/tcl/library" TK_LIBRARY="LIBDIRPATH/tk/library" "GUIDIRPATH/pd-gui" 5400 where LIBDIRPATH = sys_libdir->s_name, usually /lib/pd, and GUIDIRPATH = guidir, usually /lib/pd/bin On Windows and MacOSX, the Wish shell is spawned and fed the pd.tk script. The child doesn't return. The parent thread sets a higher priority, then forks again to start a watchdog process. Finally the parent thread calls socketreceiver_new(0, 0, 0, 0); sys_addpollfn(sys_guisock, (t_fdpollfn)socketreceiver_read, sys_socketreceiver); sys_gui("pdtk_watchdog\n"); sys_get_audio_apis(buf); sys_vgui("pdtk_pd_startup {%s} %s\n", pd_version, buf): pdtk_pd_startup is in pd.tk. It calls pd with the pd command and the argument init. The class pd has glob_initfromgui() as the handler for the init message.
also another option - '-guicmd' - what about this one?
From the help text: "-guicmd "cmd..." -- start alternatve GUI program (e.g., remote via ssh)\n", The relevant call is in sys_startgui in s_inter.c: execl("/bin/sh", "sh", "-c", sys_guicmd, (char*)0); ..which defaults to calling Wish, the TCL shell. This bit isn't used for MSW versions though. (Seems to be because Windows TCL doesn't have a callback mechanism so pd has to keep polling the gui.) Martin