For the next gig I am playing we use Ableton Live for Backing Tracks.
Ableton runs on a different machine and I can not control It because it is about 10 meters away from me…
So I am controlling it via a local Ethernet Network and sending OSC Message from Gig Performer.
Works fine, but when the correct scene in Ableton Live is not selected and I press play, then …
Solution: In Ableton Live a M4L patch observes the current select scene and sends back an OSC Message to Gig Performer
This way I can switch a song, send OSC message to Ableton Live to select the desired scene and from Ableton Live the selected scene Name is sent back.
This way I am sure the next song is the correct one.
Here the patch which observes the current scene
And here how it looks in Gig Performer
And this are the scripts used to send and receive the OSC messages
Gig Script
var CurrentSong : String
Artist : String
MOSC : OSCMessage
on Song (old:integer, new:integer)
SetSongPart(0)
CurrentSong = GetCurrentSongName()
Artist = GetSongArtistName(GetCurrentSongIndex())
Artist = ToLowercase(Artist)
OSC_SetAddress(MOSC, "/SelectSong")
OSC_ClearArgs(MOSC)
OSC_AppendStringArg(MOSC, Artist)
OSC_SendSpecific(MOSC, "127.0.0.1", 8000)
end
// Called on attempt to change playhead status - (Rackspace and GigScript only)
On SystemEvent(newValue : double) Matching PlayheadStateChanged
if newValue == 1.0 then
OSC_SetAddress(MOSC, "/LaunchScene")
OSC_SendSpecific(MOSC, "127.0.0.1", 8000)
else
OSC_SetAddress(MOSC, "/StopScene")
OSC_SendSpecific(MOSC, "127.0.0.1", 8000)
end
End
Global Rackspace Script
var ActualSong : Widget
On OSCMessageReceived(m : OSCMessage) Matching "/ActualSong"
Print(OSC_GetArgAsString(m, 0))
ActualSong.SetWidgetLabel(OSC_GetArgAsString(m, 0) )
End