diff options
| -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); |
