I am using On Song() in a Gig Script to do some per-song setup whenever I select a new song. This works fine when I switch from one song to another within a setlist.
However, if I change to a new setlist (thus landing on the first song in the new setlist) On Song() apparently is not called and thus the desired setup does not happen as currently implemented.
I would have thought that the arrival at the (first, new) song in the new setlist would trigger On Song().
Was this a specific design decision, or more of an oversight?
Two questions -
Should GP behave differently in this respect?
Given the current GP behavior, what is the expected user action to accomplish/trigger setup of the new song (in the new setlist) when first chosen?
I can imagine scenarios where having a song activate automatically upon changing setlists would not be desirable. To me it makes more sense to have to purposefully select a song in a setlist for it to be considered active.
At current, the song selected in a setlist is the song that is recalled the next time you switch to that setlistâe.g Letâs say you were on Song 4 in Setlist âAâ and then move to Setlist âBâ. When you return to Setlist âAâ, the song it moves to automatically will be Song 4.
Now, letâs image Song 4 in Setlist âAâ was the last song in a set from a previous gig, that had a triggered File Player starting and lighting events upon moving to that songâit was for a finale type scenario.
So, a week later youâre at a new gig, havenât done anything to Setlist âAâ sinceâyouâre in Setlist âBâ.
You then realize you need to load a song from Setlist âAâ âbut itâs not Song 4.
You load Setlist âAâ andâbam, the lights change and the File Player starts playing a song.
Do we really want that to be the default behavior?
If so, then how would one then move from one setlist to another without activating the song automatically selected in that new setlist?
I would say that if we had the ability to move from Setlist A, Song 3 to Setlist B, Song 7 in one selection, then what you suggest would make senseâyouâre arriving at a specific, intentioned location.
However, since we have to move in stages insteadâChoose Setlist B, and then choose Song 7âit creates an odd scenario where you initially arrive in a setlist without an intentioned destination, and that can be very awkward.
Arriving at a setlist and initially doing nothing seems fine and desirable (I agree), but then you need to be able to take an action to activate the song you arrived at without having to first switch to another (wrong) song. Having to switch to a âwrongâ song before switching back to the ârightâ one creates the same problem you describe, but within a setlist rather than when switching setlists.
Yes, true----and your suggestion is more consistent with what already happens with SongPart actions and such. I just want to point out that since we canât automatically select a destination in a new setlist, there can be pitfalls to automatically activating the song selected by switching to that new setlistâeven when one isnât using any scripting.
That may be worth doing. Or we could perhaps always select the first song of a setlist when switching and one could arrange for that song to be a âdo nothingâ
The problem with that is that the first song in a setlist is not necessarily the one that is automatically selected when switching setlists. It will switch to the song that was selected the last time the setlist was active. Whatâs wrong with selecting nothing at all?
Why not select nothing instead? Then whichever song you select is done so purposefully, not by default. Paging through setlists doesnât necessarily mean you want to switch to a song in that particular listâat least, not at that moment.
Because that is an entirely different and complicated notion that would break a lot of code.
In GP there is always something selected and to introduce the concept of nothing would require major changes to the code because we would now have to check if something is selected, all over the place, before continuing.
I donât see the value of adding such a complication to solve his particular issue.
Itâs like the difference between adjusting a tax vs. introducing a tax. The former is reasonably easy (from now on the sales tax will be 8% instead of 7%) vs the latter (every company now has to start keeping track of all sales and have a system to collect taxes and send them to the government)
Thatâs a bug waiting to happen! I need to check that. Whenever you add a song the system should either switch it or stay with some already selected song.
But why? Each Song/songpart can have actions that are automatically triggered by switching to it. If you donât specifically want that song, and subsequently those actions, then that is not desirable behavior. As per one of my above examples, consider a songpart in a song sending out DMX commands.
But that is why I suggested that when you switch setlists, you always get the very first item, which can be blank.
The dilemma here is the modeless model. In GP, we donât really distinguish between editing (adding or removing songs, say) and performing so here is no notion of ânothing happens when you select a different partâ if you are editing rather than performing.