Julian's idea to tell a server whether or not it's allowed to boot
is a good
one, I think.
But I just noticed something crappy - Server does have a classvar,
program,
for the executable to run when booting. But it's a classvar! So you
can't
change it per server. Grrr....
Maybe it would be better to change it to an instance variable, so
you could
do:
d = Server(...);
d.program = "cd scgraph/path && ./scgraph -options...";
d.boot;
hjh
On Dec 14, 2008, at 7:10 AM, Florian Schmidt wrote:
On Saturday 13 December 2008, James Harkins wrote:
When you create a synth, you can say which target to use. The target
(often a Group) implies the desired server.
If you don't give a target, it uses Server.default's default group.
So, e.g., you could do:
d = Server(\scgraph, NetAddr("127.0.0.1", whatever_port));
d.boot;
a = { ... audio ugens ... }.play;
g = { ... 3d ugens ... }.play(d);
It's the same as specifying a synth to play in a given group. No big
secrets here.
Well, all of this is totally clear [at least to me]. The problem i
suspected
was a different one (see below)..
I'm curious how this is documented so badly that it becomes
confusing? If it's this much of a problem, the documentation should
be improved.
d = Server.new(\scgraph, NetAddr("80.12.31.13", 37291));
d.boot
SCLang output:
You will have to manually boot remote server.
scgraph
This is what we want.
But if you use [SuperCollider seems to assume, that if the NetAddr
is not a
really remote one, that the server is local and it can just run
scsynth]:
// with "localhost" it's the same
d = Server(\scgraph, NetAddr("127.0.0.1", 37291));
d.boot;
SClang output [it boots scsynth]:
booting 37291
scgraph
Using vector unit: yes
exception in GrafDef_Load: UGen 'GLight' not installed.
while reading file
'/home/tapas/share/SuperCollider/synthdefs/light.scsyndef'
exception in GrafDef_Load: UGen 'GRectangle' not installed.
while reading file
'/home/tapas/share/SuperCollider/synthdefs/foo.scsyndef'
exception in GrafDef_Load: UGen 'GBlending' not installed.
while reading file
'/home/tapas/share/SuperCollider/synthdefs/defaultRenderer.scsyndef'
JACK compiled with System V SHM support.
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
loading driver ..
apparent rate = 44100
creating alsa driver ...
hw:1|hw:1|2048|2|44100|0|0|nomon|swmeter|-|32bit
control device hw:1
configuring for 44100Hz, period = 2048 frames (46.4 ms), buffer = 2
periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
JackDriver: client name is 'SuperCollider'
JackDriver: connected alsa_pcm:capture_1 to SuperCollider:in_1
JackDriver: connected alsa_pcm:capture_2 to SuperCollider:in_2
JackDriver: max output latency 46.4 ms
JackDriver: connected SuperCollider:out_1 to alsa_pcm:playback_1
JackDriver: max output latency 46.4 ms
JackDriver: connected SuperCollider:out_2 to alsa_pcm:playback_2
Zeroconf: failed to create client: Daemon not running
SuperCollider 3 server ready..
notification is on
So my question was: How to tell the Server class to treat the
graphics
server as remote one even though the network address is local.
I.e.: Do not
boot scsynth..
Personnaly i used several workarounds like
- looking up the public address
- not using the boot method ;)
This is not satisfactory though and users seem to stumble over
this. I
looked through the documentation and didn't find a mention of this
behaviour. Maybe i'm just struck with blindness though..
Regards,
Flo
--
Palimm Palimm!
http://tapas.affenbande.org
: H. James Harkins
: jamshark70@xxxxxxxxxxxxxxxxx
: http://www.dewdrop-world.net
.::!:.:.......:.::........:..!.::.::...:..:...:.:.:.:..:
"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal." -- Whitman