Cabbage Logo
Back to Cabbage Site

OSC port feature request

In the cabbage patching environment we are currently able to connect Csound documents (files) together. I would really be interested in being able to setup advanced control structures at control rate between instruments.

This can already be achieved by using Open sound control- so possibly it could be interesting to have a third cable type- that of OSC.

So there would be three cables:

  • Audio
  • Midi
  • OSC

This would make csound within cabbage very modular, enabling complex communication between different nodes.

I see your point. This can already be done using multiple OSC enabled instruments, but it would be nice to have a simple means of patching instruments like this.

Yes, I was thinking that having a cable could allow simple connection to other ports. As csound already has OSC communication, possibly this would only need to match the port numbers together. Allocating port numbers when connected together etc.

it’ll need some thought, but I think it’s a good idea. Users would still have to code some OSC message parsing in their instruments though, but I guess that’s Ok. I could pass the incoming OSC port number to a reserved channel that users could pick up data from? For example, something like this might be useful:

ksmps = 32
nchnls = 2

  gihandle OSCinit chnget:i("INCOMING_OSC_PORT")

  instr   1
    kf1 init 0
    kf2 init 0

This would allow for users to quickly re-route their OSC messages needing to re-code their instruments.

Yes, that is really fantastic. Obviously as OSC can take on so many usages, it makes sense to let the user control the parsing.

Also it may be cool to allow multiple OSC imput/ output ports per CSD? Which would allow routing of control messages, values, etc.

Or would it be simpler to just place all messages into one OSC, and then just filter out what is needed on the receiving CSD end?

I think it’s better to do the parsing yourself in Csound.