Hi,
If in doubt on what a FUDI message is you can send the (working) Pd message via [netsend -u] to a program that exposes the sent message. For example https://packetsender.com/
:)
Mensaje telepatico asistido por maquinas.
On 12/5/2019 11:20 AM, afleck@inventati.org wrote:
Hello,
I have been looking into writing some external programs to send messages to pd via netreceive.
With netreceive in udp mode (-u), sending bytes not terminated by a newline does not generate anything at the outlet. By "sending bytes" I do not mean that I have netreceive in -b mode, just that I am not automatically terminating the message with a newline, as would happen with "echo foo; | pdsend 9999 localhost udp." In -b mode no newline is necessary.
As soon as a newline is added, the message is at the outlet. Furthermore, it's actually not even necessary to include a semicolon in the datagram. If i send the bytes \102\111\111\10 ("foo\n") to a netreceive connected to print, i see "print: foo" in the console.
This is not at all clear from either the help patches on netsend and netreceive or the little information available online about FUDI, all of which mention that a message is just atoms, numbers, and whitespace terminated by a semicolon. The Wikipedia page on FUDI even says
"A newline is just treated as whitespace and not needed for message termination." as far as I can tell this was sourced from a (now offline but archived) pure data wiki page, the genesis of which can be found at: https://lists.puredata.info/pipermail/pd-list/2009-01/067238.html.
There's a good lead at https://lists.puredata.info/pipermail/pd-list/2013-01/100183.html, mentioning the required newline, but it also says a semicolon is required, which I have found to not be the case.
Can anyone clear this up for me? Is there any official specification of FUDI available? I think having this information easily available would be nice, and after I get to the bottom of it I'll correct the Wikipedia page!
I would also like to know how to send multiple messages in one datagram. Sending "foo;bar;\n" to a netreceive connected to print only gives me "print: foo" at the console, and trying to [route foo bar] doesn't work.
Cheers
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list