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:
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);