Thanks @shieman for the heads-up. Looks like Claude made an assumption that was incorrect. It didn’t affect how it was working because is_muted always fell back to the local state tracker. As long as I didn’t manually change any properties via the Zynthian UI itself it would always have a consistent understanding of the loop state.
I’m in the process of debugging this now. That said, through my own personal testing I’ve found this to be robust, so perhaps local state tracking is sufficient. I’ll post an updated version when I have the new code working.
This version checks the state of each loop directly before taking action. I have been testing it out for quite some time and found it to be reliable. My thoughts are this should replace the existing zynthian_ctrldev_sooperlooper_ccx10.py that @riban promoted to the Vangelis build, but I’m not comfortable personally checking code into the repo. Just making this available in case it is of use to others.
I just updated the driver sooperlooper_ccx10 with your latest changes. Please, for next changes, try to base your changes in this driver file. This will ease integration. If you could do a PR, way better. It’s really easy to do. Simply fork the zynthian-ui report, commit your changes and send PR.