IPB

Welcome Guest ( Log In | Register )

HOW TO: synchronise your last.fm playback stats with foobar, ...works with CUI and DUI
marc2003
post Dec 7 2009, 14:47
Post #1





Group: Members
Posts: 4452
Joined: 27-January 05
From: England
Member No.: 19379



this isn't a proper component but a script which utilises 2 other components (WSH panel mod & foo_customdb) to do the following:

-it can import the playcount/loved tracks from your entire last.fm library into foobar. it uses foo_customdb so your files are not touched.
-after doing the library import it will automatically update in the background as you listen.
-it can love/unlove tracks on last.fm via a button.
-it can automatically love tracks when they are played based on title formatting (for example, it can be set to automatically love tracks with a RATING of 5)
-you can display/filter the data in any custom columns, library viewers, display panels, etc using these simple tags:

CODE
%LASTFM_PLAYCOUNT_DB%
%LASTFM_LOVED_DB% //has a value of 1 for loved tracks


full instructions can be found here: https://dl.dropboxusercontent.com/u/2280132...ount%20sync.zip
changelog: https://dl.dropboxusercontent.com/u/2280132...e/changelog.txt

updated 30/04/13: no longer requires foo_softplaylists meaning artist field remapping is supported for loving tracks and background updates.

This post has been edited by db1989: May 2 2013, 12:03
Reason for edit: updated by request
Go to the top of the page
+Quote Post
 
Start new topic
Replies
marc2003
post Dec 7 2009, 17:32
Post #2





Group: Members
Posts: 4452
Joined: 27-January 05
From: England
Member No.: 19379



my script parses 2 values found in the xml response from lastfm named "userplaycount" and "userloved". look for the bits in bold. my script just writes them to the tags. if they don't exist, it just skips it.

CODE
[16:20:51] <?xml version="1.0" encoding="utf-8"?>
<lfm status="ok">
<track>
<id>1036798</id>
<name>Get Me Off</name>
<mbid></mbid>
<url>http://www.last.fm/music/Basement+Jaxx/_/Get+Me+Off</url>
<duration>288000</duration>
<streamable fulltrack="0">0</streamable>
<listeners>41414</listeners>
<playcount>150455</playcount>
<userplaycount>7</userplaycount> <userloved>0</userloved>
<artist>
<name>Basement Jaxx</name>
<mbid>28cbf94d-0700-4095-a188-37e373b069a7</mbid>
<url>http://www.last.fm/music/Basement+Jaxx</url>
</artist>
<album position="8">
<artist>Basement Jaxx</artist>
<title>Rooty</title>
<mbid>b821473e-4959-40e4-9b40-48b95ecaf36b</mbid>
<url>http://www.last.fm/music/Basement+Jaxx/Rooty</url>
<image size="small">http://userserve-ak.last.fm/serve/64s/5454246.jpg</image>
<image size="medium">http://userserve-ak.last.fm/serve/126/5454246.jpg</image>
<image size="large">http://userserve-ak.last.fm/serve/174s/5454246.jpg</image>
<image size="extralarge">http://userserve-ak.last.fm/serve/300x300/5454246.jpg</image>
</album>
<toptags>
<tag>
<name>dance</name>
<url>http://www.last.fm/tag/dance</url>
</tag>
<tag>
<name>electronic</name>
<url>http://www.last.fm/tag/electronic</url>
</tag>
<tag>
<name>house</name>
<url>http://www.last.fm/tag/house</url>
</tag>
<tag>
<name>electronica</name>
<url>http://www.last.fm/tag/electronica</url>
</tag>
<tag>
<name>techno</name>
<url>http://www.last.fm/tag/techno</url>
</tag>
</toptags>
</track></lfm>


as i mentioned in the readme, you can check the values that are being written in the console.

maybe the problem is with the feed? you can get your script to output this full response. find this line of code...

CODE
fb.trace("Status: " + xmlhttp.statustext);


add this as the next line directly after it.

CODE
fb.trace(xmlhttp.responsetext);


i've been using it for several days now and had no probems at all. smile.gif

and WSH panel mod can only act on one track at a time. anyway, that's a good limitation because last.fm have a TOS with regards to how often you can query their service. 5 times a second is quite generous but i fear you'd break that unless you had some sort of delaying mechanism. tongue.gif

the quickest way to update your files using this would be stop playback. highlight a track, right click button, "sync now". repeat until bored.

This post has been edited by marc2003: Dec 7 2009, 17:55
Go to the top of the page
+Quote Post

