playlist: provide information about "next song"
In random mode, this patch allows clients to see the "next song" in the queue.
This commit is contained in:
parent
b358962960
commit
cde4cb944e
@ -62,6 +62,8 @@
|
|||||||
#define COMMAND_STATUS_PLAYLIST_LENGTH "playlistlength"
|
#define COMMAND_STATUS_PLAYLIST_LENGTH "playlistlength"
|
||||||
#define COMMAND_STATUS_SONG "song"
|
#define COMMAND_STATUS_SONG "song"
|
||||||
#define COMMAND_STATUS_SONGID "songid"
|
#define COMMAND_STATUS_SONGID "songid"
|
||||||
|
#define COMMAND_STATUS_NEXTSONG "nextsong"
|
||||||
|
#define COMMAND_STATUS_NEXTSONGID "nextsongid"
|
||||||
#define COMMAND_STATUS_TIME "time"
|
#define COMMAND_STATUS_TIME "time"
|
||||||
#define COMMAND_STATUS_BITRATE "bitrate"
|
#define COMMAND_STATUS_BITRATE "bitrate"
|
||||||
#define COMMAND_STATUS_ERROR "error"
|
#define COMMAND_STATUS_ERROR "error"
|
||||||
@ -508,6 +510,14 @@ handle_status(struct client *client,
|
|||||||
getPlayerErrorStr());
|
getPlayerErrorStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
song = getPlaylistNextSong(&g_playlist);
|
||||||
|
if (song >= 0) {
|
||||||
|
client_printf(client,
|
||||||
|
COMMAND_STATUS_NEXTSONG ": %i\n"
|
||||||
|
COMMAND_STATUS_NEXTSONGID ": %u\n",
|
||||||
|
song, getPlaylistSongId(&g_playlist, song));
|
||||||
|
}
|
||||||
|
|
||||||
return COMMAND_RETURN_OK;
|
return COMMAND_RETURN_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,6 +334,21 @@ int getPlaylistCurrentSong(const struct playlist *playlist)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getPlaylistNextSong(const struct playlist *playlist)
|
||||||
|
{
|
||||||
|
if (playlist->current >= 0)
|
||||||
|
{
|
||||||
|
if (queue_length(&playlist->queue) > 1)
|
||||||
|
return queue_order_to_position(&playlist->queue,
|
||||||
|
playlist->current + 1);
|
||||||
|
else if (playlist->queue.repeat == 1)
|
||||||
|
return queue_order_to_position(&playlist->queue,
|
||||||
|
playlist->current);
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned long
|
unsigned long
|
||||||
getPlaylistVersion(const struct playlist *playlist)
|
getPlaylistVersion(const struct playlist *playlist)
|
||||||
{
|
{
|
||||||
|
@ -180,6 +180,8 @@ void setPlaylistRandomStatus(struct playlist *playlist, bool status);
|
|||||||
|
|
||||||
int getPlaylistCurrentSong(const struct playlist *playlist);
|
int getPlaylistCurrentSong(const struct playlist *playlist);
|
||||||
|
|
||||||
|
int getPlaylistNextSong(const struct playlist *playlist);
|
||||||
|
|
||||||
unsigned
|
unsigned
|
||||||
getPlaylistSongId(const struct playlist *playlist, unsigned song);
|
getPlaylistSongId(const struct playlist *playlist, unsigned song);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user