Syphon / Processing

Syphon Implementation for Processing
Other
137 stars 33 forks source link

Processing client only matches app name, not server name #2

Closed codeanticode closed 11 years ago

codeanticode commented 11 years ago

Hello, I haven't had time to work on it lately, but in the last round of changes the constructor of SyphonClient allows you to specify different servers within the same app. Take a look at the comments in the ReceiveFrames example:

"A Syphon server can be specified by the name of the application that it contains it, its name, or both:

1) Only application name. client = new SyphonClient(this, "SendFrames");

2) Both application and server names client = new SyphonClient(this, "SendFrames", "Processing Syphon");

3) Only server name client = new SyphonClient(this, "", "Processing Syphon");

An application can have several servers: clientRaw = new SyphonClient(this, "Quartz Composer", "Raw Image"); clientScene = new SyphonClient(this, "Quartz Composer", "Scene"); "

These different constructors should be available in the last release (Public Beta 2 r7)

[ported from issue report in googlecode: https://code.google.com/p/syphon-implementations/issues/detail?id=25]

codeanticode commented 11 years ago

All the constructors described above are implemented at this point, together with the server listing functionality:

println("Available Syphon servers:");
HashMap<String, String>[] servers = SyphonClient.listServers();
println(servers);
client = new SyphonClient(this, servers[0].get("AppName"), servers[0].get("ServerName"));

As a future improvement, listServers() could return a data structure more friendly to Processing's API conventions.