Basic OSC assistance

Hello all,

I’m an OSC novice, but I’ve had some success using programs like TouchOSC and Osculator.

I’m trying to understand how GP sends OSC messages over the network. Specifically, I’d like to control a DCA fader on a digital mixing desk from a widget, as a proof-of-concept.

The address for the fader is /dca/1/fdr

Where do I actually address this fader from within GP? Does it need to be a script in order to send OSC?

Thanks for any help to get me started.

An ideal article to getting started :slight_smile:
https://gigperformer.com/use-your-mobile-phone-to-control-your-guitar-or-keyboard-effects/

In Gig Performer you can set a specific OSC Adress for a widget:

Now when you move the widget this OSC messages are sent out:

1 Like

Yes, that’s a cool new GP4 feature :+1:

Ah! Thank you. I was trying to put the address in the OSC/GPScript Name and it obviously wasn’t working. I found the direct addressable OSC preference and that should get me on my way!

1 Like

Ok everyone…thanks for the direction. Reviewing the OSC literature for the Behringer WING desk:

If I want to change FX slot 1 to a Hall reverb, the OSC command is:

/fx/1/mdl/ ,s HALL

I guess the “,s” designates it as a string message. However, Gig Performer doesn’t seem to like that as a format for an OSC command and rejects it. Any idea on how to format that command correctly so that GP can send it? For what it’s worth, I can successfully send the command using a little application called Wing Live Toolbox that was written by Paul Vannatto.

OSC_SendString("/fx/1/mdl/" ,“HALL”)

That “,s” is not part of the OSC message

You can’t currently do it from the Widget though (that’s on our list) so you would have to use GPScript

Would you mind creating a script for me that executes when a button is pressed, assuming the GPScript name is “revtype”?

I think I got it:

var
revtype : Widget

On WidgetValueChanged(newValue : double) from revtype
OSC_SendString("/fx/1/mdl", "HALL")

End

Ok so I found that customized that script from the very useful code templates. But how would I customize it if I only wanted the reverb to switch to “HALL” when a button is toggled on, but not off? I want the activation to only occur if the widget’s new value is 1.

What about something like that?

Var
  revtype : Widget 

On WidgetValueChanged(newValue : double) from revtype

  If newValue == 1
  Then
     OSC_SendString("/fx/1/mdl", "HALL")
  End

End
1 Like

Beautiful. Now, I don’t mean to stretch this topic, but I’m also curious if you can execute multiple functions simultaneously; or in this specific case, multiple OSC_SendString commands?

Of course. Just add more OSC_SendString calls after the first one