Fix auto-play next track during pause/unpause transitions
All checks were successful
Build and Release / build-and-release (push) Successful in 53s
All checks were successful
Build and Release / build-and-release (push) Successful in 53s
When rapidly pressing play/pause, MPV briefly reports idle-active as true during state transitions. Combined with our player_state being set to Playing after unpause, this incorrectly triggered the auto-play next track logic. Fix: Add is_paused() check to auto-play condition to ensure we only advance to next track when the current track actually ends, not during pause state transitions.
This commit is contained in:
@@ -304,7 +304,8 @@ async fn run_app<B: ratatui::backend::Backend>(
|
||||
|
||||
// Check if track ended and play next (but only if track was actually loaded AND played)
|
||||
// Require position > 0.5 to ensure track actually started playing (not just loaded)
|
||||
if player.is_idle() && state.player_state == PlayerState::Playing && state.current_duration > 0.0 && state.current_position > 0.5 {
|
||||
// Also check !is_paused to avoid triggering during pause/unpause transitions
|
||||
if player.is_idle() && !player.is_paused() && state.player_state == PlayerState::Playing && state.current_duration > 0.0 && state.current_position > 0.5 {
|
||||
state.play_next();
|
||||
// play_next() handles the play mode and may stop if in Normal mode at end
|
||||
if state.player_state == PlayerState::Playing {
|
||||
|
||||
Reference in New Issue
Block a user