use queue_version to refresh playlist, move playlist refreshing to empdd
This commit is contained in:
parent
17e5b36deb
commit
cfcbf52afa
|
@ -286,7 +286,8 @@ empc_status(void *d EINA_UNUSED, int t EINA_UNUSED, Empd_Empc_Status_Data *ev)
|
||||||
empd_empc_current_song_call(empd_proxy);
|
empd_empc_current_song_call(empd_proxy);
|
||||||
up |= status_update(ev->state);
|
up |= status_update(ev->state);
|
||||||
if (up) title_update();
|
if (up) title_update();
|
||||||
if (empd_queue_length != ev->queue_length)
|
/* this should only run on startup...other updates are automatic */
|
||||||
|
if ((!empd_queue_length) && (empd_queue_length != ev->queue_length))
|
||||||
{
|
{
|
||||||
/* load current playlist incrementally (max 30):
|
/* load current playlist incrementally (max 30):
|
||||||
* - don't block daemon forever with large playlists
|
* - don't block daemon forever with large playlists
|
||||||
|
|
|
@ -108,6 +108,8 @@ static Eina_Mempool *slist_mempool = NULL;
|
||||||
static Eldbus_Connection *dbus_conn = NULL;
|
static Eldbus_Connection *dbus_conn = NULL;
|
||||||
static Eldbus_Service_Interface *empd_iface = NULL;
|
static Eldbus_Service_Interface *empd_iface = NULL;
|
||||||
|
|
||||||
|
static unsigned int empd_queue_version = 0;
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
fdh_update(void)
|
fdh_update(void)
|
||||||
{
|
{
|
||||||
|
@ -320,6 +322,13 @@ fdh_func(void *d EINA_UNUSED, Ecore_Fd_Handler *fdh EINA_UNUSED)
|
||||||
mpd_status_get_total_time(st), mpd_status_get_elapsed_time(st), mpd_status_get_kbit_rate(st),
|
mpd_status_get_total_time(st), mpd_status_get_elapsed_time(st), mpd_status_get_kbit_rate(st),
|
||||||
af ? af->sample_rate : 0, af ? af->bits : 0, af ? af->channels : 0,
|
af ? af->sample_rate : 0, af ? af->bits : 0, af ? af->channels : 0,
|
||||||
mpd_status_get_next_song_pos(st), mpd_status_get_next_song_id(st));
|
mpd_status_get_next_song_pos(st), mpd_status_get_next_song_id(st));
|
||||||
|
if (empd_queue_version && (empd_queue_version != mpd_status_get_queue_version(st)))
|
||||||
|
{
|
||||||
|
mpd_async_send_command(empd->async, "playlistinfo", NULL);
|
||||||
|
cmd_append(EMPD_COMMAND_QUEUE_LIST);
|
||||||
|
fdh_update();
|
||||||
|
}
|
||||||
|
|
||||||
mpd_status_free(st);
|
mpd_status_free(st);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue