Last.fm: store tracks on disk for later submission
Original issue 594 created by Alexey-Yakovenko on 2012-04-19T11:49:35.000Z:
submitted by: nobody Date: 2010-04-25 07:49:54
Прошу реализовать Кэш. Поясню зачем и почему. Во-первых, не всегда получается находиться в интернете, а именно это - главное условие скробблинга. Во-вторых, хотелось бы, чтобы был некий кэш треков который при отсутствии интернет-соединения использовался бы для хранения треков с последующей отправкой. Такой механизм реализован в плагине для foobar2000 - foo_audioscrobbler.dll
Comment #1 originally posted by Alexey-Yakovenko on 2012-04-19T11:49:35.000Z:
From: nobody Date: 2010-05-12 17:53:45
last.fm plugin умеет класть это в очередь-отдельный файл и дрейнит её по-возможности.
Comment #2 originally posted by Alexey-Yakovenko on 2012-04-19T11:49:36.000Z:
From: nobody Date: 2010-05-12 17:54:11
last.fm плагин в audacious имеется в виду.
Comment #3 originally posted by Alexey-Yakovenko on 2012-04-19T11:49:36.000Z:
From: anonymous Date: 2011-01-26 13:36:19
Присоединяюсь к этому реквесту, это важный для меня момент.
Comment #4 originally posted by Alexey-Yakovenko on 2012-04-19T11:49:37.000Z:
From: nobody Date: 2011-06-26 14:29:18
That would be great. I stay with other player actually, wanted move to Deadbeef but due to my poor internet connection I can lost some scrobbles without cache mechanism :P
Comment #6 originally posted by Alexey-Yakovenko on 2012-09-22T15:50:40.000Z:
Присоединяюсь. Без кэша у скробблера очень неудобно.
Comment #7 originally posted by Alexey-Yakovenko on 2013-01-18T09:38:18.000Z:
Issue 931 has been merged into this issue.
I started a bounty for this issue https://www.bountysource.com/issues/24188373-last-fm-store-tracks-on-disk-for-later-submission
If someone decides to work on this, because of bounty or whatever, this is the suggested design:
- A separate JSON file, stored in the configuration folder obtained via
deadbeef->get_system_dir (DDB_SYS_DIR_CONFIG) - The file should clearly identify itself with type and version, e.g. via the following fields:
"type": "ddb_lastfm_queue",
"version": "1.0",
- The tracks for submission should be stored as a list of object, where each object contains the necessary information for submission (album/artist/title/playtime/...)
- The file update must be an atomic operation, i.e. write to a temp file, then rename.
- Please use jansson for JSON parsing, as this library is already used by deadbeef.
- Please make sure that this feature can be completely disabled at compile time via
#define - Example json file:
{
"type": "ddb_lastfm_queue",
"version": "1.0",
"entries": [
{ "title": "...", "album": "...", ...},
...
]
}