foo_lastfm_radio |
![]() ![]() |
foo_lastfm_radio |
Aug 30 2008, 11:24
Post
#1
|
|
|
Group: Developer Posts: 142 Joined: 4-March 03 Member No.: 5322 |
This is a component for playing Last.fm radio stations in foobar2000.
Get version 0.5.7d here. The component gives you several ways of adding stations. Artist stations can be added from the context menu. Your personal stations can be added from the "File/Open Last.fm Radio Station" menu, as can custom stations. The component will also catch Last.fm URIs entered from the "File/Add location..." dialog or command line, but these don't create automatically refreshing playlists. Thanks to those that answered my questions during development. As usual, all feedback is welcome! Regarding the future of this component The component is still using the old Last.fm Radio API, which was due to be discontinued over half a year ago, and is therefore running on borrowed time. When the new radio API was released I went some way to updating, but hit some problems and then didn't have the time. However the new radio API requires users to be subscribers in order to listen, and as I expect the continuing popularity of foo_lastfm_radio stems from the fact that you don't need to subscribe, it is unlikely that I'll update to the new API any time soon. This means that if and when the old radio API is deactivated, it will be RIP foo_lastfm_radio. A note on Love/Ban This functionality is part of a separate API, and additionally requires a corresponding audioscrobbler submission (see http://www.last.fm/api/show?service=260). It therefore won't be implemented in foo_lastfm_radio. Sorry. Changed in version 0.5.x:
Note: Played tracks are not scrobbled. (Use foo_audioscrobbler with "Only submit tracks from the Media Library" disabled if you want this functionality.) Note 2: Users of foo_playback_custom (or other components which write tags to files during playback) should check "Only tracks in the media library update playback statistics" in that component's options to avoid problems with playback. This post has been edited by nausea: Jan 30 2010, 22:58 |
|
|
|
Aug 30 2008, 12:17
Post
#2
|
|
|
Group: Members Posts: 585 Joined: 30-July 07 Member No.: 45750 |
Oh my. This is awesome. One thing I would like is the ability to add stations to an existing playlist, as I have an "Internet Radio" playlist, and if I could add last fm stations to it that would be amazing! Also it doesn't seem to be scrobbling what you play, which would be good. Oh and another suggestion, it would be nice if playlists were called something like "TomBarlow's Recommended Station" instead of "lastfm://user/TomBarlow/recommended".
Really excited by this plugin though! Nice one! |
|
|
|
Aug 30 2008, 16:12
Post
#3
|
|
![]() Group: Members Posts: 311 Joined: 30-May 08 Member No.: 53920 |
nausea, thank you so very much for this awesome pluggin. I am trying it out now. Report any problems i get.
|
|
|
|
Aug 30 2008, 17:41
Post
#4
|
|
![]() Group: FB2K Moderator (Donating) Posts: 4219 Joined: 24-February 03 Member No.: 5153 |
I've just tested it and noticed a few things.
Context menu The command is shown even though the artist tag is undefined (shows "?'s station"). The description of the command description only shows "Last.fm Radio". Main menu The command descriptions should end with a (single) period to be consistent with the style used by foobar2000 itself (core and official components). I also suggest to change the name of the root command to "Open Last.Fm Radio Station" and move it to the file_open section, file_playlist would be my second choice. Playlists It would be nice if the playlists had friendlier names and could be renamed. If you need to store information associated with a playlist, the best solution is to use a playlist property. Tags Non-ASCII characters do not display correctly. They look as if the strings had been converted from ISO 8859-1 to UTF-8 while they already where UTF-8 before. XML entities like &_amp_; appear untranslated (underscores added to keep the forum software from translating it). There are several solutions for the tags-disappearing-on-playback problem:
-------------------- http://foosion.foobar2000.org/ - my components for foobar2000
|
|
|
|
Aug 30 2008, 18:12
Post
#5
|
|
![]() Group: Developer Posts: 804 Joined: 28-November 03 Member No.: 10088 |
I also frequently get this error when trying to play a song from a previously generated playlist:
Unable to open item for playback (Invalid ticket (403)): "http://kingpin6.last.fm/user/c9aba423b670940774b96984f728630e.mp3" This post has been edited by NEMO7538: Aug 30 2008, 18:14 |
|
|
|
Aug 30 2008, 18:32
Post
#6
|
|
![]() Group: FB2K Moderator (Donating) Posts: 4219 Joined: 24-February 03 Member No.: 5153 |
I also frequently get this error when trying to play a song from a previously generated playlist: The URLs returned by the last.fm server represent "tickets" which are only good for one use.Unable to open item for playback (Invalid ticket (403)): "http://kingpin6.last.fm/user/c9aba423b670940774b96984f728630e.mp3" Actually, a few minutes after my last post I came to the conclusion that the component currently uses an approach that makes things more complicated than they need to be - both for users and for the implementation. I'm not an expert on Last.fm radio stations, but as far as I know they are conceptually streams that support skipping to the next song as a bonus features. On the technical side, the server returns XSPF playlists for a given station that contain a few songs in the form of one-use URLs and metadata for the song. The most straightforward way to implement this in foobar2000 would be an input service that acts as a proxy to this "stream". When it is used for playback, it would retrieve the XSPF playlist from the server, open the input for the first track and report the songs metadata as dynamic track metadata (like a regular HTTP stream). When the track ends or playback of the stream is restarted (like when you double-click the playlist entry when it is already playing), it would go to the next. When it runs out of tracks, it would retrieve the XSPF playlist with the next few songs from the server. There are a few technical issues - for example, the caching and retrieval of the XSPF playlist should not actually be handled by each input instance but by a central module - but overall I think this approach would make it easier to handle Last.fm stations in foobar2000. The current way with automatically updating playlists that contain one-use URLs seems a bit out-of-place. -------------------- http://foosion.foobar2000.org/ - my components for foobar2000
|
|
|
|
Aug 30 2008, 21:44
Post
#7
|
|
|
Group: Developer Posts: 142 Joined: 4-March 03 Member No.: 5322 |
Thanks for the feedback guys.
The URLs returned by the last.fm server represent "tickets" which are only good for one use. Yes, this is a little unfortunate. When I first started working on the component a few months ago the tickets weren't single use and you could replay tracks and jump around within the playlist (with some limits I believe), so the current method made sense. (I also observed this in other media players with Last.fm functionality.) I just started working on it again the other day and the behaviour had changed. I still think it makes some sense to have playlists though as it means you can see which tracks are coming, and skip forward as you wish. The logic needs to be changed though, perhaps removing played or skipped tracks as well as adding new ones. Thanks for the detailed points foosion. Are playlist properties persistent between opening and closing foobar2000? |
|
|
|
Aug 30 2008, 22:33
Post
#8
|
|
![]() Group: FB2K Moderator (Donating) Posts: 4219 Joined: 24-February 03 Member No.: 5153 |
Thanks for the detailed points foosion. Are playlist properties persistent between opening and closing foobar2000? Yes, see the description of the playlist_manager_v2 class.
-------------------- http://foosion.foobar2000.org/ - my components for foobar2000
|
|
|
|
Aug 31 2008, 22:02
Post
#9
|
|
|
Group: Developer Posts: 142 Joined: 4-March 03 Member No.: 5322 |
Updated original post with info about version 0.2. I'll work on the problems with tags for the next version.
|
|
|
|
Aug 31 2008, 23:02
Post
#10
|
|
![]() Group: Members Posts: 311 Joined: 30-May 08 Member No.: 53920 |
thanks for the update
|
|
|
|
Sep 1 2008, 01:29
Post
#11
|
|
|
Group: Members Posts: 211 Joined: 1-October 01 From: Lisbon, Portugal Member No.: 127 |
Thanks for the plugin, nausea. Looking forward for further developments!
|
|
|
|
Sep 1 2008, 02:57
Post
#12
|
|
|
Group: Members Posts: 246 Joined: 4-January 07 Member No.: 39305 |
Nice plugin nausea. Thanks for the effort you're putting in.
|
|
|
|
Sep 1 2008, 09:04
Post
#13
|
|
|
Group: Members Posts: 7 Joined: 18-May 08 Member No.: 53612 |
It's good, but i'm waiting for the version 0.5
But this plugin is awesome. RESPECT! |
|
|
|
Sep 2 2008, 01:07
Post
#14
|
|
|
Group: Members Posts: 585 Joined: 30-July 07 Member No.: 45750 |
I'm getting a crash whenever I go to Prefs>General>Keyboard Shortcuts. I just tried it with and without this component, it seems to be the guilty one. Here's a log:
CODE Illegal operation:
Code: C0000005h, flags: 00000000h, address: 0049B0A7h Access violation, operation: read, address: 00000000h Call path: entry=>app_mainloop=>preferences_page::create Code bytes (0049B0A7h): 0049B067h: FF 50 10 84 C0 74 D9 83 4C 24 3C FF 8B 4C 24 04 0049B077h: 85 C9 74 04 8B 01 FF 10 B0 01 EB 13 83 4C 24 3C 0049B087h: FF 8B 4C 24 04 85 C9 74 04 8B 01 FF 10 32 C0 8B 0049B097h: 4C 24 34 64 89 0D 00 00 00 00 5F 8B E5 5D C3 56 0049B0A7h: 8B 30 85 F6 74 07 8B 06 8B CE FF 50 04 8B 0F 85 0049B0B7h: C9 74 04 8B 01 FF 10 89 37 8B C7 5E C3 8B 41 04 0049B0C7h: 57 8B 7C 24 08 E8 D5 FF FF FF 5F C2 08 00 B8 70 0049B0D7h: 89 4B 00 E8 95 A1 01 00 83 EC 4C 8B 45 0C 53 56 Stack (0012F380h): 0012F360h: 015DFC4C 7C9C93C0 77F643DD 7C9C93C0 0012F370h: 00000004 00000000 015DF158 00000000 0012F380h: 0012F3C8 00413068 00000000 01724813 0012F390h: 0012F3C8 00000000 17C90275 0012F4B4 0012F3A0h: 00000001 0012F3E0 01743229 00000000 0012F3B0h: 01722FF0 0012F3C8 17C90255 00000000 0012F3C0h: 017724B0 00000000 00000000 017724C0 0012F3D0h: FFFFFFFE 00000004 0040CA30 017702B0 0012F3E0h: 0012F504 017439C0 FFFFFFFF 004271E0 0012F3F0h: 0012F42C 0012F478 0012F4B4 004DC010 0012F400h: 0012F600 00000000 00000000 00000080 0012F410h: 7C910551 01710718 00000000 00000000 0012F420h: 01715600 02A22190 00000048 004DD304 0012F430h: 00000000 00000000 00000000 00000000 0012F440h: 0012F288 017702C0 0012F490 7C90EE18 0012F450h: 7C917BB8 FFFFFFFF 7C917BB0 004A328C 0012F460h: 003E0000 00000001 02A1B208 004A32C3 0012F470h: 179826DE 0000000A 00000000 02A22230 0012F480h: 00000200 7C90EE18 0012F470 017725F0 0012F490h: 0012F4F8 017724A8 01770160 00000000 Registers: EAX: 00000000, EBX: 00000000, ECX: 00000000, EDX: 004D1464 ESI: 0012F3C8, EDI: 0012F3C8, EBP: 0012F510, ESP: 0012F380 Crash location: "foobar2000", loaded at 00400000h - 0052B000h Loaded modules: foobar2000 loaded at 00400000h - 0052B000h ntdll loaded at 7C900000h - 7C9B0000h kernel32 loaded at 7C800000h - 7C8F5000h COMCTL32 loaded at 773D0000h - 774D3000h msvcrt loaded at 77C10000h - 77C68000h ADVAPI32 loaded at 77DD0000h - 77E6B000h RPCRT4 loaded at 77E70000h - 77F02000h Secur32 loaded at 77FE0000h - 77FF1000h GDI32 loaded at 77F10000h - 77F57000h USER32 loaded at 7E410000h - 7E4A0000h SHLWAPI loaded at 77F60000h - 77FD6000h SHELL32 loaded at 7C9C0000h - 7D1D6000h ole32 loaded at 774E0000h - 7761D000h shared loaded at 10000000h - 1002A000h COMDLG32 loaded at 763B0000h - 763F9000h IMM32 loaded at 76390000h - 763AD000h LPK loaded at 629C0000h - 629C9000h USP10 loaded at 74D90000h - 74DFB000h avgrsstx loaded at 00390000h - 00395000h uxtheme loaded at 5AD70000h - 5ADA8000h RocketDock loaded at 00A50000h - 00A62000h PSAPI loaded at 76BF0000h - 76BFB000h MSCTF loaded at 74720000h - 7476B000h SynTPFcs loaded at 63000000h - 63013000h VERSION loaded at 77C00000h - 77C08000h msctfime loaded at 755C0000h - 755EE000h foo_abx loaded at 00B00000h - 00B31000h foo_albumlist loaded at 00B60000h - 00BCC000h foo_appcommand loaded at 00BF0000h - 00C06000h foo_audioscrobbler loaded at 00C30000h - 00C60000h WS2_32 loaded at 71AB0000h - 71AC7000h WS2HELP loaded at 71AA0000h - 71AA8000h foo_autoplaylist loaded at 00C80000h - 00CB0000h foo_burninate loaded at 00CD0000h - 00D07000h foo_cdda loaded at 00D30000h - 00D71000h foo_comserver2 loaded at 00DA0000h - 00DF6000h OLEAUT32 loaded at 77120000h - 771AB000h foo_converter loaded at 00E20000h - 00E87000h foo_cwbowron loaded at 00EB0000h - 00EDA000h gdiplus loaded at 4EC50000h - 4EDF3000h foo_discogs loaded at 00F10000h - 00F8D000h WINMM loaded at 76B40000h - 76B6D000h foo_dsp_skip_silence loaded at 01020000h - 01033000h libmmd loaded at 01050000h - 01301000h MSVCR80 loaded at 78130000h - 781CB000h foo_dsp_std loaded at 01330000h - 01379000h foo_fileops loaded at 013A0000h - 013E6000h foo_freedb2 loaded at 01410000h - 01450000h foo_highlightplaying loaded at 01470000h - 01491000h foo_input_monkey loaded at 014C0000h - 0150A000h foo_input_mslive loaded at 01530000h - 015B3000h WMVCore loaded at 15110000h - 1536A000h WMASF loaded at 11C70000h - 11CAA000h foo_input_std loaded at 015D0000h - 016FD000h foo_lastfm_radio loaded at 01720000h - 0175B000h foo_lyricsdb loaded at 01780000h - 017AF000h WININET loaded at 017C0000h - 0189C000h Normaliz loaded at 018A0000h - 018A9000h urlmon loaded at 1A400000h - 1A52B000h iertutil loaded at 5DCA0000h - 5DE55000h foo_masstag loaded at 01AE0000h - 01B30000h foo_navigator loaded at 01B50000h - 01B84000h foo_playcount loaded at 01BB0000h - 01BDA000h foo_rgscan loaded at 01C00000h - 01C5B000h foo_son loaded at 01C80000h - 01C83000h foo_uie_albumart loaded at 01C90000h - 01CCD000h foo_uie_elplaylist loaded at 01CF0000h - 01D55000h foo_uie_lyrics loaded at 01D80000h - 01DDC000h foo_uie_lyrics_panel loaded at 01E00000h - 01E64000h foo_uie_panel_splitter loaded at 01E90000h - 01ED8000h foo_uie_quicksearch loaded at 01F00000h - 01F46000h foo_uie_tabs loaded at 01F70000h - 01F9A000h foo_uie_wsh_panel loaded at 01FC0000h - 01FF4000h foo_ui_columns loaded at 02140000h - 0226C000h foo_ui_std loaded at 02290000h - 02365000h MSIMG32 loaded at 76380000h - 76385000h foo_unpack loaded at 02390000h - 023BD000h SXS loaded at 75E90000h - 75F40000h CLBCATQ loaded at 76FD0000h - 7704F000h COMRes loaded at 77050000h - 77115000h jscript loaded at 63380000h - 63407000h xpsp2res loaded at 20000000h - 202C5000h mscms loaded at 73B30000h - 73B45000h WINSPOOL loaded at 73000000h - 73026000h mswsock loaded at 71A50000h - 71A8F000h DNSAPI loaded at 76F20000h - 76F47000h rasadhlp loaded at 76FC0000h - 76FC6000h msi loaded at 7D1E0000h - 7D49E000h hnetcfg loaded at 662B0000h - 66308000h wshtcpip loaded at 71A90000h - 71A98000h MOUDL32A loaded at 03ED0000h - 03EE3000h imagehlp loaded at 76C90000h - 76CB8000h DBGHELP loaded at 59A60000h - 59B01000h Stack dump analysis: Address: 00413068h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 01724813h, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 01743229h, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 01722FF0h, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 0040CA30h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 017439C0h, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 004271E0h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004DC010h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlFreeHeap" (+00000114h) Address: 004DD304h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "strchr" (+00000117h) Address: 7C917BB8h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlReAllocateHeap" (+000001BBh) Address: 7C917BB0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlReAllocateHeap" (+000001B3h) Address: 004A328Ch, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A32C3h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "strchr" (+00000117h) Address: 004D1464h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "strchr" (+00000117h) Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlAllocateHeap" (+0000011Ch) Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlAllocateHeap" (+00000117h) Address: 01730A9Eh, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 01731066h, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 004BBDD0h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0042770Eh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004D1464h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004D1214h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004D1214h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BCC4Fh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004280CAh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 01750784h, location: "foo_lastfm_radio", loaded at 01720000h - 0175B000h Address: 004CDCCFh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0042818Ch, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BD6EAh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 00425221h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004F6360h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BD707h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 00426347h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004F6360h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BDD8Fh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0042601Ch, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BA9A0h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0045A1EBh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7E4184FCh, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 01100061h, location: "libmmd", loaded at 01050000h - 01301000h Symbol: "_csqrtq_f90" (+000AD725h) Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DeregisterShellHookWindow" (+000001CFh) Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+00000169h) Address: 7E41882Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+00000163h) Address: 7E41B89Bh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetParent" (+0000016Ch) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 004F6360h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004B9093h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0045A649h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0045A561h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0045B0D1h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 00403FF5h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+0000006Dh) Address: 7E423745h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "PrivateExtractIconExW" (+000002B2h) Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DeregisterShellHookWindow" (+000001CFh) Address: 7E423768h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "PrivateExtractIconExW" (+000002D5h) Address: 7E423591h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "PrivateExtractIconExW" (+000000FEh) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 7E4184FCh, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 7E4185A4h, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 7E4184FCh, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 7E4185A4h, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 7E4237BCh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000022h) Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+0000006Dh) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+0000014Fh) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DeregisterShellHookWindow" (+000001CFh) Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+00000169h) Address: 7E41B89Bh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetParent" (+0000016Ch) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 7E41B903h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "SendMessageW" (+00000049h) Address: 773EAFF1h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal414" (+00000FB4h) Address: 7E41882Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+00000163h) Address: 7E41B89Bh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetParent" (+0000016Ch) Address: 7E42379Ah, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DefDlgProcW" (+00000000h) Address: 77407392h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001B4F2h) Address: 77407720h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001B880h) Address: 7E41BF78h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "RedrawWindow" (+0000000Ch) Address: 7740885Ch, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001C9BCh) Address: 774096BDh, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001D81Dh) Address: 7740A4CBh, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E62Bh) Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetWindowLongW" (+0000002Bh) Address: 7E4184FCh, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 7E4185A4h, location: "USER32", loaded at 7E410000h - 7E4A0000h Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7E4188D1h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetWindowLongW" (+0000002Bh) Address: 7E4188DAh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetWindowLongW" (+00000034h) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7740AB7Fh, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001ECDFh) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7E41F896h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "CallNextHookEx" (+0000003Bh) Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+0000006Dh) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7E418734h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+0000006Dh) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7E418816h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+0000014Fh) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+00000169h) Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DeregisterShellHookWindow" (+000001CFh) Address: 7E418830h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetDC" (+00000169h) Address: 7E4189CDh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetWindowLongW" (+00000127h) Address: 7740A549h, location: "COMCTL32", loaded at 773D0000h - 774D3000h Symbol: "Ordinal384" (+0001E6A9h) Address: 7E440457h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DeregisterShellHookWindow" (+000001CFh) Address: 7E4189F0h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "GetWindowLongW" (+0000014Ah) Address: 7E418A10h, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DispatchMessageW" (+0000000Fh) Address: 7E42D99Dh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "IsDialogMessageW" (+000000DBh) Address: 0042D9E2h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7E41DAEAh, location: "USER32", loaded at 7E410000h - 7E4A0000h Symbol: "DestroyWindow" (+00000000h) Address: 004B7789h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0042DA58h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 10002589h, location: "shared", loaded at 10000000h - 1002A000h Symbol: "uPrintCrashInfo_SetDumpPath" (+000000C8h) Address: 0041DAEAh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0042E4F7h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004D1214h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004DD304h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004DD304h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 00400000h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004DD2E8h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "strchr" (+00000117h) Address: 7C9106F0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlAllocateHeap" (+0000011Ch) Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h Symbol: "RtlAllocateHeap" (+00000117h) Address: 004AAC33h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A52D0h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004AAC33h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A9088h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 10002589h, location: "shared", loaded at 10000000h - 1002A000h Symbol: "uPrintCrashInfo_SetDumpPath" (+000000C8h) Address: 004D3AE8h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BE721h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004D3AE8h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 0042E736h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 00400000h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A34A1h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A349Bh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004C5B14h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004C3860h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A52D0h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A349Bh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A34AFh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004C3860h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004BEB19h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004A4EBAh, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 00400000h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 015DF028h, location: "foo_input_std", loaded at 015D0000h - 016FD000h Address: 004A52D0h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 7C816FD7h, location: "kernel32", loaded at 7C800000h - 7C8F5000h Symbol: "RegisterWaitForInputIdle" (+00000049h) Address: 015DF028h, location: "foo_input_std", loaded at 015D0000h - 016FD000h Address: 7C839AA8h, location: "kernel32", loaded at 7C800000h - 7C8F5000h Symbol: "ValidateLocale" (+000002B0h) Address: 7C816FE0h, location: "kernel32", loaded at 7C800000h - 7C8F5000h Symbol: "RegisterWaitForInputIdle" (+00000052h) Address: 004A4F25h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004E0049h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 004F0044h, location: "foobar2000", loaded at 00400000h - 0052B000h Address: 01C4D5EDh, location: "foo_rgscan", loaded at 01C00000h - 01C5B000h Address: 004B0063h, location: "foobar2000", loaded at 00400000h - 0052B000h Version info: foobar2000 v0.9.5.5 UNICODE Windows 5.1 Additional info: Tabbed panel modified 0.2.5 (foo_uie_tabs) RAR reader 1.1 (foo_unpack) ABX Comparator 1.3.3 (foo_abx) freedb Tagger 0.6 (foo_freedb2) CD Audio Decoder 2.1.3 (foo_cdda) Lyrics panel 0.35 (foo_uie_lyrics_panel) foo_lyricsdb 0.0.7 beta 5 (foo_lyricsdb) Album List 4.3 (foo_albumlist) Album Art Panel 0.2.7.1 (foo_uie_albumart) ZIP/GZIP reader 1.0 (foo_unpack) Columns UI 0.3.4.1 (foo_ui_columns) Last.fm Radio 0.2 (foo_lastfm_radio) foobar2000 core 0.9.5.5 (Core) Default User Interface 0.9.5 (foo_ui_std) ReplayGain Scanner 2.0.8 (foo_rgscan) Standard Input Array 1.0 (foo_input_std) ELPlaylist 0.6.1.0(beta) (foo_uie_elplaylist) File Operations 2.1 (foo_fileops) Lyric Show Panel 0.3.3.2 [Aug 17 2008 - 15:30:33] (foo_uie_lyrics) Masstagger 1.6 (foo_masstag) Autoplaylist Manager 1.0 (foo_autoplaylist) Highlight playing 0.1.0 (foo_highlightplaying) APPCOMMAND multimedia key support 0.1 (foo_appcommand) Navigator 0.63 (foo_navigator) Stop On Next 0.0.2 (foo_son) Playback Statistics 2.1.5 (foo_playcount) Album Art Browser 0.0.5 [Jul 23 2007 - 08:27:55] (foo_cwbowron) Standard DSP Array 1.0 (foo_dsp_std) Quick Search Toolbar 2.8l (foo_uie_quicksearch) Startup Actions 0.0.2 [Jul 23 2007 - 08:27:55] (foo_cwbowron) Audio CD Writer 2.0.1 (foo_burninate) COM Automation server 0.7 alpha 6 (foo_comserver2) WSH Panel (uie) 0.7.2 (foo_uie_wsh_panel) mslive 0.4.1 (Intel SSE) (foo_input_mslive) Audioscrobbler 1.3.16 (foo_audioscrobbler) Panel Stack Splitter 0.3.4(alpha) (foo_uie_panel_splitter) Skip silence 0.1 (Intel SSE) (foo_dsp_skip_silence) Monkey's Audio decoder 2.1.2 (foo_input_monkey) Converter 1.1.2 (foo_converter) Discogs Tagger 1.0 (foo_discogs) |
|
|
|
Sep 2 2008, 09:02
Post
#15
|
|
|
Group: Developer Posts: 142 Joined: 4-March 03 Member No.: 5322 |
Thanks for letting me know. See OP for fixed version.
|
|
|
|
Sep 2 2008, 15:57
Post
#16
|
|
|
Group: Members Posts: 83 Joined: 28-July 08 Member No.: 56400 |
A really great plugin. I hope you can fix that tagging-problem as soon as possible. Because it's quite important to know what song you are listening to at the moment
Thanks alot! |
|
|
|
Sep 2 2008, 16:03
Post
#17
|
|
![]() Group: Members Posts: 267 Joined: 17-June 08 From: Guess... Member No.: 54439 |
Yes, this is potentially a great plug in, I have very high hopes for it
Thanks |
|
|
|
Sep 2 2008, 16:07
Post
#18
|
|
![]() Group: Members Posts: 93 Joined: 14-June 07 From: The Netherlands Member No.: 44368 |
This is fantastic, I've been hoping for a plugin like this for a long time. Thanks a lot for sharing this!
Oh btw, do you have any plans to implement the track ban and love features from LastFM in the future? That would make the awesomness grow even bigger This post has been edited by joen: Sep 2 2008, 17:57 |
|
|
|
Sep 2 2008, 18:27
Post
#19
|
|
![]() Group: Super Moderator Posts: 3267 Joined: 26-July 02 From: princegeorge.ca Member No.: 2796 |
Awesome. Thanks. I've never really used this feature of Last.fm because I can't stand their crappy client.
I'd love this component even more if you'd implement foosion's suggestions! Also, it'd be great if the tracks played got scrobbled. Right now it doesn't seem to. This post has been edited by Canar: Sep 2 2008, 18:30 -------------------- (atrix|(fb2k->e-mu 0404 usb|audio 8 dj))->hd280|jvc ha-fx35-b
|
|
|
|
Sep 3 2008, 17:20
Post
#20
|
|
|
Group: Members Posts: 101 Joined: 23-March 07 Member No.: 41759 |
Awesome. Thanks. I've never really used this feature of Last.fm because I can't stand their crappy client. I'd love this component even more if you'd implement foosion's suggestions! Also, it'd be great if the tracks played got scrobbled. Right now it doesn't seem to. +1. Great job and great plugin. Many thanks |
|
|
|
Sep 4 2008, 23:06
Post
#21
|
|
![]() Group: Members Posts: 133 Joined: 7-September 06 Member No.: 34900 |
it's great!!! I was looking for this for a very long time:
http://www.hydrogenaudio.org/forums/index....showtopic=54264 many thanks ![]() btw. does password stored encrypted? I just realized audioscrobbler plugin stores unencrypted password and report it, you plugin seems to encrypt it. Right? and how good this encrypion is? ![]() suggestion: auto normalize volume please, some tracks are much more louder than other, I think there is no other sollution cause files are streaming? it just can be normalized on the fly to play all files on same volume This post has been edited by MusX: Sep 6 2008, 09:08 -------------------- my last.fm profile:
http://www.last.fm/user/MusX |
|
|
|
Sep 7 2008, 09:54
Post
#22
|
|
|
Group: Developer Posts: 142 Joined: 4-March 03 Member No.: 5322 |
Updated original post with info about version 0.3.
Regarding scrobbling tracks: I've had a look at the documentation for this and although I haven't tried it yet it looks like it may cause conflicts with other programs also retrieving sessions for the same user account (e.g. foo_audioscrobbler), causing both plug-ins to be repeatedly disconnected. This may not be a problem, but we'll see... btw. does password stored encrypted? Yes, it's sent to Last.fm as a md5 hash, so that's how I store it. Thanks for all the positive feedback! This post has been edited by nausea: Sep 7 2008, 09:57 |
|
|
|
Sep 7 2008, 10:47
Post
#23
|
|
|
Group: Members Posts: 218 Joined: 1-April 04 Member No.: 13171 |
Thank you for your plugin.
This 0.3 version is working quite well for me |
|
|
|
Sep 7 2008, 10:56
Post
#24
|
|
![]() Group: Members Posts: 267 Joined: 17-June 08 From: Guess... Member No.: 54439 |
Thanks, tags now working fine. Now how to display the album and artist images? All of the information is stored in the COMMENTS section of the Tag, for example...
CODE image = http://userserve-ak.last.fm/serve/174s/8652249.jpg, lastfm:trackauth = 1a6e7, lastfm:albumId = 1428879, lastfm:artistId = 5705, http://www.last.fm/artistpage = http://www.last.fm/music/Rammstein, http://www.last.fm/albumpage = http://www.last.fm/music/Rammstein/Reise+Reise, http://www.last.fm/trackpage = http://www.last.fm/music/Rammstein/_/Ohne+dich, http://www.last.fm/buyTrackURL = http://www.last.fm/affiliate_sendto.php?link=catchdl&prod=1428879&rt=8&pos=9b944892b67cd2d9f7d9da1c934c5428&s=13, http://www.last.fm/buyAlbumURL = , http://www.last.fm/freeTrackURL = , And can the GENRE field be auto-filled too? This is a truly great plug-in This post has been edited by London Mike: Sep 7 2008, 11:00 |
|
|
|
Sep 7 2008, 12:25
Post
#25
|
|
|
Group: Developer Posts: 142 Joined: 4-March 03 Member No.: 5322 |
And can the GENRE field be auto-filled too? No info on the genre is given by Last.fm, so no. Now how to display the album and artist images? I'll have to read up on those parts of the SDK, but if it's possible I'll try and get it done. As you spotted I've dumped all the info given into the comment tag. Feel free to offer suggestions on what to do with it, the obvious being provide menu options to go to load those sites. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 21st May 2013 - 09:43 |