IPB

Welcome Guest ( Log In | Register )

foo_softplaylists, Aggregated playlists from last.fm's loved track feature
JohanDeBock
post Nov 13 2009, 03:52
Post #1





Group: Developer
Posts: 250
Joined: 23-March 05
Member No.: 20866



Soft Playlists 2011-02-05
-added Last.fm custom playlist functionality, creating a new one must be done on www.last.fm for now

IMPORTANT: For the playlist generation features to work, the foobar2000 Media Library must include at least one folder with music, the more the better!

Can create different Last.fm related playlists:
->loved tracks of a single user, multiple users, friends or neighbours.
->recent tracks of a single user, multiple users, friends or neighbours.
->top tracks of a single user, multiple users, friends or neighbours over different periods.
->top tracks of an artist.
->top tracks of artists similar to an artist.
->top tracks with certain tag.
->tracks similar to a track.
Can also...
-love, unlove, ban and unban a track on your Last.fm account.
-add a track to a custom playlist on your Last.fm account.
-save and load XSPF playlists (make playlists without hard paths). This makes it possible to easily share playlists with other people. Also when you restructure your library (change location of your music files), these playlists will continue to work.

CODE
Changelog:

2011-02-05:
-added Last.fm custom playlist functionality, creating a new one must be done on www.last.fm for now
2011-02-04:
-changed feed downloading to match Last.fm api changes
-recent tracks playlist: duplicates are not removed anymore
2011-02-03:
-fixed fetching large track feeds for Top Tracks and Recent Tracks
2010-10-21:
-fixed sorting top tracks by playcount when including partial title matches
2010-10-20.2:
-fixed bug when tracks with only artist or title tag are present in library
-more error handling and output
2010-10-20:
-fixed partial title matching
-more error handling and output
2010-10-16:
-added unlove, ban and unban track function
-more error handling and output
-linked against SDK 2010-10-02
2010-08-28:
-added option to also include partial title matches
2010-08-16:
-added option to prefer latest or oldest tracks
-matching 100000 tracks in a library of 20000 tracks is now 9x faster, now takes 870ms on a core i7
2010-08-15:
-added option to prefer highest bitrate, lowest bitrate, longest or shortest tracks
2010-08-11.2:
-fetching more than 1500 loved tracks should now work
2010-08-11:
-using foobar internal http interface which mean proxy should now work
-fixed startup delay issue
2010-08-06:
-fixed some bugs
2010-07-08:
-Added: Last.fm Top Tracks, Loved Tracks and Recent Tracks for each single user of the custom Last.fm user list
2010-07-06:
-Now fully compatible with foobar2000 1.0
2009-12-30.2:
-Added: Last.fm User, Friends and Neighbours Recent Tracks
-Added: Last.fm Top Tracks, Loved Tracks and Recent Tracks of a custom Last.fm user list
2009-12-30:
-Added: Last.fm Top Tags Top Tracks
-Added: Last.fm Custom Tags Top Tracks
-Added: ability to prefix generated Last.fm playlists
-Fixed: crash when loving a track without an internet connection
2009-12-06:
-Added: handling of <duration> and <trackNum> tags when saving and loading XSPF playlists
-Changed: more error handling
2009-12-05:
-Changed: fixed various bugs
2009-12-04:
-Added: ability to output unmatched track info to console
-Added: aborting code, possibly time consuming tasks can be aborted now
-Changed: various strings cleanup
2009-12-03:
-Added: Last.fm Similar Artists Top Tracks
-Added: Last.fm Similar Tracks
-Changed: renamed and added config dialog parameters
-Changed: simplified main menu commands layout
2009-12-01.4:
-Changed: undid a mistake in the last 2 versions, top tracks from artists with special chars should work again
2009-12-01.3:
-Changed: fixed utf8 related bug in saving and loading of XSPF playlists
2009-12-01.2:
-Changed: fixed various special character bugs
2009-12-01:
-Added: Last.fm Love Track
-Added: saving and loading of XSPF playlists
-Changed: fixed some bugs
-Changed: optimized some code
2009-11-26:
-Added: Last.fm Friends Top Tracks over different periods
-Added: Last.fm neighbours Top Tracks over different periods
2009-11-22:
-Added: Last.fm Friends Loved Tracks
-Added: Last.fm Neighbours Loved Tracks
-Added: Last.fm User Top Tracks over different periods
2009-11-22:
-Added: proper settings dialog
2009-11-19:
-Added: Last.fm Artist Top Tracks
2009-11-14:
-Changed: optimized the library querying code: 18 times faster for looking up 1000 tracks in a database of 18686 tracks



