added minimal working example mwe for visuals sc link

master
Rob Canning 2023-01-19 15:14:01 +01:00
parent 88e2630c90
commit 6e13e44eca
3 changed files with 71 additions and 5 deletions

View File

@ -30,17 +30,23 @@ Pdef(\processing, Pfunc { ~host.sendMsg("/sc3p5", rrand(1,256).asFloat);}).play(
https://sc-users.bham.ac.narkive.com/75iSw2f6/sending-osc-commands-instead-of-trigger-synths-with-patterns https://sc-users.bham.ac.narkive.com/75iSw2f6/sending-osc-commands-instead-of-trigger-synths-with-patterns
n=NetAddr("127.0.0.1", 47120);
{50.do {n.sendMsg("/test",200.rand,200.rand);0.2.wait;}}.fork;
( (
Event.addEventType(\processingOSC, { | server | Event.addEventType(\processingOSC, { | server |
var processingOscServer = NetAddr("127.0.0.1", 4859); var processingOscServer = NetAddr("127.0.0.1", 47120);
var notes = [~midinote.value, ~ctranspose.value, ~velocity.value, var notes = [~midinote.value, ~ctranspose.value, ~velocity.value,
~sustain.value, ~lag.value, ~timingOffset.value].flop; ~sustain.value, ~lag.value, ~timingOffset.value].flop;
var bndl; var bndl;
var timeNoteOn, timeNoteOff; var timeNoteOn, timeNoteOff;
processingOscServer.sendMsg("/sc3p5", rrand(1,256).asFloat); //processingOscServer.sendMsg("/test",200.rand,200.rand);
processingOscServer.sendMsg("/sc3p5",200.rand, 200.rand);
processingOscServer.sendMsg("/col", 255.rand);
notes.do {|note| notes.do {|note|
processingOscServer.sendMsg("/sc3p5", rrand(1,256).asFloat); processingOscServer.sendMsg("/sc3p5", rrand(1,256).asFloat);
@ -57,15 +63,14 @@ Event.addEventType(\processingOSC, { | server |
}); });
) )
( (
Pbind(*[ Pbind(*[
type: \processingOSC, type: \processingOSC,
legato: Pgauss(0.2,0.05,inf), legato: Pgauss(0.2,0.05,inf),
dur: 0.2, dur: 1/8,
degree: [2,5,12], degree: [2,5,12],
ctranspose: Pseq([0,0,0,0,4,4,4,4,5,5,5,5],inf), ctranspose: Pseq([0,0,0,0,4,4,4,4,5,5,5,5],inf),
velocity: Pgauss(64,10,inf), velocity: Pgauss(64,10,inf),
]).play; ]).play(quant: 4);
) )

View File

@ -0,0 +1,36 @@
import oscP5.*;
import netP5.*;
OscP5 oscP5;
NetAddress myRemoteLocation;
int x1,x2,fil;
void setup() {
fullScreen();
//size(400,400);
frameRate(8);
/* start oscP5, listening for incoming messages at port 12000 */
oscP5 = new OscP5(this,47120);
myRemoteLocation = new NetAddress("127.0.0.1",47120);
//sc3p5
oscP5.plug(this,"sc3p5","/sc3p5");
oscP5.plug(this,"test","/test");
oscP5.plug(this,"col","/col");
}
void sc3p5(int theA, int theB) {
println("### plug event method. received a message /test.");
println(" 2 ints received: "+theA+", "+theB);
x1= theA;
x2= theB;
}
void col(int theC) {
fil= theC;
}
void draw() {
background(0);
ellipse(fil,10,10,10);
rect(random(0,width),random(0,height),50+x1,50+x2);
}

25
visuals/sc2p5.scd 100644
View File

@ -0,0 +1,25 @@
SynthDef(\pulse,{
var sig, chain, onsets;
sig = SinOsc.ar(Rand(220.0,440.0))
*EnvGen.ar(Env.perc(releaseTime:0.5),Dust.ar(0.5))*0.7;
Out.ar(0,sig !2);
//
chain = FFT({LocalBuf(512, 1)}, sig);
onsets = Onsets.kr(chain,0.1,\power);
SendTrig.kr(onsets);
SendPeakRMS.kr(sig, 20, 3, "/replyAddress");
}).add;
Synth(\pulse)
~host = NetAddr("localhost", 4859); // address de PROCESSING
o = OSCFunc({ arg msg, time;
[time, msg].postln;
~host.sendMsg("/trigger",42,12.34,"hello processing");
},'/tr', s.addr);
p = OSCFunc({ |msg|
"peak: %, rms: %".format(msg[3], msg[4]).postln
}, '/replyAddress');