summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2024-03-13 20:53:36 +0100
committerLouis Burda <quent.burda@gmail.com>2024-03-13 20:53:36 +0100
commit7bbbcfb5d8314a7bbe54c260a3b72648db87620e (patch)
tree4df90f8af80d9a5d0e70fb28ba803c6764633012 /src
parent2d9defd42391c23d3a63e866bfa843a856fd0808 (diff)
downloadtmus-7bbbcfb5d8314a7bbe54c260a3b72648db87620e.tar.gz
tmus-7bbbcfb5d8314a7bbe54c260a3b72648db87620e.zip
Handle mplay exit correctly
Diffstat (limited to 'src')
-rw-r--r--src/player_mplay.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/player_mplay.c b/src/player_mplay.c
index 6c211a8..204d1b2 100644
--- 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);