To be sure it is almost always sync, I have set a timer of 4 measure that restart loops at each end of the timer. So each loop is reset every 4 mesure. The bad side is that sometimes it may cuts a little.
I tryed with "scheduled next play but i had an issue (not sure to remember exactly which one) I'll give another try later to get rid of theses small cuts.
I have no dev background, so i guess my code is totally a mess and could be improved way better. I'll try to improve it brick by bricks :)
I totaly agree for the "time progress bar", maybe I'll do it for the green state too.