"Push" setlist to OSC rather than "pull"

Dear community,

I can the current setlist on my old TouchOSC (iPad 1!) and select any song in that setlist. Both works (using /SongName0… and /SelectSongByIndex). In advance I need to get the setlist (using “/SetList/GetSongList”) to TouchOSC - this works, too, when triggered by TouchOSC.

However, in order to have it automated and always be up to date even after a last-minute change, I would like to “push” the setlist to TouchOSC on song change (or timer-based) rather than “getting” it manually from TouchOSC.

So:
How can I trigger a GetSongList from within Gig Performer and have GP respond to TouchOSC?

My failed attempt:

On Song(oldSongIndex : Integer, newSongIndex : Integer)
OSC_SendStringSpecific("/SetList/GetSongList","",“127.0.0.1”,[GP listening port])
End

With this attempt, Gig Performer does not respond with the setlist to TouchOSC.

Best regards,
Florian

Where were you looking for the syntax for the [GP listening port]?
It is a function called OSC_GetGPListeningPort()

On Song(oldSongIndex : Integer, newSongIndex : Integer)
 OSC_SendStringSpecific("/SetList/GetSongList","","127.0.0.1",8007)
End

This gig script is working, GP listens to 8007 on my machine

1 Like

Thanks for your quick replies, you two!
I’m afraid, I wasn’t precise enough. The [GP Listening Port] was just a remark to insert my specific GP listening port.

The real problem is, that this script using the correct port will not make GP send out the song list to TouchOSC - at least song list in my TouchOSC won’t change. I am confused that it works for Paul. Where does GP reply with the song list to in your case?

To sum it up: Instead of the manual way:
TouchOSC button → send GetSongList → Gig Performer → Reply with song list → TouchOSC updates
I would like:
Gig Performer song change (or timer) → Makes itself send out song list → TouchOSC updates

Best regards,
Florian

It does work, I tested the script with TouchOSC on my iPhone. The setlist command and song list was received by TouchOSC (checked in its OSC monitor).

1 Like

If your iPad will run the latest TouchOSC, then it includes its own version of scripting. You can get it to detect the song or setlist changed OSC message and then send back the request to get the song list.

You can see an example in this post:

Thank you two again!
With your help, I was able to understand how to get addresses and ports right to configure the system in a way that pushes the songs to my old iPad 1 running the original TouchOSC app in the order of the setlist.
To incorporate last-minute changes it gets updated on every song change.
From that list on the iPad, I can now touch on any song and have it activated in Gig Performer.

TouchOSC:
To display the song title, I had to create labels in TouchOSC that respond to “/SongName0”, “/SongName1” and so on. To choose any song, I put a push button on top of each label transmitting “/SelectSongByIndex” while the value sent on “press” represents the number of the song in the list.

In the following script, 127.0.0.1 addresses GP itself on the GP listening port that, in turn, transmits its response to the Remote client IP address (iPad) on the the remote client port (all defined in global settings).
On Song(oldSongIndex : Integer, newSongIndex : Integer)
OSC_SendStringSpecific("/SetList/GetSongList","",“127.0.0.1”,[port GP is listening on])
End

2 Likes