Transmit the program change a rackspace is reacting to

Dear community,

I wish you all a happy gigging New Year!

I have the same gig file running on two systems in parallel (as a hot backup) connected via MIDI. So the same rackspace (or song) needs to be active on both systems at any time.
When I select a rackspace via an external MIDI controller, I achieve this by simply sending the program changes to both systems.

However, when I select a rackspace (or song) in Gig Performer itself, I need to transmit the rackspace’s own program change number to the backup system order to sync both.

How could I get a rackspace to transmit the program change number it is assigned to without manually entering this number in a MIDI out module?

Best regards,

Hy @Florian,

welcome to the family.

You could use OSC messages to synchronize both instances.
I do that all the time.

When OSC is enabled in the option GP sends OSC messages
to the given IP-Address and Port

This messages look this way:
/RackspaceName Yes
/RacespaceIndex 0
/CurrentGlobalTranspose 0
/CurrentBPM 120

Now in the Gig Script Editor a simple Code can react on this OSC messages and switch to the rackspace coded in the message “/RackspaceName Yes”

This would be the gig script:

// Called when a specific osc message is received
On OSCMessageReceived(m : OSCMessage) Matching "/RackspaceName"
 SwitchToRackspaceByName(OSC_GetArgAsString(m, 0),0)

This is a proof of concept.
In real life it is a little bit more advanced:
When your are in the normal Rackpace view then you need to synchronize rackspaces/variations.

When you are in SetList Mode you need to synchronize Songs and Songparts.

That all can be done with OSC and some scripting.

1 Like

@pianopaul are your machines connected by ethernet?

Yes, correct.

Or even better when more machines have to be synched

1 Like

Dear Paul,

coming from Mainstage, I didn’t think of OSC - thanks a lot for this great suggestion! My machines are connected via LAN anyway. I will prepare that on my laptop and need test it when im back at my touring rig.

One thing, however, confuses me: Since I enter a “remote client IP address”, am I limited to one listener for OSC messages? Or could I still additionally connect my iPad (TouchOSC) or more devices to display the current drawbar settings?

Best regards,

No, with scripting you can use this functions

OSC_SendStringSpecific(address : String, value : String, ipAddress : String, port : Integer)
OSC_SendDoubleSpecific(address : String, value : Double, ipAddress : String, port : Integer)
OSC_SendIntegerSpecific(address : String, value : Integer, ipAddress : String, port : Integer)

And you are independent from the options