tmus

TUI Music Player
git clone https://git.sinitax.com/sinitax/tmus
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

commit 7bbbcfb5d8314a7bbe54c260a3b72648db87620e
parent 2d9defd42391c23d3a63e866bfa843a856fd0808
Author: Louis Burda <quent.burda@gmail.com>
Date:   Wed, 13 Mar 2024 20:53:36 +0100

Handle mplay exit correctly

Diffstat:
Msrc/player_mplay.c | 11+++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/player_mplay.c b/src/player_mplay.c @@ -194,8 +194,7 @@ player_update(void) if (!player.loaded) { queue_empty = list_empty(&player.queue); if (player.track && player.autoplay || !queue_empty) { - if (player_next() != PLAYER_OK) - player_clear_track(); + player_next(); } else if (player.track) { player_clear_track(); } @@ -208,6 +207,10 @@ player_update(void) fputc(MPLAY_ACTION_KEY_STATUS, mplay.stdin); line = mplay_readline(); if (!line || !(arg = mplay_info_arg(line, MPLAY_INFO_STR_STATUS))) { + if (line && (arg = mplay_info_arg(line, MPLAY_INFO_STR_EXIT))) { + player_next(); + return; + } mplay_kill(); MPLAY_STATUS(line); return; @@ -336,8 +339,8 @@ player_seek(int sec) fprintf(mplay.stdin, "%i\n", sec); line = mplay_readline(); if (!line || !(arg = mplay_info_arg(line, MPLAY_INFO_STR_SEEK))) { - if ((arg = mplay_info_arg(line, MPLAY_INFO_STR_EXIT))) { - return player_clear_track(); + if (line && (arg = mplay_info_arg(line, MPLAY_INFO_STR_EXIT))) { + return player_next(); } mplay_kill(); MPLAY_STATUS(line);