mirror of
https://github.com/owntone/owntone-server.git
synced 2025-11-10 22:10:15 -05:00
[json_api] Method for setting skip_count and for setting play_count directly
This commit is contained in:
committed by
Alain Nussbaumer
parent
66d52d06ab
commit
9a513e41c7
@@ -3305,13 +3305,30 @@ jsonapi_reply_library_tracks_put_byid(struct httpd_request *hreq)
|
||||
{
|
||||
db_file_reset_playskip_count(track_id);
|
||||
}
|
||||
else if (safe_atou32(param, &val) == 0)
|
||||
{
|
||||
library_item_attrib_save(track_id, LIBRARY_ATTRIB_PLAY_COUNT, val);
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINTF(E_WARN, L_WEB, "Ignoring invalid play_count value '%s' for track '%d'.\n", param, track_id);
|
||||
DPRINTF(E_WARN, L_WEB, "Invalid play_count value '%s' for track '%d'.\n", param, track_id);
|
||||
return HTTP_BADREQUEST;
|
||||
}
|
||||
}
|
||||
|
||||
param = httpd_query_value_find(hreq->query, "skip_count");
|
||||
if (param)
|
||||
{
|
||||
ret = safe_atou32(param, &val);
|
||||
if (ret < 0)
|
||||
{
|
||||
DPRINTF(E_WARN, L_WEB, "Invalid skip_count value '%s' for track '%d'.\n", param, track_id);
|
||||
return HTTP_BADREQUEST;
|
||||
}
|
||||
|
||||
library_item_attrib_save(track_id, LIBRARY_ATTRIB_SKIP_COUNT, val);
|
||||
}
|
||||
|
||||
param = httpd_query_value_find(hreq->query, "rating");
|
||||
if (param)
|
||||
{
|
||||
|
||||
@@ -692,6 +692,13 @@ item_attrib_save(void *arg, int *retval)
|
||||
mfi->play_count = param->value;
|
||||
break;
|
||||
|
||||
case LIBRARY_ATTRIB_SKIP_COUNT:
|
||||
if (param->value < 0)
|
||||
goto error;
|
||||
|
||||
mfi->skip_count = param->value;
|
||||
break;
|
||||
|
||||
default:
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ enum library_attrib
|
||||
LIBRARY_ATTRIB_RATING,
|
||||
LIBRARY_ATTRIB_USERMARK,
|
||||
LIBRARY_ATTRIB_PLAY_COUNT,
|
||||
LIBRARY_ATTRIB_SKIP_COUNT,
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user