Posts in this topic
- marc2003   HOW TO: synchronise your last.fm playback stats with foobar   Dec 7 2009, 14:47
- - bob12   This is amazing. Thank you.   Dec 7 2009, 16:01
- - dreadroach   Works like a charm, thank you.   Dec 7 2009, 16:13
|- - dreadroach   I can't sync some tracks. Instead of number of...   Dec 7 2009, 17:07
- - marc2003   my script parses 2 values found in the xml respons...   Dec 7 2009, 17:32
- - marc2003   new version uploaded. same link as first post. ch...   Dec 8 2009, 10:54
|- - dreadroach   Thanks for new version. Anyway, i fixed my ...   Dec 8 2009, 11:47
- - marc2003   glad you sorted it. also, i've just found out...   Dec 8 2009, 12:33
- - carmenm   Now i found a pretty big bug, you MUST prevent you...   Dec 8 2009, 14:43
- - marc2003   ah yes my mistake. as i don't use streams very...   Dec 8 2009, 15:00
- - carmenm   Still happens. I dont see the difference in the sc...   Dec 8 2009, 15:27
- - marc2003   maybe your browser was caching the file?? i did ac...   Dec 8 2009, 15:38
- - T.P Wang   @marc2003: I think it's better to use somethin...   Dec 8 2009, 15:55
- - marc2003   thanks. post above edited to reflect changes.   Dec 8 2009, 16:07
- - carmenm   Thanks a lot, works perfectly now! Just thoug...   Dec 8 2009, 16:32
- - marc2003   i need to play around a bit and see what is possib...   Dec 8 2009, 20:24
- - marc2003   i did some experimenting and it seems there is onl...   Dec 8 2009, 22:48
- - Fractal_Mortality   edit: nevermind, the default works   Dec 9 2009, 00:19
- - Fractal_Mortality   New question: How can we forced the script to look...   Dec 9 2009, 00:46
- - marc2003   see my changelog 2 posts above. the context menu i...   Dec 9 2009, 00:53
- - Fractal_Mortality   I see. So is there a way to update an entire libra...   Dec 9 2009, 01:20
- - marc2003   not possible. i already explained this earlier in ...   Dec 9 2009, 01:45
- - Fractal_Mortality   Hm, that's ashame... Although it seems like us...   Dec 9 2009, 02:04
- - marc2003   there is also the last.fm TOS to consider. i'v...   Dec 9 2009, 02:24
|- - Fractal_Mortality   QUOTE (marc2003 @ Dec 8 2009, 20:24) ther...   Dec 9 2009, 04:28
- - carmenm   Last version works very well. I have 2 question: -...   Dec 9 2009, 09:48
- - marc2003   as for the 10 second rule, you're more than we...   Dec 9 2009, 11:31
- - carmenm   I am ok with you 10sec, i am just trying to unders...   Dec 9 2009, 11:39
- - marc2003   one of the reasons i set 10 seconds is because i q...   Dec 9 2009, 15:12
|- - carmenm   QUOTE (marc2003 @ Dec 9 2009, 16:12) one ...   Dec 9 2009, 15:21
- - T.P Wang   Just curious: Why not use on_item_played() callbac...   Dec 9 2009, 15:21
- - marc2003   on_item_played doesn't work for tracks less th...   Dec 9 2009, 15:39
- - marc2003   i'm too late to edit my last post, so carmenm,...   Dec 9 2009, 17:15
|- - carmenm   QUOTE (marc2003 @ Dec 9 2009, 18:15) i...   Dec 9 2009, 17:29
- - marc2003   oh i know mine is an absolute mess with zillions o...   Dec 9 2009, 17:39
- - carmenm   Ok fine with me by the way one question about glo...   Dec 9 2009, 18:13
- - marc2003   using the editor dialog will reset any variable th...   Dec 9 2009, 19:05
- - marc2003   yet another new version uploaded. added features f...   Dec 9 2009, 19:46
- - TsukasaX   Any good way to put the information collected into...   Dec 9 2009, 23:00
- - marc2003   i did experiment with a component called foo_custo...   Dec 9 2009, 23:25
- - marc2003   right, here's my latest experiment - a new ve...   Dec 10 2009, 11:20
- - TsukasaX   Unfortunately I use NG Playlist instead of ELplay...   Dec 10 2009, 16:49
- - marc2003   new experimental ELplaylist version uploaded. this...   Dec 10 2009, 18:26
|- - marc2003   QUOTE (marc2003 @ Dec 10 2009, 17:26) new...   Dec 11 2009, 01:32
- - Fractal_Mortality   marc, How would I edit your script in order for it...   Dec 10 2009, 21:11
- - marc2003   CODEIn a lot of cases, I'll love a track durin...   Dec 10 2009, 21:26
|- - Fractal_Mortality   QUOTE (marc2003 @ Dec 10 2009, 15:26) COD...   Dec 11 2009, 00:17
- - carmenm   Hi marc, i have a question, could you share your C...   Dec 11 2009, 10:58
- - marc2003   here you go. just import.fcl and play around. i ca...   Dec 11 2009, 16:32
|- - carmenm   QUOTE (marc2003 @ Dec 11 2009, 17:32) her...   Dec 11 2009, 16:43
- - carmenm   I tested your last script, i like a lot. 2 things ...   Dec 11 2009, 18:22
|- - marc2003   QUOTE (carmenm @ Dec 11 2009, 17:22) - yo...   Dec 11 2009, 18:29
|- - jimbothigpen   QUOTE (carmenm @ Dec 11 2009, 12:22) I te...   Dec 14 2009, 17:11
|- - carmenm   QUOTE (jimbothigpen @ Dec 14 2009, 18:11)...   Dec 14 2009, 17:53
|- - jimbothigpen   QUOTE in the code look for CODE} else if (ok...   Dec 14 2009, 20:16
- - marc2003   a new version has been uploaded which supports foo...   Dec 12 2009, 07:39
- - loft   How about making this script a true component or i...   Dec 12 2009, 23:26
- - Hitchhiker427   I really hope the developer considers making this ...   Dec 13 2009, 00:31
- - marc2003   @ loft & Hitchhiker427, i couldn't agree m...   Dec 14 2009, 18:48
- - marc2003   replace CODEg_metadb.UpdateFileInfoSimple(...   Dec 14 2009, 20:21
- - jimbothigpen   OK... I use what I think is the most recent versio...   Dec 14 2009, 22:53
- - marc2003   as you're using the customdb version, undo any...   Dec 14 2009, 23:29
- - jimbothigpen   thanks so much to both marc2003 and carmenm! -...   Dec 14 2009, 23:57
- - carmenm   Thanks for helping marc2003.   Dec 15 2009, 09:08
- - スラッシ   This is great! I've been looking for this ...   Dec 15 2009, 10:46
- - marc2003   the sync is a one way thing. if there is nothing f...   Dec 15 2009, 13:32
- - スラッシ   Brilliant, works a charm. Thanks again!   Dec 15 2009, 13:41
- - marc2003   the link for the customdb version is now dead. thi...   Dec 15 2009, 20:35
- - i like sleeping   Thanks for this! I wondered a while ago if som...   Dec 17 2009, 02:14
- - marc2003   well i'm just using artist/title to query the ...   Dec 17 2009, 03:27
- - スラッシ   One more suggestion, although I'm not sure if ...   Dec 17 2009, 07:01
- - marc2003   it would seem that is exclusive to their own web p...   Dec 17 2009, 07:41
- - スラッシ   Yeah, I was afraid of that. It's a shame they ...   Dec 17 2009, 07:54
- - rafib   Thank you so much for this plugin! I've be...   Dec 20 2009, 11:24
|- - marc2003   QUOTE (rafib @ Dec 20 2009, 10:24) I had ...   Dec 20 2009, 17:19
- - Keesface   How can i prevent this script from trying to submi...   Jan 4 2010, 10:24
- - marc2003   the reasons it still runs for streams are... -you...   Jan 4 2010, 11:14
- - u-neeks   hi, please, how i can set the tracks with any ra...   Jan 11 2010, 22:48
- - marc2003   QUOTE rating(0,1,2,3,4,5) you want it to automati...   Jan 11 2010, 23:34
|- - u-neeks   QUOTE (marc2003 @ Jan 11 2010, 19:34) QUO...   Jan 12 2010, 01:58
- - marc2003   well it is already documented what you need to do....   Jan 12 2010, 02:16
|- - u-neeks   working fine now, thanks! i needed to ch...   Jan 12 2010, 05:06
- - marc2003   sorry about that. at least you figured it out.   Jan 12 2010, 10:35
- - marc2003   T.P Wang has made a new version of WSH panel mod t...   Jan 12 2010, 16:39
- - スラッシ   Hi marc, Again I come with a suggestion that may ...   Jan 15 2010, 00:09
- - marc2003   i'm kind of lost for words.....what exactly ca...   Jan 15 2010, 00:58
|- - スラッシ   QUOTE (marc2003 @ Jan 15 2010, 00:58) i...   Jan 15 2010, 01:28
- - Andreasvb   I had some problem updating to the new WSH Panel M...   Jan 15 2010, 01:19
|- - marc2003   QUOTE (Andreasvb @ Jan 15 2010, 00:19) I ...   Jan 15 2010, 01:44
|- - Andreasvb   QUOTE (marc2003 @ Jan 15 2010, 01:44) QUO...   Jan 15 2010, 01:51
|- - marc2003   QUOTE (marc2003 @ Jan 15 2010, 00:44) the...   Jan 16 2010, 10:23
- - marc2003   i take the artist and title and try and directly a...   Jan 15 2010, 01:38
- - スラッシ   Yeah... I kinda expected that, but I figured there...   Jan 15 2010, 01:45
- - Hitchhiker427   I had the same problem as スラ...   Jan 15 2010, 01:45
- - Sparanoid   I got an error when updated to wsh panel mod beta ...   Jan 16 2010, 04:43
- - Sparanoid   Thanks a lot I get it works, now I'm working o...   Jan 19 2010, 23:13
- - marc2003   if you check the readme file again, you'll see...   Jan 19 2010, 23:17
- - Sparanoid   Oh, that works! I'm not very good at codin...   Jan 19 2010, 23:29
- - Sparanoid   Well this may be a bug: when I enable Spelling Cor...   Jan 20 2010, 00:51
- - marc2003   if last.fm is wrong, you can turn off spelling cor...   Jan 20 2010, 01:30
11 Pages V   1 2 3 > » 


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 29th August 2014 - 13:35