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.
So:
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?
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:
/ClearAll
/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)
End
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.
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?