diff options
| author | Louis Burda <quent.burda@gmail.com> | 2024-03-13 20:53:36 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2024-03-13 20:53:36 +0100 |
| commit | 7bbbcfb5d8314a7bbe54c260a3b72648db87620e (patch) | |
| tree | 4df90f8af80d9a5d0e70fb28ba803c6764633012 /src | |
| parent | 2d9defd42391c23d3a63e866bfa843a856fd0808 (diff) | |
| download | tmus-7bbbcfb5d8314a7bbe54c260a3b72648db87620e.tar.gz tmus-7bbbcfb5d8314a7bbe54c260a3b72648db87620e.zip | |
Handle mplay exit correctly
Diffstat (limited to 'src')
| -rw-r--r-- | src/player_mplay.c | 11 |
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); |
