//________server:
(
var plug, schweb, nodes;
nodes = OSCNode.tree([
[\frequenzia, { arg node, f; plug.source = f.value }],
[\schweb, { arg node, f; schweb.source = f.value }]
]);
OSCPort.closeAll;
OSCInPort(32000, nodes);
scope({
plug = Plug.kr(200, 0.1);
schweb = Plug.kr(0, 0.1);
SinOsc.ar([plug, plug+schweb], 0, 0.1)
+ Pulse.ar(plug, 0.5, LFPulse.kr([1, 1+(schweb/100)][1,2], 0.1, 0.1))
})
)
//____automated client (epic):
var hostname;
hostname = "192.168.3.188"; // set this to the address of the receiving machine
z = OSCOutPort(32000, hostname);
)
(
z.send("/schweb", 10)
z.send("/frequenzia", 400)
)
(
Synth.play({
Task({
15.do({arg i;
var val;
wait(0.3);
val = ((100 + 2400.rand /(i+1)));
z.send("/frequenzia", val);
z.send("/schweb", val + 30.rand);
})
});
Plug.ar(0)
})
)
//_________GUIified clients (max)
//control frequency
(
var w;
w = GUIWindow.new("panel", Rect.newBy(421, 178, 188, 100));
s = SliderView.new( w, Rect.newBy(30, 18, 128, 20), "SliderView", 200, 100, 1000, 0, 'linear');
ButtonView.new( w, Rect.newBy(30, 43, 128, 20), "ButtonView", 0, 0, 1, 0, 'linear').action_({
a.send ("/frequenzia", s.value);
});
)
//control frequency and interference
(
var w, s, s2;
w = GUIWindow.new("panel", Rect.newBy(421, 178, 188, 100));
s = SliderView.new( w, Rect.newBy(30, 18, 128, 20), "SliderView", 200, 100, 1000, 0, 'linear');
s.action = {
a.send ("/frequenzia", s.value);
};
s2 = SliderView.new( w, Rect.newBy(29, 50, 128, 20), "SliderView", 2, 0, 10, 'linear');
s2.action = {
a.send ("/schweb", s2.value);
};
)
/*authors so far: SC-Group HfbK */ |
first osc experiment ... |