You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement proper inter-note silence and robust non-blocking playback for the Buzzer.
- Add _in_gap and _gap_end_time state to track short gaps between notes instead of sleeping inside the timer callback; refactor _update to advance songs after the gap expires and stop the timer when the song finishes.
- Fix note parsing by initializing octave_pos and handling modifier positions to avoid undefined behavior.
- When starting single non-blocking notes, clear any active song state and reset gap flags; when starting a non-blocking song, stop any existing timer/playback before beginning.
- Ensure _in_gap is cleared on reset.
- Update resetbot to call Buzzer.get_default_buzzer().reset_buzzer() (use instance) instead of calling a class method.
These changes remove blocking sleeps from timer callbacks, prevent race conditions between single-note and song playback, and make non-blocking behavior deterministic.
0 commit comments