All (indirect) callers of queueSong() ensure that the queue state is
BLANK, so there is no need to check it in queueSong() again. As a
side effect, queueSong() cannot fail anymore, and can return void.
Also, playlist_queueError and all its error handling can go away.
---
src/player.c | 11 ++++-------
src/player.h | 2 +-
src/playlist.c | 16 +++-------------
3 files changed, 8 insertions(+), 21 deletions(-)
diff --git a/src/player.c b/src/player.c
index 2df6b6c..84fd163 100644
--- a/src/player.c
+++ b/src/player.c
@@ -165,15 +165,12 @@ char *getPlayerErrorStr(void)
return *error ? error : NULL;
}
-int queueSong(Song * song)
+void queueSong(Song * song)
{
- if (pc.queueState == PLAYER_QUEUE_BLANK) {
- set_current_song(song);
- pc.queueState = PLAYER_QUEUE_FULL;
- return 0;
- }
+ assert(pc.queueState == PLAYER_QUEUE_BLANK);
- return -1;
+ set_current_song(song);
+ pc.queueState = PLAYER_QUEUE_FULL;
}
enum player_queue_state getPlayerQueueState(void)
diff --git a/src/player.h b/src/player.h
index b3cf207..de237c4 100644
--- a/src/player.h
+++ b/src/player.h
@@ -129,7 +129,7 @@ int getPlayerError(void);
void playerWait(void);
-int queueSong(Song * song);
+void queueSong(Song * song);
enum player_queue_state getPlayerQueueState(void);
diff --git a/src/playlist.c b/src/playlist.c
index cc2a67f..0f6f1d0 100644
--- a/src/playlist.c
+++ b/src/playlist.c
@@ -62,7 +62,6 @@ static int playlist_state = PLAYLIST_STATE_STOP;
int playlist_max_length = DEFAULT_PLAYLIST_MAX_LENGTH;
static int playlist_stopOnError;
static int playlist_errorCount;
-static int playlist_queueError;
static int playlist_noGoToNext;
int playlist_saveAbsolutePaths = DEFAULT_PLAYLIST_SAVE_ABSOLUTE_PATHS;
@@ -491,11 +490,7 @@ static void queueNextSongInPlaylist(void)
get_song_url(path_max_tmp,
playlist.
songs[playlist.order[playlist.queued]]));
- if (queueSong(playlist.songs[playlist.order[playlist.queued]]) <
- 0) {
- playlist.queued = -1;
- playlist_queueError = 1;
- }
+ queueSong(playlist.songs[playlist.order[playlist.queued]]);
} else if (playlist.length && playlist.repeat) {
if (playlist.length > 1 && playlist.random) {
randomizeOrder(0, playlist.length - 1);
@@ -506,11 +501,7 @@ static void queueNextSongInPlaylist(void)
get_song_url(path_max_tmp,
playlist.
songs[playlist.order[playlist.queued]]));
- if (queueSong(playlist.songs[playlist.order[playlist.queued]]) <
- 0) {
- playlist.queued = -1;
- playlist_queueError = 1;
- }
+ queueSong(playlist.songs[playlist.order[playlist.queued]]);
}
}
@@ -851,7 +842,6 @@ static void playPlaylistOrderNumber(int orderNum)
playlist_state = PLAYLIST_STATE_PLAY;
playlist_noGoToNext = 0;
playlist.queued = -1;
- playlist_queueError = 0;
DEBUG("playlist: play %i:\"%s\"\n", orderNum,
get_song_url(path_max_tmp,
@@ -953,7 +943,7 @@ void syncPlayerAndPlaylist(void)
if (getPlayerState() == PLAYER_STATE_STOP)
playPlaylistIfPlayerStopped();
else
- syncPlaylistWithQueue(!playlist_queueError);
+ syncPlaylistWithQueue(1);
syncCurrentPlayerDecodeMetadata();
}
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Musicpd-dev-team mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team