CODE
Todo:

-exploit artist.getTopTags,  track.getTopTags, tag.getTopArtists, tag.getTopTracks
-exploit tag.search, tag.getTopArtists, tag.getTopTracks
-exploit user.getRecentTracks in combination with user.getNeighbours, user.getFriends
-exploit library.getTracks
-option for creating playlist from context menu (on selected tracks)


This post has been edited by JohanDeBock: Feb 5 2011, 04:21
Reason for edit: updated link


--------------------
foo_softplaylists: http://tiny.cc/kh9m9
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Yirkha
post Nov 30 2009, 02:30
Post #2





Group: FB2K Moderator
Posts: 2359
Joined: 30-November 07
Member No.: 49158



Maybe possibly unmatched metadb_lock/unlock() somewhere in your code? Better use one of the in_metadb_sync* objects, which are released automagically even when an exception is thrown or on early return. Or maybe a crash eaten by some Windows API (it usually ignores any exceptions, including hard Access violations during callbacks like window or timer procedures)?


--------------------
Full-quoting makes you scroll past the same junk over and over.
Go to the top of the page
+Quote Post

Posts in this topic
- JohanDeBock   foo_softplaylists   Nov 13 2009, 03:52
- - Jack Schmaltz   that sounds like an intesesting component, thank y...   Nov 13 2009, 04:24
- - 2E7AH   topic title name is too large as the menu item nam...   Nov 13 2009, 04:24
|- - JohanDeBock   QUOTE (2E7AH @ Nov 13 2009, 04:24) topic ...   Nov 13 2009, 04:46
- - shakey_snake   Title fixed.   Nov 13 2009, 05:06
|- - vogliadicane   sounds very interesting, thank You!   Nov 13 2009, 10:23
- - JohanDeBock   Hmm, I can't edit my own post?   Nov 13 2009, 18:05
- - shakey_snake   http://www.hydrogenaudio.org/forums/index....showt...   Nov 13 2009, 18:25
- - Dirhael   Didn't know I wanted a component like this, bu...   Nov 13 2009, 20:39
|- - JohanDeBock   QUOTE (Dirhael @ Nov 13 2009, 20:39) Didn...   Nov 13 2009, 20:58
|- - dreadroach   Great component! Exactly what i was looking fo...   Nov 13 2009, 21:17
- - JohanDeBock   New version: Soft Playlists 2009-11-14 Changed: ...   Nov 14 2009, 00:47
- - 2E7AH   your link is truncated: http://telin.ugent.be/~jde...   Nov 14 2009, 01:03
- - Fractal_Mortality   Awesome, AWESOME component! I've always wa...   Nov 16 2009, 16:20
- - dhromed   Excellent! This kind of automation is why we h...   Nov 16 2009, 18:01
- - JohanDeBock   New version: Soft Playlists 2009-11-19 Added: La...   Nov 19 2009, 01:34
- - 2E7AH   works great now can we expect similar artist char...   Nov 19 2009, 03:18
- - Fractal_Mortality   foo_scrobblecharts actually already does what you...   Nov 19 2009, 05:20
- - JohanDeBock   Indeed it is more or less a contination, a much sp...   Nov 19 2009, 11:56
|- - Fractal_Mortality   QUOTE (JohanDeBock @ Nov 19 2009, 05:56) ...   Nov 19 2009, 16:18
- - JohanDeBock   QUOTE (2E7AH @ Nov 19 2009, 03:18) works ...   Nov 19 2009, 12:00
- - JohanDeBock   New version: Soft Playlists 2009-11-22 Added: pro...   Nov 22 2009, 04:34
- - 2E7AH   filesize is half than previous, and you managed to...   Nov 22 2009, 04:48
- - JohanDeBock   QUOTE (2E7AH @ Nov 22 2009, 04:48) filesi...   Nov 22 2009, 14:04
- - Yirkha   The preferences API changed to work in the new/tra...   Nov 22 2009, 14:27
- - 2E7AH   QUOTE (JohanDeBock @ Nov 13 2009, 03:52) ...   Nov 22 2009, 17:56
- - JohanDeBock   That would be exactly what I was planning to do wi...   Nov 23 2009, 12:34
- - q-stankovic   Hello JohanDeBock, if you have selected multiple ...   Nov 23 2009, 18:11
- - JohanDeBock   New version: Soft Playlists 2009-11-23 -Added: La...   Nov 24 2009, 01:37
- - Galleon   New version is just brilliant! Thanks for new ...   Nov 24 2009, 05:28
- - Keesface   Awesome features, but i can't put them in the ...   Nov 24 2009, 23:55
|- - JohanDeBock   QUOTE (Keesface @ Nov 24 2009, 23:55) Awe...   Nov 26 2009, 23:23
- - JohanDeBock   New version: Soft Playlists 2009-11-26 -Added: La...   Nov 26 2009, 23:24
- - 2E7AH   Component is evolving so quick, that's great a...   Nov 27 2009, 11:54
|- - dreadroach   Feature proposal: How about adding possibility to ...   Nov 27 2009, 13:32
- - JohanDeBock   Some good suggestions mentioned. I will try to imp...   Nov 27 2009, 14:34
- - Keesface   That would be awesome   Nov 27 2009, 14:37
- - JohanDeBock   New version: Soft Playlists 2009-11-28 +Main Menu...   Nov 28 2009, 01:02
- - 2E7AH   Very pleased to see this alive I made xspf playli...   Nov 28 2009, 01:55
|- - JohanDeBock   Can you give more information?   Nov 28 2009, 01:57
- - 2E7AH   sure: CODEIllegal operation: Code: C0000005h, fla...   Nov 28 2009, 02:02
- - JohanDeBock   dmp and the playlist you were trying to load. Mer...   Nov 28 2009, 02:05
- - JohanDeBock   Bug is solved.   Nov 28 2009, 02:43
- - 2E7AH   indeed it's so fast, thanks   Nov 28 2009, 02:48
- - JohanDeBock   Normally for XSPF, it should first try to match %t...   Nov 28 2009, 02:51
- - 2E7AH   Here is vbscript that can transform clipboard data...   Nov 28 2009, 07:25
- - Keesface   Could you also make an option to search for last.f...   Nov 29 2009, 19:38
- - _oao   QUOTE (JohanDeBock @ Nov 28 2009, 02:51) ...   Nov 30 2009, 02:12
- - 2E7AH   JohanDeBock, can you see why is this happening: ht...   Nov 30 2009, 02:20
|- - JohanDeBock   QUOTE (2E7AH @ Nov 30 2009, 02:20) JohanD...   Dec 1 2009, 03:41
- - Yirkha   Maybe possibly unmatched metadb_lock/unlock() some...   Nov 30 2009, 02:30
- - JohanDeBock   I've already seen a position where this could ...   Nov 30 2009, 17:57
- - Yirkha   For example, instead of this:CODEhandle->metad...   Nov 30 2009, 21:18
- - JohanDeBock   New version: Soft Playlists 2009-12-01 -Added: La...   Dec 1 2009, 03:37
|- - Fractal_Mortality   QUOTE (JohanDeBock @ Nov 30 2009, 21:37) ...   Dec 1 2009, 09:06
|- - lwiczek   QUOTE (JohanDeBock @ Dec 1 2009, 03:37) -...   Dec 1 2009, 12:14
|- - Fractal_Mortality   QUOTE (lwiczek @ Dec 1 2009, 06:14) - wou...   Dec 1 2009, 16:19
|- - carmenm   QUOTE (Fractal_Mortality @ Dec 1 2009, 17...   Dec 1 2009, 17:30
|- - Keesface   QUOTE (carmenm @ Dec 1 2009, 17:30) On so...   Dec 1 2009, 18:26
|- - JohanDeBock   QUOTE (carmenm @ Dec 1 2009, 17:30) On so...   Dec 1 2009, 20:51
- - 2E7AH   works great, thank you don't want to spoil t...   Dec 1 2009, 04:10
- - JohanDeBock   I actually didn't do anything special yet for ...   Dec 1 2009, 04:19
- - 2E7AH   yes, I'm on restricted 10 KB/s for couple of h...   Dec 1 2009, 04:23
- - JohanDeBock   Does the love track feature work for you? It shoul...   Dec 1 2009, 04:25
- - 2E7AH   yeah, works fine - this is my first loved track, I...   Dec 1 2009, 04:31
- - JohanDeBock   Then there will finally be something in your playl...   Dec 1 2009, 04:35
- - 2E7AH   + your component will make me scrobble again, afte...   Dec 1 2009, 04:48
- - carmenm   THANK YOU!   Dec 1 2009, 08:56
- - Keesface   Thanks a ton   Dec 1 2009, 09:01
- - marc2003   this is pretty cool. but i have a little problem.....   Dec 1 2009, 11:10
|- - JohanDeBock   QUOTE (marc2003 @ Dec 1 2009, 11:10) if y...   Dec 1 2009, 14:07
||- - dreadroach   Thank you for "love track" feature, work...   Dec 1 2009, 14:12
||- - lwiczek   QUOTE (JohanDeBock @ Dec 1 2009, 14:07) Q...   Dec 1 2009, 15:35
|- - JohanDeBock   QUOTE (marc2003 @ Dec 1 2009, 11:10) CODE...   Dec 1 2009, 18:51
- - Yirkha   There are fallbacks for some of the common group n...   Dec 1 2009, 16:00
- - marc2003   for anybody that uses columns UI, i've made a ...   Dec 1 2009, 17:09
- - marc2003   well that's odd. because i can love tracks wit...   Dec 1 2009, 18:58
|- - JohanDeBock   Thanks for the info! Probably tried to do too ...   Dec 1 2009, 19:00
- - Keesface   Is the problem not in retrieving them correctly? ...   Dec 1 2009, 18:59
|- - JohanDeBock   QUOTE (Keesface @ Dec 1 2009, 18:59) Is t...   Dec 1 2009, 19:30
|- - marc2003   QUOTE (JohanDeBock @ Dec 1 2009, 18:30) 1...   Dec 1 2009, 21:50
- - marc2003   thanks for the update.   Dec 1 2009, 20:21
- - frnk   Hey this is good stuff! And development is goi...   Dec 1 2009, 20:29
- - JohanDeBock   New version: Soft Playlists 2009-12-01.3 -Changed...   Dec 1 2009, 20:30
- - JohanDeBock   New version: Soft Playlists 2009-12-01.4 -Changed...   Dec 1 2009, 23:54
- - JohanDeBock   How do you want the similar artist chart implement...   Dec 2 2009, 00:56
|- - Keesface   QUOTE (JohanDeBock @ Dec 2 2009, 00:56) H...   Dec 2 2009, 01:39
- - JohanDeBock   made the todo list a bit longer: -exploit artist.g...   Dec 2 2009, 02:19
|- - Fractal_Mortality   QUOTE (JohanDeBock @ Dec 1 2009, 20:19) m...   Dec 2 2009, 03:49
|- - carmenm   QUOTE (Fractal_Mortality @ Dec 2 2009, 04...   Dec 2 2009, 09:27
- - _oao   QUOTE (JohanDeBock @ Dec 2 2009, 00:56) O...   Dec 2 2009, 02:29
|- - JohanDeBock   QUOTE (_oao @ Dec 2 2009, 02:29) QUOTE (J...   Dec 2 2009, 02:35
- - marc2003   would it be possible to add an option to "unl...   Dec 2 2009, 08:57
- - marc2003   hmmn, still having issues with this. example.......   Dec 3 2009, 00:22
- - JohanDeBock   That's really weird. Can you check the exact %...   Dec 3 2009, 00:40
- - marc2003   edit: problem was my end. sorry about that.   Dec 3 2009, 00:58
- - JohanDeBock   So Björk's Top Tracks also doesn't work? I...   Dec 3 2009, 01:10
- - marc2003   it wasn't working but i've sorted it now.....   Dec 3 2009, 01:25
- - Benji99   QUOTE (lwiczek @ Dec 1 2009, 06:14) QUOTE...   Dec 3 2009, 01:53
- - JohanDeBock   New version: Soft Playlists 2009-12-03 -Added: Las...   Dec 3 2009, 03:13
5 Pages V   1 2 3 > » 


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

 



RSS Lo-Fi Version Time is now: 16th September 2014 - 02:38