OSC in Linux Ubuntu Studio with Supercollider


#1

Sorry, if this question is stupid, but I have a problem:
I will trying to connect a application named Iannix with Supercollider.
The Problem is, that I will not get it that a OSC-Message out of Supercollider will be receive by the same Supercollider Script. So I read in the internet Linux Ubuntu would have disable OSC. But when I say:
OSCFunc.trace(true);
It will receive lots of Messages, but not my own.
So I’m stupid, and that’s my question.

  1. If OSC just enabled or disabled
    1a. if OSC is not enabled, how can I enabled it.
  2. Have I do anything wrong, or have I forgotten some thing:
    m = NetAddr(“127.0.0.1”, 7771); // open the channel
    m.sendMsg("/goodby", “Hello App 1”); // send My Message
    OSCFunc.trace(true); // Turn posting on // receive every OSC-Message

p.S.: It must have a solution because Supercollider 3.8.0 and Iannix use it. And there are lots of videos that show it. So I will beg at help.


#2

nothing stupid about the question, OSC connections can be confusing at times.

just for your information, i’d highly recommend upgrading to 3.10 if possible to get the latest and the greatest SC. i don’t think your issue would be addressed by upgrading, but there are a huge number of very important bugfixes between these two versions. (i am aware newer SC’s are kinda tough to install on Ubuntu, sorry about that.)

connecting iannix to SC

sclang has a default port that it receives from. to find that, run NetAddr.localAddr. i get NetAddr(127.0.0.1, 57120).

then check what port iannix is sending to. to do that, go to the inspector, then Config -> Network. make sure OSC is enabled and that the port in “default IP” is set to the same port.

Untitled

i run OSCFunc.trace(true, true). (the second true hides server status OSC messages, which are distracting.) then if i make a cursor and press play in IanniX, i get OSC messages printed.

sending OSC messages from sclang to itself

to get sclang to receive OSC messages from a port other than the default 57120, then you need to open a UDP port manually. this is why your example wasn’t working.

thisProcess.openUDPPort(6668);
OSCFunc.trace(true, true);
NetAddr("127.0.0.1", 6668).sendMsg(\hey);

you don’t need to open a UDP port to send messages, but this is necessary to receive them on ports aside from the default one.


#3

Thank you nathan,
now it work very well, So all my problems are solved.
I beg and you are herring my beg and give me a good advice to solve.
Thank you very much

Creco :grinning::smiling_face_with_three_hearts: