mirror of
https://github.com/owntone/owntone-server.git
synced 2025-10-29 07:45:04 -04:00
[artwork] Rename to artwork_get_by_file_id and artwork_get_by_group_id
For consistency with new artwork_get_by_queue_item_id
This commit is contained in:
parent
09b9b0c7fc
commit
49171dac1a
@ -1897,7 +1897,7 @@ source_queue_item_artwork_url_get(struct artwork_ctx *ctx)
|
|||||||
/* --------------------------- SOURCE PROCESSING --------------------------- */
|
/* --------------------------- SOURCE PROCESSING --------------------------- */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
process_items(struct artwork_ctx *ctx, int item_mode)
|
process_file_items(struct artwork_ctx *ctx, int item_mode)
|
||||||
{
|
{
|
||||||
struct db_media_file_info dbmfi;
|
struct db_media_file_info dbmfi;
|
||||||
int i;
|
int i;
|
||||||
@ -2041,7 +2041,7 @@ process_group(struct artwork_ctx *ctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
invalid_group:
|
invalid_group:
|
||||||
return process_items(ctx, 0);
|
return process_file_items(ctx, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -2087,7 +2087,7 @@ process_queue_item(struct artwork_ctx *ctx)
|
|||||||
/* ------------------------------ ARTWORK API ------------------------------ */
|
/* ------------------------------ ARTWORK API ------------------------------ */
|
||||||
|
|
||||||
int
|
int
|
||||||
artwork_get_item(struct evbuffer *evbuf, int id, int max_w, int max_h, int format)
|
artwork_get_by_file_id(struct evbuffer *evbuf, int id, int max_w, int max_h, int format)
|
||||||
{
|
{
|
||||||
struct artwork_ctx ctx = { 0 };
|
struct artwork_ctx ctx = { 0 };
|
||||||
char filter[32];
|
char filter[32];
|
||||||
@ -2116,7 +2116,7 @@ artwork_get_item(struct evbuffer *evbuf, int id, int max_w, int max_h, int forma
|
|||||||
|
|
||||||
// Note: process_items will set ctx.persistentid for the following process_group()
|
// Note: process_items will set ctx.persistentid for the following process_group()
|
||||||
// - and do nothing else if artwork_individual is not configured by user
|
// - and do nothing else if artwork_individual is not configured by user
|
||||||
ret = process_items(&ctx, 1);
|
ret = process_file_items(&ctx, 1);
|
||||||
if (ret > 0)
|
if (ret > 0)
|
||||||
{
|
{
|
||||||
if (ctx.cache & ON_SUCCESS)
|
if (ctx.cache & ON_SUCCESS)
|
||||||
@ -2146,7 +2146,7 @@ artwork_get_item(struct evbuffer *evbuf, int id, int max_w, int max_h, int forma
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
artwork_get_group(struct evbuffer *evbuf, int id, int max_w, int max_h, int format)
|
artwork_get_by_group_id(struct evbuffer *evbuf, int id, int max_w, int max_h, int format)
|
||||||
{
|
{
|
||||||
struct artwork_ctx ctx = { 0 };
|
struct artwork_ctx ctx = { 0 };
|
||||||
int ret;
|
int ret;
|
||||||
@ -2202,7 +2202,7 @@ artwork_get_by_queue_item_id(struct evbuffer *evbuf, int item_id, int max_w, int
|
|||||||
|
|
||||||
if (queue_item->file_id != DB_MEDIA_FILE_NON_PERSISTENT_ID)
|
if (queue_item->file_id != DB_MEDIA_FILE_NON_PERSISTENT_ID)
|
||||||
{
|
{
|
||||||
ret = artwork_get_item(evbuf, queue_item->file_id, max_w, max_h, format);
|
ret = artwork_get_by_file_id(evbuf, queue_item->file_id, max_w, max_h, format);
|
||||||
free_queue_item(queue_item, 0);
|
free_queue_item(queue_item, 0);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the artwork image for an individual item (track)
|
* Get the artwork image for an individual library item (track)
|
||||||
*
|
*
|
||||||
* @out evbuf Event buffer that will contain the (scaled) image
|
* @out evbuf Event buffer that will contain the (scaled) image
|
||||||
* @in id The mfi item id
|
* @in id The mfi item id
|
||||||
@ -23,7 +23,7 @@
|
|||||||
* @return ART_FMT_* on success, -1 on error or no artwork found
|
* @return ART_FMT_* on success, -1 on error or no artwork found
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
artwork_get_item(struct evbuffer *evbuf, int id, int max_w, int max_h, int format);
|
artwork_get_by_file_id(struct evbuffer *evbuf, int id, int max_w, int max_h, int format);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the artwork image for a group (an album or an artist)
|
* Get the artwork image for a group (an album or an artist)
|
||||||
@ -36,7 +36,7 @@ artwork_get_item(struct evbuffer *evbuf, int id, int max_w, int max_h, int forma
|
|||||||
* @return ART_FMT_* on success, -1 on error or no artwork found
|
* @return ART_FMT_* on success, -1 on error or no artwork found
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
artwork_get_group(struct evbuffer *evbuf, int id, int max_w, int max_h, int format);
|
artwork_get_by_group_id(struct evbuffer *evbuf, int id, int max_w, int max_h, int format);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the artwork image for a queue item. If the queue item is in the library,
|
* Get the artwork image for a queue item. If the queue item is in the library,
|
||||||
|
|||||||
@ -74,20 +74,20 @@ response_process(struct httpd_request *hreq, int format)
|
|||||||
static int
|
static int
|
||||||
artworkapi_reply_nowplaying(struct httpd_request *hreq)
|
artworkapi_reply_nowplaying(struct httpd_request *hreq)
|
||||||
{
|
{
|
||||||
|
struct player_status status;
|
||||||
uint32_t max_w;
|
uint32_t max_w;
|
||||||
uint32_t max_h;
|
uint32_t max_h;
|
||||||
uint32_t id;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = request_process(hreq, &max_w, &max_h);
|
ret = request_process(hreq, &max_w, &max_h);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = player_playing_now(&id);
|
player_get_status(&status);
|
||||||
if (ret != 0)
|
if (status.status == PLAY_STOPPED)
|
||||||
return HTTP_NOTFOUND;
|
return HTTP_NOTFOUND;
|
||||||
|
|
||||||
ret = artwork_get_item(hreq->out_body, id, max_w, max_h, 0);
|
ret = artwork_get_by_queue_item_id(hreq->out_body, status.item_id, max_w, max_h, 0);
|
||||||
|
|
||||||
return response_process(hreq, ret);
|
return response_process(hreq, ret);
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ artworkapi_reply_item(struct httpd_request *hreq)
|
|||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return HTTP_BADREQUEST;
|
return HTTP_BADREQUEST;
|
||||||
|
|
||||||
ret = artwork_get_item(hreq->out_body, id, max_w, max_h, 0);
|
ret = artwork_get_by_file_id(hreq->out_body, id, max_w, max_h, 0);
|
||||||
|
|
||||||
return response_process(hreq, ret);
|
return response_process(hreq, ret);
|
||||||
}
|
}
|
||||||
@ -129,7 +129,7 @@ artworkapi_reply_group(struct httpd_request *hreq)
|
|||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return HTTP_BADREQUEST;
|
return HTTP_BADREQUEST;
|
||||||
|
|
||||||
ret = artwork_get_group(hreq->out_body, id, max_w, max_h, 0);
|
ret = artwork_get_by_group_id(hreq->out_body, id, max_w, max_h, 0);
|
||||||
|
|
||||||
return response_process(hreq, ret);
|
return response_process(hreq, ret);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1986,9 +1986,9 @@ daap_reply_extra_data(struct httpd_request *hreq)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(hreq->path_parts[2], "groups") == 0)
|
if (strcmp(hreq->path_parts[2], "groups") == 0)
|
||||||
ret = artwork_get_group(hreq->out_body, id, max_w, max_h, 0);
|
ret = artwork_get_by_group_id(hreq->out_body, id, max_w, max_h, 0);
|
||||||
else if (strcmp(hreq->path_parts[2], "items") == 0)
|
else if (strcmp(hreq->path_parts[2], "items") == 0)
|
||||||
ret = artwork_get_item(hreq->out_body, id, max_w, max_h, 0);
|
ret = artwork_get_by_file_id(hreq->out_body, id, max_w, max_h, 0);
|
||||||
|
|
||||||
len = evbuffer_get_length(hreq->out_body);
|
len = evbuffer_get_length(hreq->out_body);
|
||||||
|
|
||||||
|
|||||||
20
src/mpd.c
20
src/mpd.c
@ -2391,7 +2391,7 @@ mpd_command_albumart(struct mpd_command_output *out, struct mpd_command_input *i
|
|||||||
|
|
||||||
// Ref. docs: "If the song file was recognized, but there is no picture, the
|
// Ref. docs: "If the song file was recognized, but there is no picture, the
|
||||||
// response is successful, but is otherwise empty"
|
// response is successful, but is otherwise empty"
|
||||||
format = artwork_get_item(artwork, id, ART_DEFAULT_WIDTH, ART_DEFAULT_HEIGHT, 0);
|
format = artwork_get_by_file_id(artwork, id, ART_DEFAULT_WIDTH, ART_DEFAULT_HEIGHT, 0);
|
||||||
if (format == ART_FMT_PNG)
|
if (format == ART_FMT_PNG)
|
||||||
evbuffer_add_printf(out->evbuf, "type: image/png\n");
|
evbuffer_add_printf(out->evbuf, "type: image/png\n");
|
||||||
else if (format == ART_FMT_JPEG)
|
else if (format == ART_FMT_JPEG)
|
||||||
@ -4150,7 +4150,7 @@ artwork_cb(struct evhttp_request *req, void *arg)
|
|||||||
const char *path;
|
const char *path;
|
||||||
char *decoded_path;
|
char *decoded_path;
|
||||||
char *last_slash;
|
char *last_slash;
|
||||||
int itemid;
|
int file_id;
|
||||||
int format;
|
int format;
|
||||||
|
|
||||||
if (evhttp_request_get_command(req) != EVHTTP_REQ_GET)
|
if (evhttp_request_get_command(req) != EVHTTP_REQ_GET)
|
||||||
@ -4195,8 +4195,8 @@ artwork_cb(struct evhttp_request *req, void *arg)
|
|||||||
|
|
||||||
DPRINTF(E_DBG, L_MPD, "Artwork request for path: %s\n", decoded_path);
|
DPRINTF(E_DBG, L_MPD, "Artwork request for path: %s\n", decoded_path);
|
||||||
|
|
||||||
itemid = db_file_id_byvirtualpath_match(decoded_path);
|
file_id = db_file_id_byvirtualpath_match(decoded_path);
|
||||||
if (!itemid)
|
if (!file_id)
|
||||||
{
|
{
|
||||||
DPRINTF(E_WARN, L_MPD, "No item found for path '%s' from request uri '%s'\n", decoded_path, uri);
|
DPRINTF(E_WARN, L_MPD, "No item found for path '%s' from request uri '%s'\n", decoded_path, uri);
|
||||||
evhttp_send_error(req, HTTP_NOTFOUND, "Document was not found");
|
evhttp_send_error(req, HTTP_NOTFOUND, "Document was not found");
|
||||||
@ -4205,17 +4205,9 @@ artwork_cb(struct evhttp_request *req, void *arg)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
evbuffer = evbuffer_new();
|
CHECK_NULL(L_MPD, evbuffer = evbuffer_new());
|
||||||
if (!evbuffer)
|
|
||||||
{
|
|
||||||
DPRINTF(E_LOG, L_MPD, "Could not allocate an evbuffer for artwork request\n");
|
|
||||||
evhttp_send_error(req, HTTP_INTERNAL, "Document was not found");
|
|
||||||
evhttp_uri_free(decoded);
|
|
||||||
free(decoded_path);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
format = artwork_get_item(evbuffer, itemid, ART_DEFAULT_WIDTH, ART_DEFAULT_HEIGHT, 0);
|
format = artwork_get_by_file_id(evbuffer, file_id, ART_DEFAULT_WIDTH, ART_DEFAULT_HEIGHT, 0);
|
||||||
if (format < 0)
|
if (format < 0)
|
||||||
{
|
{
|
||||||
evhttp_send_error(req, HTTP_NOTFOUND, "Document was not found");
|
evhttp_send_error(req, HTTP_NOTFOUND, "Document was not found");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user