Changing Song in second instance by OSC

I try to set the new function of changing the song in the second instance by sending the OSC from the first instance. It doesn’t work.
Following my settings:

The receive client port is the same as the send client port…

The listening port on the 2nd instance has to match the remote client port of the main instance. I can’t see what the listening port is on the second instance in your picture because the tool tip is covering it. Also, they should not both use the same send port. In your example, they are both using 8001 to send.


the listening at the second is the same as the send at the first.
Then I have to change the send at the second, I will try later and will update.

No difference, still no response.

Provided that rackspace names are the same, clicking on the desired rackspace in the main instance will automatically change to the corresponding rackspace in the “OSCtest” instance.

If you’re just sending OSC between instances you can use the locahost address.

1 Like

You should use localhost as the IP address could change depending on the available router

1 Like


with it works for the second instance.
If I do the same setting at the third instance it is not reacting…

It works only with daisy chaining the instances … the third instance needs to be triggered by the second instance


You made my day! :heart_eyes_cat:
It works!

Yes, exactly. This is an example setup that works.
Link: Sync Instances - new 4.7 feature - #5 by npudar

Hi specialists,

the changing of the songs works smooth; but
I would like to avoid the changing of the song parts.
Even if I give them different names in the different
instances, if I change the song part in the first instance it will chance as well in the second and the third.
How can I stop that?


You don’t just switch to a song, you switch to a song part within a song. For example, when you switch to song 33, you’re actually switching to song 33, song part 1. So, using this feature you cannot avoid switching to other song parts.
I suppose you could duplicate the song parts that you don’t want to switch away from in the 2nd(and 3rd) instance to match the song parts from the 1st instance. That way when the song part trigger occurs, you’ll still be matched up the way you want.
Maybe someone else has some other ideas.

Sorry, but that didn’t work at all.
It“s clear that you switch to a song part (not necessarily the first one) if you choose a song, but I can not eliminate the second or third part of the song. This is needed, just at a different time of the song as the change at instance one is needed.

In the second instance is our guitar setup.
The song parts are the different styles of the guitar- Overdrive- Phaser a.s.o.
Our guitarist can / needs to choose the different parts with his midi switch board.

If I cannot switch this somehow of, I need to deactivate the OSC changing of songs/ parts and have to find another way how to manage it

As has been pointed out, syncing actually syncs song parts, not songs, So it sounds like you want to sync to the first part of a song but not the second part, etc. What happens then when someone wants to sync parts 1, 3 and 5 but not parts 2 and 4?

One would have to add a “respond to sync request” (say) in every song part. I’m not sure how much benefit there would be to this to the greater community.

Probably, for your needs, you’d be better off disabling receive sync and then creating an OSC callback in a GP Script in the global rackspace and then respond to that any way you want

By the way, please adjust your title of this topic. Changing song in second instance by OSC worked exactly as designed — it simply doesn’t do what you want, i.e. partial syncing.

Then I have to switch it off.
I want to avoid scripting, it’s another complexity on top…
With a second and third instance I create a kind of independence, if I cannot switch song parts
individually this is gone.
I am not just playing a single instrument through GP, it’s the whole band.

Sigh - I think you’re seriously overestimating the difficulty.

  1. Turn off the automatic sync (both TX and RX) on your instances

  2. Create the following script in the global rackspace of your main instance - it’s just three lines!

// Called when you switch rackspaces
On Rackspace(oldRackspaceIndex : integer, newRackspaceIndex : integer)
    SendOSCMessage { /GigPerformer/SwitchToSong, newRackspaceIndex } to "":4568

but change the IP address and the port to match the IP address and listening port of the receiving instance.

  1. Compile and you’re done! That should just do exactly what you want
1 Like

@Flodder wants to change a song via osc.
Your script reacts on rackspace changes.

Ooops, my bad — wasn’t paying close attention

That said, just use On Song callback in a gigscript instead - that will work

On Song(oldSongIndex : integer, newSongIndex : integer)
   SendOSCMessage { /GigPerformer/SwitchToSong, newSongIndex } to "":4568

1 Like