On Sat, 21 Oct 2006, Patco wrote:
Mathieu Bouchard a écrit :
with as many clients as you want, and the ability to add more and remove them at runtime.
Excellent, so it would be possible to control one pd-server with as many graphical interfaces we want. If the state of a patch on the server has been modified from one client, how the graphical data are updated, on another client?
Just using more observers. DesireData uses the observer pattern for handling graphical updates. However this does not mean that each client needs to be registered "personally" with every server object that is visible in that client. DesireData has that concept of observer hierarchy so that containers can be representants for all of their contents - a patch represents itself but also all of the objects and wires contained in it.
Therefore a client needs only register directly with toplevel patches that it's going to display. It does so through the [manager] class, for which there is one instance only, but there would be one per client. One [manager] object represents a client. All [manager] objects live outside of any patches at all.
It might be possible to do something like that with using rradical and several instances of pd, one server with -nogui, a main client, and as many clients as I need for different graphical interfaces, all communicating, with OSCx protocol.
DesireData uses the same protocol as PureData, which is a modified [netreceive] that can also send TCL code. Switching to TCP-OSC could be an idea, but I don't see it as being urgent at all.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada