Flashing behaviour when section is queued

Hey!

I have buttons setup in a grid for song sections and they highlight each section when it’s active. I was wondering if there’s a way to have a section flash when queueing it as well? At the moment I get unsure if I’ve actually pressed the section button properly, so this would be awesome for that peace of mind :joy::joy:

Hey @Adam_Molinaro,

Yes, this is totally doable using a Dynamic Background Color on each of your section buttons .

AbleSet exposes /setlist/queuedName as an OSC value, which gives you the name of the currently queued song and section. You can read the queued section specifically with osc("/setlist/queuedName", 1) and compare it against each button’s section name.

For the flash effect, the template uses osc("/global/beatsPosition") while Live is playing (beat-synced, so the blink rate follows your tempo), and falls back to a 1-second interval when Live is stopped.

On each of your section buttons, go to Background Color and enable the Dynamic toggle. Then paste this template, replacing "Chorus" with the actual section name for that button:

${(() => {
  const sectionName = "Chorus"; // change this to match each button's section
  const isActive = osc("/setlist/activeSectionName") === sectionName;
  const isQueued = osc("/setlist/queuedName", 1) === sectionName;

  if (isActive) return "green-600";
  if (isQueued) {
    const tick = osc("/global/isPlaying")
      ? Math.floor(osc("/global/beatsPosition")) % 2  // beat-synced when playing
      : Math.floor(now() / 1000) % 2;                 // 1-second interval when stopped
    return tick === 0 ? "yellow-500" : "yellow-900";
  }
  return "green-950"; // default
})()}

This replaces whatever you’re currently using for the active highlight.
The active state logic is already built in (green-600 when active), so you just need to update the Background Color field on each button.

Would that work for your use case?

Yes that seems to be the idea, I just need it tweaked a bit though… The way I have the buttons setup is that it’s not like a chorus button for every song, but it’s all the sections of the song and they populate in order that they occur in the song, and they also take the colour from the sections midi clips.

This is what my current dynamic background script is:

${osc(“/setlist/sectionColors”, 0+ shared(“sectionOffset”))}-${osc(“/setlist/activeSectionIndex”) === 0 + shared(“sectionOffset”) ? 600 : 900}

And then consequently next number for each section