Hi,
I would like to know which other dataflow softwares can communicate with Pd via Netsend (TCP for now) and if their messages are similar. I am interested about Max/MSP, Drone, jMax, and other softwares listed on http://en.wikipedia.org/wiki/Dataflow_language .
I am building a set of PHP classes to communicate with Pd. Other softs would be great too. OSC rocks, but it is UDP only.
Thanks,
Alexandre Quessy http://www.sourcelibre.com/puredata/
Hallo!
I am building a set of PHP classes to communicate with Pd. Other softs would be great too. OSC rocks, but it is UDP only.
you can also use XML-RPC to communicate with PD. Works quite well and must programming/scripting languages have implementations of the protocoll.
For PD-external see cvs: pure-data/externals/iem/iemxmlrpc
LG Georg
Le 1 Novembre 2005 19:44, Alexandre Quessy a écrit :
Hi,
I would like to know which other dataflow softwares can communicate with Pd via Netsend (TCP for now) and if their messages are similar.
The pdreceive man page says: "Each message received is printed to the standard output with a trailing semicolon. The protocol used is easy to implement and is called FUDI." It means that if the software you want to communicate with doesn't directly support FUDI, feel free to implement it.
Here's a dead easy way to inspect FUDI messages with netcat:
-- Marc
vvvv can communicate very easy with pd, even if you want to send or receive lists. the TCP or UDP node (object) recieves the raw message string, which can easily be parsed with a Separate (String) node.
But anyway, in the vvvv release is a NetSend and NetRecieve module (abstraction) included for exactly this purpose ;) have a look at: http://vvvv.meso.net
Why do you want to do it with TCP ? UDP is faster, as i know.
best wishes, tebjan
Alexandre Quessy schrieb:
Hi,
I would like to know which other dataflow softwares can communicate with Pd via Netsend (TCP for now) and if their messages are similar. I am interested about Max/MSP, Drone, jMax, and other softwares listed on http://en.wikipedia.org/wiki/Dataflow_language .
I am building a set of PHP classes to communicate with Pd. Other softs would be great too. OSC rocks, but it is UDP only.
Thanks,
Alexandre Quessy http://www.sourcelibre.com/puredata/
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
But anyway, in the vvvv release is a NetSend and NetRecieve module (abstraction) included for exactly this purpose ;) have a look at: http://vvvv.meso.net
Great ! But my set of scripts currently don't work on Win32...
Why do you want to do it with TCP ? UDP is faster, as i know.
TCP is more reliable. I am planning a UDP (OSC) version.
aalex
Le 1 Novembre 2005 22:58, Alexandre Quessy a écrit :
TCP is more reliable. I am planning a UDP (OSC) version.
For reliable OSC, use a TCP tunnel, something like: http://www1.cs.columbia.edu/~lennox/udptunnel/ Netcat and SSH can also be used. -- Marc
Alexandre Quessy schrieb:
But anyway, in the vvvv release is a NetSend and NetRecieve module (abstraction) included for exactly this purpose ;) have a look at: http://vvvv.meso.net
Great ! But my set of scripts currently don't work on Win32...
thats the advantage of networking. its no prob to send TCP data from whatever to win ... :)
cheers, tebjan
Alexandre Quessy wrote:
...
OSC rocks, but it is UDP only.
OSC can be used over any network. TCP is also mentioned in the OSC spec: "OpenSound Control (OSC) is an open, transport-independent , message-based protocol developed for communication among computers, sound synthesizers, and other multimedia devices."
"The underlying network that delivers an OSC packet is responsible for delivering both the contents and the size to the OSC application. An OSC packet can be naturally represented by a datagram by a network protocol such as UDP. In a stream-based protocol such as TCP , the stream should begin with an int32 giving the size of the first packet, followed by the contents of the first packet, followed by the size of the second packet, etc."
See http://www.cnmat.berkeley.edu/OpenSoundControl/OSC-spec.html
Martin
Marc Lavallée wrote:
Le 2 Novembre 2005 10:44, Martin Peach a écrit :
OSC can be used over any network. TCP is also mentioned in the OSC spec:
But the OSC external supports UDP only.
Oh yeah you're right...I was thinking of netsend/netreceive.
But there's a field in the object's struct in sendOSC.c:
int x_protocol; // UDP/TCP (udp only atm)
It should not be impossible to add TCP support here since these objects are extremely similar to netsend and netreceive which support both UDP and TCP. As long as the OSC messages are not extremely long (which is a bad idea anyway for latency reasons) there should be no difference between using the two protocols. I'll give it a try.
Hmm... sendOSC.c also has constructs like: #ifdef WIN32 void sendOSC_setup(void) { #else void sendOSC_setup(void) { #endif ...looks like some housekeeping is needed.
Martin
Le 3 Novembre 2005 13:34, Martin Peach a écrit :
Marc Lavallée wrote:
Le 2 Novembre 2005 10:44, Martin Peach a écrit :
OSC can be used over any network. TCP is also mentioned in the OSC spec:
But the OSC external supports UDP only.
Oh yeah you're right...I was thinking of netsend/netreceive.
It should not be impossible to add TCP support here since these objects are extremely similar to netsend and netreceive which support both UDP and TCP.
That would be nice. TCP is often fast enough for almost real-time operation on possibly unreliable networks. -- Marc