I think I may have painted myself into a corner with this approach! I think we just got lucky it work at all. The problem is that we are depending on the label channel value to trigger the update:
if changed2(kLabel) == 1 then
event "i", 2, 0, 1, kIndex
kIndex = kIndex < 3 ? kIndex+1 : 1
endif
but of course this only works if the label value has changes, and in some case it won’t have changed. Hmm, back to square one! The system has be agnostic of the label channel value. I’ll keep thinking. Worst case scenario, I can add a custom button for this, but I would like to work out a native solution if I can.