commit - 84e97354c3e6631ee825ff27089726f5b39ba334
commit + a973348dc123448b654e5e3786a8d2d2ad9c91bf
blob - 724f19a4fbf4447f416030a79b91d823ceccdfa6
blob + cf27175052e868c9c6ab9f654c36fb0eb39d5791
--- mpd/mpd_now_playing.c
+++ mpd/mpd_now_playing.c
return false;
}
enum mpd_state state = mpd_status_get_state(status);
+ if (state != MPD_STATE_PLAY) {
+ mpd_status_free(status);
+ return true;
+ }
int position = mpd_status_get_song_pos(status);
int song_id = mpd_status_get_song_id(status);
unsigned elapsed_ms = mpd_status_get_elapsed_ms(status);
blob - c2fbb26e67987d182d86ff1049ef76170caaab8d
blob + 0f1e09bed68bfe8d262e17fbcacd27a087317bd4
--- mpd/tests/test_mpd_tools.py
+++ mpd/tests/test_mpd_tools.py
self.assertEqual(value["elapsed_seconds"], 12.5)
self.assertEqual(value["song_id"], 1)
+ def test_now_playing_is_silent_when_paused_or_stopped(self):
+ for state in ("pause", "stop"):
+ with self.subTest(state=state):
+ self.seed_queue(["track.ogg"], current=0, state=state)
+ for arguments in ((), ("--json",)):
+ with self.subTest(arguments=arguments):
+ result = self.run_tool("mpd_now_playing", *arguments)
+ self.assertEqual(result.returncode, 0, result.stderr)
+ self.assertEqual(result.stdout, "")
+
def test_explicit_config_helper_overrides_connection_environment(self):
self.seed_queue(["helper.ogg"], current=0, state="play")
with tempfile.TemporaryDirectory() as directory: