Fix OSC receiver port binding, add long attack/decay envelope

This commit is contained in:
Michael Winter 2026-04-01 21:53:33 +02:00
parent 2a17339edc
commit e09fbbae45

View file

@ -4,21 +4,21 @@
s.boot;
s.waitForBoot {
// Define synth on the server (2-second ring)
// Define synth on the server with long attack and decay
SynthDef(\sineTone, {
|freq = 440, amp = 0.15|
var env = EnvGen.kr(
Env([0, 1, 1, 0], [0.05, 0.1, 1.85], \sin),
Env([0, 1, 0.8, 0], [2, 3.0, 3], \sin),
doneAction: Done.freeSelf
);
Out.ar(0, SinOsc.ar(freq) * env * amp);
}).add;
// Wait for synth to be added to server
s.sync;
// OSC handler for /freq messages
// OSC handler for /freq messages - explicitly bind to port 57120
~oscHandler = OSCFunc({ |msg, time, addr, recvPort|
if (msg.size >= 3, {
var freq = msg[2].asFloat;
@ -26,11 +26,11 @@ s.waitForBoot {
Synth(\sineTone, [\freq, freq, \amp, 0.15]);
});
});
}, '/freq');
}, '/freq', nil, 57120);
"OSC receiver ready on port 57120".postln;
"Click nodes in webapp to play".postln;
// Keep alive
while { true } { 10.wait; };
}