2a: OSC server


Hier de presentatie van de tweede OSC-les: Sysbas1B_les 2-OSC_server.pdf

En hieronder de code uit de les van 15 februari 2024

let server;
let freq, amp,;
function setup() {
  createCanvas(800,600);
  background(255);
  server = new Server();
  server.startServer(9000);
  server.getMessage(function(addr,val) {
    oscReceiver(addr,val);
  })
}

function draw() {
  background(255);
  ellipse(freq,amp,10);
}

function oscReceiver(addr,val) {
  let split = addr.split("/");
  if (split[1] === "synth1") {
    switch(split[2]) {
    case "freq":
      freq = val;
      break;
    case "amp":
      amp = val;
      break;
    case "pan":
      pan = val;
      break;
    }
  }
}

En hier de bijbehorende Max-patch:

Screenshot%202024-02-15%20at%2011.28.04

En compacte code (kopieer en kies in Max File -> new from clipboard)

<pre><code>
----------begin_max5_patcher----------
502.3ocyUssabBCD8Y3qvxpOR2Xa5t.4WIpZkAlcCQfM01jtQQ4eu9Bjrsgp
RonpnUhUyvL93yYtvywQ3R4EPiQ2htCEE8bbTj2kyQzncDtieopkq8ggECck
fBmDdk0RNXZAi+krQu8bS08MhyGUPkIb3orhcr8IH53+6I6HIHFaGA80wrBG
j4odHjBFmfvkbwY7qgzT6uCxxG9LME+JZJdGX.0QPvKa8YSd690HltdTmuWh
icORVHc6.sleFlvx.W7DBei9Ig4d5M8bA5Sz4kC5uWNXYzcYN4XePNxyVfbL
qLvvyQU1Jn5oVo8LlNtSRUG2eaO72VqY4TGaxRcO+mKzEeHpy7t9qpy8JPCB
C2zHEGaaDPkbPXtVVVdmPPrnDhuQnftxFgrMqOXkS3LZlukdiJ6G9PT1Oofu
sl4aZ935twxZd9JKqoaWYE9t8.eGSGp6ssx01Ey1UP1eTTAgPlmvjEP3o87o
umwWu1B+mpf9rvtYqe4ySdvc9+YtpkCppIob5CDn2.uFzlFgeh85fXgflUOW
LRrkfzF.T1+IbJV.NYa.NGV.Noa.NoqR2Bcf799GAkdLXOD14pGjJmYdh2rQ
DL26MUviMSwm48vU1wEicVYP4uV3KG9BNjprFThglwteK4rP5mYE1kd5ddfG
9Q63Wh+AlyhOMC
-----------end_max5_patcher-----------
</code></pre>