Merge pull request #1134 from chme/podcast-updates
[library] Directly notify listeners of db changes after adding new items
This commit is contained in:
commit
724cfa0093
|
@ -3581,7 +3581,7 @@ jsonapi_reply_library_playlist_delete(struct httpd_request *hreq)
|
||||||
return HTTP_BADREQUEST;
|
return HTTP_BADREQUEST;
|
||||||
}
|
}
|
||||||
|
|
||||||
db_pl_delete(pl_id);
|
library_playlist_remove_byid(pl_id);
|
||||||
|
|
||||||
return HTTP_NOCONTENT;
|
return HTTP_NOCONTENT;
|
||||||
}
|
}
|
||||||
|
|
|
@ -553,6 +553,16 @@ item_add(void *arg, int *retval)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scanning = false;
|
||||||
|
|
||||||
|
if (ret == LIBRARY_OK)
|
||||||
|
{
|
||||||
|
if (handle_deferred_update_notifications())
|
||||||
|
listener_notify(LISTENER_UPDATE | LISTENER_DATABASE);
|
||||||
|
else
|
||||||
|
listener_notify(LISTENER_UPDATE);
|
||||||
|
}
|
||||||
|
|
||||||
*retval = ret;
|
*retval = ret;
|
||||||
return COMMAND_END;
|
return COMMAND_END;
|
||||||
}
|
}
|
||||||
|
@ -732,6 +742,25 @@ library_playlist_remove(char *virtual_path)
|
||||||
return commands_exec_sync(cmdbase, playlist_remove, NULL, virtual_path);
|
return commands_exec_sync(cmdbase, playlist_remove, NULL, virtual_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
library_playlist_remove_byid(int pl_id)
|
||||||
|
{
|
||||||
|
if (scanning)
|
||||||
|
{
|
||||||
|
DPRINTF(E_INFO, L_LIB, "Scan already running, ignoring request to remove playlist '%d'\n", pl_id);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
db_pl_delete(pl_id);
|
||||||
|
|
||||||
|
if (handle_deferred_update_notifications())
|
||||||
|
listener_notify(LISTENER_UPDATE | LISTENER_DATABASE);
|
||||||
|
else
|
||||||
|
listener_notify(LISTENER_UPDATE);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
library_queue_save(char *path)
|
library_queue_save(char *path)
|
||||||
{
|
{
|
||||||
|
@ -762,8 +791,13 @@ library_queue_item_add(const char *path, int position, char reshuffle, uint32_t
|
||||||
int
|
int
|
||||||
library_item_add(const char *path)
|
library_item_add(const char *path)
|
||||||
{
|
{
|
||||||
if (library_is_scanning())
|
if (scanning)
|
||||||
return -1;
|
{
|
||||||
|
DPRINTF(E_INFO, L_LIB, "Scan already running, ignoring request to add item '%s'\n", path);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
scanning = true; // TODO Guard "scanning" with a mutex
|
||||||
|
|
||||||
return commands_exec_sync(cmdbase, item_add, NULL, (char *)path);
|
return commands_exec_sync(cmdbase, item_add, NULL, (char *)path);
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,6 +189,9 @@ library_playlist_item_add(const char *vp_playlist, const char *vp_item);
|
||||||
int
|
int
|
||||||
library_playlist_remove(char *virtual_path);
|
library_playlist_remove(char *virtual_path);
|
||||||
|
|
||||||
|
int
|
||||||
|
library_playlist_remove_byid(int plid);
|
||||||
|
|
||||||
int
|
int
|
||||||
library_queue_save(char *path);
|
library_queue_save(char *path);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue