diff options
Diffstat (limited to 'apps/plugins')
-rw-r--r-- | apps/plugins/lastfm_scrobbler.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/apps/plugins/lastfm_scrobbler.c b/apps/plugins/lastfm_scrobbler.c index 4beef53913..02a6bedd9f 100644 --- a/apps/plugins/lastfm_scrobbler.c +++ b/apps/plugins/lastfm_scrobbler.c | |||
@@ -49,7 +49,7 @@ http://www.audioscrobbler.net/wiki/Portable_Player_Logging | |||
49 | /* longest entry I've had is 323, add a safety margin */ | 49 | /* longest entry I've had is 323, add a safety margin */ |
50 | #define SCROBBLER_CACHE_LEN 512 | 50 | #define SCROBBLER_CACHE_LEN 512 |
51 | 51 | ||
52 | #define ITEM_HDR "#ARTIST #ALBUM #TITLE #TRACKNUM #LENGTH #RATING #TIMESTAMMP #MUSICBRAINZ_TRACKID\n" | 52 | #define ITEM_HDR "#ARTIST #ALBUM #TITLE #TRACKNUM #LENGTH #RATING #TIMESTAMP #MUSICBRAINZ_TRACKID\n" |
53 | 53 | ||
54 | #if CONFIG_RTC | 54 | #if CONFIG_RTC |
55 | static time_t timestamp; | 55 | static time_t timestamp; |
@@ -338,14 +338,14 @@ static void scrobbler_add_to_cache(const struct mp3entry *id) | |||
338 | int ret = rb->snprintf(&scrobbler_buf[(SCROBBLER_CACHE_LEN*gCache.pos)], | 338 | int ret = rb->snprintf(&scrobbler_buf[(SCROBBLER_CACHE_LEN*gCache.pos)], |
339 | SCROBBLER_CACHE_LEN, | 339 | SCROBBLER_CACHE_LEN, |
340 | "%s\t%s\t%s\t%s\t%d\t%c\t%ld\t%s\n", | 340 | "%s\t%s\t%s\t%s\t%d\t%c\t%ld\t%s\n", |
341 | id->artist, | 341 | id->artist ? id->artist : id->albumartist, |
342 | id->album ?: "", | 342 | id->album, |
343 | id->title, | 343 | id->title, |
344 | tracknum, | 344 | tracknum, |
345 | (int)(id->length / 1000), | 345 | (int)(id->length / 1000), |
346 | rating, | 346 | rating, |
347 | get_timestamp(), | 347 | get_timestamp(), |
348 | id->mb_track_id ?id->mb_track_id: ""); | 348 | id->mb_track_id); |
349 | 349 | ||
350 | if ( ret >= SCROBBLER_CACHE_LEN ) | 350 | if ( ret >= SCROBBLER_CACHE_LEN ) |
351 | { | 351 | { |
@@ -389,7 +389,8 @@ static void scrobbler_change_event(unsigned short id, void *ev_data) | |||
389 | 389 | ||
390 | /* check if track was resumed > %50 played ( likely got saved ) | 390 | /* check if track was resumed > %50 played ( likely got saved ) |
391 | check for blank artist or track name */ | 391 | check for blank artist or track name */ |
392 | if ((id3->elapsed > id3->length / 2) || !id3->artist || !id3->title) | 392 | if ((id3->elapsed > id3->length / 2) |
393 | || (!id3->artist && !id3->albumartist) || !id3->title) | ||
393 | { | 394 | { |
394 | gCache.pending = false; | 395 | gCache.pending = false; |
395 | logf("SCROBBLER: skipping file %s", id3->path); | 396 | logf("SCROBBLER: skipping file %s", id3->path); |