A Sonic Pi live_loop automatically cues its own name each cycle, making sync :loop_name safe without explicit cue calls
Every live_loop in Sonic Pi implicitly cues its own name at the end of each cycle. This means sync :kick in another loop will be satisfied as long as a live_loop named :kick is running — no explicit cue :kick call is needed. This design makes cross-loop synchronization simple and deadlock-free when loop names match. It also means the canonical panic fallback live_loop :bass, sync: :kick do ... end is safe: as long as :kick runs, :bass is guaranteed to receive its sync cue.
Examples
live_loop :kick do; sample :bd_haus; sleep 1; end — automatically cues :kick each bar. live_loop :bass, sync: :kick do ... end — will fire in phase with :kick without any explicit cue.
Assessment
Explain why live_loop :bass, sync: :kick do ... end does not need an explicit cue :kick call. When would this synchronization silently fail, and how would you diagnose it?