HOME

TheInfoList



OR:

FUDI (Fast Universal Digital Interface) is a networking protocol used by the
Pure Data Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source project with a large d ...
patching language invented by
Miller Puckette Miller Smith Puckette (born 1959) is the associate director of the Center for Research in Computing and the Arts as well as a professor of music at the University of California, San Diego, where he has been since 1994. Puckette is known for auth ...
. It is a string based protocol in which messages are separated by semicolons. Messages are made up of tokens separated by whitespaces, and numerical tokens are represented as strings.


Format

FUDI is a packet oriented protocol. Each message consists of one or more atoms, separated by one or more whitespace characters, and it's terminated by a semicolon character. An atom is a sequence of one or more characters; whitespaces inside atoms can be escaped by the backslash (ascii 92) character (see Examples below). A whitespace is either a space (ascii 32), a tab (ascii 9) or a newline (ascii 10). A semicolon (ascii 59) is mandatory to terminate (and send) a message. A newline is just treated as whitespace and not needed for message termination.


Implementations


pdsend / pdreceive

Those command-line tools are distributed with the software
Pure Data Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source project with a large d ...
. They are meant to be used with their counterparts, the classes etsend/ etreceiveof Pd.


etsend/ etreceive

Those classes can be used to transport Pd-messages over a TCP or UDP socket. Both are part of Pd-vanilla.


etserver/ etclient

Those are part of maxlib and allow bidirectional connections of multiple clients with one server.


Example messages

test/blah 123.45314; my-slider 12; hello this is a message; this message continues in the following line; you; can; send; multiple messages; in a line; this\ is\ one\ whole\ atom; this_atom_contains_a\ newline_character_in_it;


References


External links

* https://archive.today/20100704034430/http://wiki.puredata.info/en/FUDI Network protocols {{compu-network-stub