HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: Qudeid on 2010-08-07 20:57:33

Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 20:57:33
A message from the forum staff:
As for May 2011, this component is the #1 source of third party component crashes, with 241 reports this month so far. Install it at your own risk.


[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Current Version: 0.5.5.2 beta[/size]

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Introduction:[/size]

foo_lyricsgrabber2 is a plugin originally developed by T.P.Wang (unfortunately not maintained for a long time). It is designed to download lyrics from the web for specified songs.

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Instructions:[/size]

Right-Click a song and choose in the menu "Lyrics Grabber" the provider to download the lyrics from.

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Requirements:[/size]

Foobar 1.0 or later is supported.
For earlier versions please use the original lyricsgrabber you can find here (http://code.google.com/p/lyricsgrabber/downloads/list?can=2&q=+++%09+lyricsgrabber+).

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Important:[/size][/color] Do not install both foo_lyricsgrabber and foo_lyricsgrabber2 at the same time. Those two will crash foobar! Only install one of them.

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Changelog:[/size]

Code: [Select]
0.5.5.2 beta:
  - Fixed self inflicted bug

0.5.5.1 beta:
  - Maintenance

0.5.5.0 beta:
  - Added Leo's Lyrics to the providers

0.5.0.0 beta:
  - merged foo_lyricsgrabber2.dll and foo_grabber_python.dll together
  - few changes to better support Foobar2000 1.1 Installation/Update feature
  - from now on available through the official components website (and thus updateable)

0.4.5.2 beta:
  - foo_lyricsgrabber2
    - aesthetic fix for DarkLyrics

0.4.5.1 beta:
  - foo_lyricsgrabber2
    - fixed LyrDB truncated lyrics problem (Text encoding problem)

0.4.5.0 beta:
  - foo_lyricsgrabber2
    - Added new option to enable title formatting for the Lyrics Tag (example in the preferences) after request of ximmox and Tedgo
    - Fixed finally Googleluck problems and therefore Darklyrics

0.4.1.4 beta:
  - foo_lyricsgrabber2
    - fixed Darklyrics (not finding some songs of an album where it found songs)

0.4.1.3 beta:
  - foo_lyricsgrabber2
    - fixed LyricWiki again...

0.4.1.2 beta:
  - foo_lyricsgrabber2
    - fixed LyricWiki (problem when looking for a Song that is instrumental)
    - got rid of some unnessecary linebreaks at the end of the lyrics (hopefully)

0.4.1.1 beta:
  - foo_lyricsgrabber2
    - fixed LyrDb
    - fixed AZLyrics (hopefully)

0.4.1.0 beta:
  - foo_lyricsgrabber2
    - changed LyricWiki access to real website instead of the edit page
    - added googleluck function to curl wrapper
    - changed darklyrics to get to the right website using google's "I'm feeling lucky"

0.4.0.1 beta:
  - foo_lyricsgrabber2
    - fixed LyrDB again (hopefully really fixed!)
    - fixed lyricwiki (Title caps)

0.4.0.0 beta:
  - foo_lyricsgrabber2
    - fixed Empty Album Tag in Darklyrics
    - changed lyrDB search method --> fixed lyrDB not finding some songs (hopefully)
    - Added LyricWiki

0.3.6.1 beta:
  - foo_lyircsgrabber2
    - fixed "search all" function

0.3.6.0 beta:
  - foo_lyricsgrabber2
    - fixed Darklyrics
    - sort context menu
 
  - foo_grabber_python
    - corrected "Install.txt"
    - renamed Python to Scripts in contextmenu and preferences

0.3.5.2 beta:
  - fixed AZ Lyrics provider

0.3.5.1 beta:
  - fixed progressbar behaviour

0.3.5.0 beta:
  - foo_lyricsgrabber2:
    - fixed in config windows quite to quiet
    - added Darklyrics to the providers
    - added AZ Lyrics to the providers
    - added LyrDB
    - removed lyricsplugin until a fix is known
    - adjusted processbar for "search all"-function
    - Added support for multi value Artist tags
    - Added configuration page to preferences
    - Removed some typos
    - Moved configuration to preferences

  - foo_grabber_python:
    - changed system path to foobar2000 profile

0.3.2.0 alpha:
  - Context Menu isn't in the legacy commands section anymore
  - Added "Search All" to the Context Menu to provide a one-click method to search all built-in providers
  - Compiled against the new SDK (05/21/2010)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]License:[/size]

As the original, this will be released under the MIT License (http://www.opensource.org/licenses/mit-license.php)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Credits:[/size]

Obviously many thanks to T.P.Wang the initiator for this great plugin!

libcurl - Copyright © 1998 - 2008, Daniel Stenberg
Python - Copyright © 1990-2010, Python Software Foundation
DEELX Regular Expression Engine - Copyright 2006 © RegExLab.com, 史寿伟 (sswater shi)

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Current Version: 0.5.5.2 beta[/size]

[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]Download:[/size]

Google Code (http://code.google.com/p/lyricsgrabber2/)
Components Page (http://www.foobar2000.org/components/view/foo_lyricsgrabber2)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: grimes on 2010-08-07 21:37:56
Awesome!!! Works great. grabber2 and python have both same version number. Is this intended?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 21:41:49
Awesome!!! Works great. grabber2 and python have both same version number. Is this intended?


Yes. I figured, I will always put both dlls in the package and thus it is easier to determine which version belongs to which.

I mean, how do you know version 0.1.2 belongs to 3.4.5?

Both will always have the same Version number. That makes things easier.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-07 22:18:02
After downloading and installing pythongrabber i can't start foobar2000 anymore: It always crashes on startup. I already submitted the crashlog.

Edit: I deleted firstly all pythongrabber related parts of installation to see if they are causing crash - no luck. I had to deinstall lyricsgrabber itself. After adding lyricsgrabber again to componentsfolder it works again. Strange!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 22:20:42
After downloading and installing pythongrabber i can't start foobar2000 anymore: It always crashes on startup. I already submitted the crashlog


Did you delete the original lyricsgrabber? I stated it up in the first post. You can not have both foo_lyricsgrabber and foo_lyricsgrabber2 in the components folder at the same time.

Also Note, that the python grabber, due to a change in lyricsgrabber, has also been changed. If you use my python grabber you must also use my lyricsgrabber.

Answer to Edit:

It was probably what I just explained. Because I hat the same issue when I renamed my project to foo_lyricsgrabber2. Once I deleted the foo_lyricsgrabber, it worked just fine.

Title: Lyricsgrabber2 Feedback & Discussion
Post by: The Link on 2010-08-07 22:27:59
I use the latest beta (beta 2) of foobar2000 1.1 and get following message popup when I start foobar:

foo_grabber_python: Traceback (most recent call last):
  File "<string>", line 4, in <module>
ImportError: No module named traceback

Furthermore the way this plugin is distributed isn't very friendly with the new install system of foobar2000 1.1.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 22:33:12
I use the latest beta (beta 2) of foobar2000 1.1 and get following message popup when I start foobar:

foo_grabber_python: Traceback (most recent call last):
  File "<string>", line 4, in <module>
ImportError: No module named traceback

Furthermore the way this plugin is distributed isn't very friendly with the new install system of foobar2000 1.1.


About the distribution, might be. Originally I just wanted to fix a few things, that bugged me. Honestly, I don't know if I will maintain it very long, or just from time to time. I'll see about that. I have no problems giving this plugin over to anyone else, or adding someone to the Google Code project. Volunteers?

About that error, did this happen also with the version of T.P.Wang?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-07 22:33:27
Did you delete the original lyricsgrabber?
It even wasn't installed in my current installation. After installing again the crash occurs again. Here the crash log:

Code: [Select]
Illegal operation:
Code: E06D7363h, flags: 00000001h, address: 7515B727h
Additional parameters: 19930520h 0046F990h 6F394FE8h
Message: Service duplicated

Call path:
entry=>initquit::on_init

Code bytes (7515B727h):
7515B6E7h:  C0 89 45 B8 C7 45 BC CF B6 15 75 39 45 14 74 23
7515B6F7h:  8B 45 10 83 F8 0F 76 03 6A 0F 58 89 45 C0 C1 E0
7515B707h:  02 50 FF 75 14 8D 45 C4 50 E8 0D A9 02 00 83 C4
7515B717h:  0C EB 03 89 45 C0 8D 45 B0 50 FF 15 6C 11 15 75
7515B727h:  C9 C2 10 00 CC CC CC CC CC 8B FF 55 8B EC 56 8B
7515B737h:  75 08 83 FE F4 72 18 83 FE F6 77 13 8D 45 08 50
7515B747h:  6A 00 56 E8 DD 02 00 00 85 C0 74 03 8B 75 08 56
7515B757h:  FF 15 3C 10 15 75 5E 85 C0 7C 05 33 C0 40 EB 08

Stack (0046F8E8h):
0046F8C8h:  00000000 FFFFFD34 000002E4 FFFFFD34
0046F8D8h:  000002CC 00000019 00000000 0046F8E8
0046F8E8h:  E06D7363 00000001 00000000 7515B727
0046F8F8h:  00000003 19930520 0046F990 6F394FE8
0046F908h:  00000000 10025425 771AFBDA 00000000
0046F918h:  00000004 0046F8FC 0046F958 0046F96C
0046F928h:  75185EB0 10D72F56 FFFFFFFE 7515D117
0046F938h:  0046F970 6F3774C4 E06D7363 00000001
0046F948h:  00000003 0046F964 E06D7363 00000001
0046F958h:  00000000 00000000 00000003 19930520
0046F968h:  0046F990 6F394FE8 0046F9A0 6F349B26
0046F978h:  0046F990 6F394FE8 6F39B5C4 0000032C
0046F988h:  0046FA50 00000004 6F393E7C 6F393E48
0046F998h:  00000000 6F393E48 0046FA84 6F33123C
0046F9A8h:  0046F9BC 6F393B78 65F71A26 0046FA58
0046F9B8h:  00000000 00000000 0046FA78 6F388AB8
0046F9C8h:  FFFFFFFF 6F3406D2 0124E5E4 00000000
0046F9D8h:  0046FA58 65F71916 6F39A69C 0000000B
0046F9E8h:  0124FCA8 757E8BCD 6F393194 00000000
0046F9F8h:  00000000 00000000 00000023 0046FA34

Registers:
EAX: 0046F8E8, EBX: 00000000, ECX: 00000003, EDX: 00000000
ESI: 0124FAB0, EDI: 0046FA58, EBP: 0046F938, ESP: 0046F8E8

Crash location:
Module: KERNELBASE
Offset: B727h
Symbol: "RaiseException" (+58h)

Loaded modules:
foobar2000                      loaded at 01370000h - 01555000h
ntdll                            loaded at 77190000h - 77310000h
kernel32                        loaded at 75430000h - 75530000h
KERNELBASE                      loaded at 75150000h - 75196000h
COMCTL32                        loaded at 74B40000h - 74CDE000h
msvcrt                          loaded at 74E30000h - 74EDC000h
GDI32                            loaded at 75670000h - 75700000h
USER32                          loaded at 757D0000h - 758D0000h
ADVAPI32                        loaded at 75700000h - 757A0000h
sechost                          loaded at 75CF0000h - 75D09000h
RPCRT4                          loaded at 76CA0000h - 76D90000h
SspiCli                          loaded at 74D00000h - 74D60000h
CRYPTBASE                        loaded at 74CF0000h - 74CFC000h
LPK                              loaded at 75090000h - 7509A000h
USP10                            loaded at 751A0000h - 7523D000h
SHLWAPI                          loaded at 76C40000h - 76C97000h
DSOUND                          loaded at 709C0000h - 70A32000h
ole32                            loaded at 75290000h - 753EC000h
WINMM                            loaded at 74030000h - 74062000h
POWRPROF                        loaded at 70B20000h - 70B45000h
SETUPAPI                        loaded at 74EE0000h - 7507D000h
CFGMGR32                        loaded at 757A0000h - 757C7000h
OLEAUT32                        loaded at 759D0000h - 75A5F000h
DEVOBJ                          loaded at 75530000h - 75542000h
UxTheme                          loaded at 749D0000h - 74A50000h
dbghelp                          loaded at 6FA80000h - 6FB6B000h
SHELL32                          loaded at 75D10000h - 76959000h
shared                          loaded at 70A50000h - 70A7A000h
imagehlp                        loaded at 755E0000h - 7560A000h
COMDLG32                        loaded at 76960000h - 769DB000h
zlib1                            loaded at 5A4C0000h - 5A4D4000h
IMM32                            loaded at 75550000h - 755B0000h
MSCTF                            loaded at 74D60000h - 74E2C000h
guard32                          loaded at 10000000h - 10047000h
VERSION                          loaded at 73750000h - 73759000h
fltlib                          loaded at 73740000h - 73747000h
CLBCatQ                          loaded at 75A60000h - 75AE3000h
MMDevApi                        loaded at 70A80000h - 70AB9000h
PROPSYS                          loaded at 71470000h - 71565000h
dwmapi                          loaded at 74120000h - 74133000h
foo_ui_std                      loaded at 6F960000h - 6FA78000h
gdiplus                          loaded at 74250000h - 743E0000h
MSIMG32                          loaded at 743E0000h - 743E5000h
foo_tagbox                      loaded at 02A60000h - 02AD3000h
foo_converter                    loaded at 70940000h - 709BA000h
foo_tlbRC                        loaded at 01170000h - 01197000h
foo_lyricsgrabber2              loaded at 6F8E0000h - 6F958000h
WLDAP32                          loaded at 75240000h - 75285000h
WS2_32                          loaded at 753F0000h - 75425000h
NSI                              loaded at 75140000h - 75146000h
foo_input_std                    loaded at 6F780000h - 6F8D4000h
foo_fileops                      loaded at 6FC10000h - 6FC56000h
foo_preview_custom              loaded at 01110000h - 0111E000h
MSVCR80                          loaded at 6FB70000h - 6FC0B000h
foo_wave_seekbar                loaded at 6F5B0000h - 6F77A000h
foo_dsp_std                      loaded at 6F560000h - 6F5A8000h
foo_seek_box                    loaded at 70B60000h - 70B7D000h
foo_cdda                        loaded at 6F510000h - 6F55E000h
foo_unpack                      loaded at 6F4E0000h - 6F50F000h
foo_w7shell                      loaded at 012C0000h - 012FD000h
foo_albumlist                    loaded at 6F480000h - 6F4DD000h
foo_freedb2                      loaded at 6F430000h - 6F471000h
foo_lyricsgrabber                loaded at 6F330000h - 6F3A5000h
foo_rgscan                      loaded at 6F2E0000h - 6F32D000h
foo_dsp_crossfader              loaded at 030A0000h - 030D2000h
USERENV                          loaded at 73430000h - 73447000h
profapi                          loaded at 73420000h - 7342B000h
ntmarta                          loaded at 74B10000h - 74B31000h
LINKINFO                        loaded at 73FB0000h - 73FB9000h
apphelp                          loaded at 73300000h - 7334B000h
gameux                          loaded at 71180000h - 713F8000h
XmlLite                          loaded at 71640000h - 7166F000h
CRYPT32                          loaded at 769E0000h - 76AFC000h
MSASN1                          loaded at 77160000h - 7716C000h
wer                              loaded at 71590000h - 715F0000h
ntshrui                          loaded at 71400000h - 7146F000h
srvcli                          loaded at 73370000h - 73389000h
cscapi                          loaded at 74020000h - 7402B000h
slc                              loaded at 74070000h - 7407A000h
CRYPTSP                          loaded at 73680000h - 73696000h
rsaenh                          loaded at 73630000h - 7366B000h
tiptsf                          loaded at 70EC0000h - 70F18000h

Stack dump analysis:
Address: 7515B727h (KERNELBASE+B727h), symbol: "RaiseException" (+58h)
Address: 6F394FE8h (foo_lyricsgrabber+64FE8h), symbol: "foobar2000_get_interface" (+4CB78h)
Address: 10025425h (guard32+25425h), symbol: "Exported" (+565h)
Address: 771AFBDAh (ntdll+1FBDAh), symbol: "ZwSetInformationFile" (+12h)
Address: 75185EB0h (KERNELBASE+35EB0h), symbol: "IsNLSDefinedString" (+4E0h)
Address: 7515D117h (KERNELBASE+D117h), symbol: "ReadFile" (+16Ah)
Address: 6F3774C4h (foo_lyricsgrabber+474C4h), symbol: "foobar2000_get_interface" (+2F054h)
Address: 6F394FE8h (foo_lyricsgrabber+64FE8h), symbol: "foobar2000_get_interface" (+4CB78h)
Address: 6F349B26h (foo_lyricsgrabber+19B26h), symbol: "foobar2000_get_interface" (+16B6h)
Address: 6F394FE8h (foo_lyricsgrabber+64FE8h), symbol: "foobar2000_get_interface" (+4CB78h)
Address: 6F39B5C4h (foo_lyricsgrabber+6B5C4h), symbol: "foobar2000_get_interface" (+53154h)
Address: 6F393E7Ch (foo_lyricsgrabber+63E7Ch), symbol: "foobar2000_get_interface" (+4BA0Ch)
Address: 6F393E48h (foo_lyricsgrabber+63E48h), symbol: "foobar2000_get_interface" (+4B9D8h)
Address: 6F393E48h (foo_lyricsgrabber+63E48h), symbol: "foobar2000_get_interface" (+4B9D8h)
Address: 6F33123Ch (foo_lyricsgrabber+123Ch)
Address: 6F393B78h (foo_lyricsgrabber+63B78h), symbol: "foobar2000_get_interface" (+4B708h)
Address: 6F388AB8h (foo_lyricsgrabber+58AB8h), symbol: "foobar2000_get_interface" (+40648h)
Address: 6F3406D2h (foo_lyricsgrabber+106D2h)
Address: 6F39A69Ch (foo_lyricsgrabber+6A69Ch), symbol: "foobar2000_get_interface" (+5222Ch)
Address: 757E8BCDh (USER32+18BCDh), symbol: "CreateWindowExW" (+33h)
Address: 6F393194h (foo_lyricsgrabber+63194h), symbol: "foobar2000_get_interface" (+4AD24h)
Address: 6F392F94h (foo_lyricsgrabber+62F94h), symbol: "foobar2000_get_interface" (+4AB24h)
Address: 6F393288h (foo_lyricsgrabber+63288h), symbol: "foobar2000_get_interface" (+4AE18h)
Address: 6F392F94h (foo_lyricsgrabber+62F94h), symbol: "foobar2000_get_interface" (+4AB24h)
Address: 6F39B5C4h (foo_lyricsgrabber+6B5C4h), symbol: "foobar2000_get_interface" (+53154h)
Address: 01170001h (foo_tlbRC+1h)
Address: 6F3938C8h (foo_lyricsgrabber+638C8h), symbol: "foobar2000_get_interface" (+4B458h)
Address: 6F38921Bh (foo_lyricsgrabber+5921Bh), symbol: "foobar2000_get_interface" (+40DABh)
Address: 013DB03Ah (foobar2000+6B03Ah)
Address: 70A52826h (shared+2826h), symbol: "uCallStackTracker::~uCallStackTracker" (+0h)
Address: 6F39A69Ch (foo_lyricsgrabber+6A69Ch), symbol: "foobar2000_get_interface" (+5222Ch)
Address: 014B6019h (foobar2000+146019h)
Address: 013DC621h (foobar2000+6C621h)
Address: 75603AE4h (imagehlp+23AE4h), symbol: "UnmapDebugInformation" (+17400h)
Address: 014DAAB8h (foobar2000+16AAB8h)
Address: 014DAAB8h (foobar2000+16AAB8h)
Address: 014DDE90h (foobar2000+16DE90h)
Address: 771BDF00h (ntdll+2DF00h), symbol: "RtlAllocateHeap" (+7Ah)
Address: 772003DDh (ntdll+703DDh), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 771BE1CCh (ntdll+2E1CCh), symbol: "RtlInitUnicodeString" (+164h)
Address: 771BDF32h (ntdll+2DF32h), symbol: "RtlAllocateHeap" (+ACh)
Address: 10025425h (guard32+25425h), symbol: "Exported" (+565h)
Address: 014A3FF5h (foobar2000+133FF5h)
Address: 014AA7ADh (foobar2000+13A7ADh)
Address: 01475F30h (foobar2000+105F30h)
Address: 014A7B60h (foobar2000+137B60h)
Address: 014AA7ADh (foobar2000+13A7ADh)
Address: 014A83F5h (foobar2000+1383F5h)
Address: 014C5343h (foobar2000+155343h)
Address: 70A527D8h (shared+27D8h), symbol: "uPrintCrashInfo_OnEvent" (+B1h)
Address: 014DE29Ch (foobar2000+16E29Ch)
Address: 70A5281Eh (shared+281Eh), symbol: "uCallStackTracker::uCallStackTracker" (+31h)
Address: 014DE29Ch (foobar2000+16E29Ch)
Address: 013DC93Ch (foobar2000+6C93Ch)
Address: 014ADB9Dh (foobar2000+13DB9Dh)
Address: 015121C8h (foobar2000+1A21C8h)
Address: 014A736Fh (foobar2000+13736Fh)
Address: 014A42C7h (foobar2000+1342C7h)
Address: 014A42C1h (foobar2000+1342C1h)
Address: 014D01B0h (foobar2000+1601B0h)
Address: 014D01B4h (foobar2000+1601B4h)
Address: 014CDF51h (foobar2000+15DF51h)
Address: 014A7B60h (foobar2000+137B60h)
Address: 014A42C1h (foobar2000+1342C1h)
Address: 014C591Dh (foobar2000+15591Dh)
Address: 014A51B2h (foobar2000+1351B2h)
Address: 01370000h (foobar2000+0h)
Address: 014ABE5Fh (foobar2000+13BE5Fh)
Address: 014A7B60h (foobar2000+137B60h)
Address: 75443677h (kernel32+13677h), symbol: "BaseThreadInitThunk" (+12h)
Address: 771C9D42h (ntdll+39D42h), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 75603CBCh (imagehlp+23CBCh), symbol: "UnmapDebugInformation" (+175D8h)
Address: 75469775h (kernel32+39775h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 75469775h (kernel32+39775h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 772003DDh (ntdll+703DDh), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 771C9D15h (ntdll+39D15h), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 014A5205h (foobar2000+135205h)
Address: 014A5205h (foobar2000+135205h)

Environment:
App: foobar2000 v1.1 beta 2
OS: Windows 6.1.7600 x64
CPU: AMD Athlon™ II X4 630 Processor, features: 3DNow!ex MMX SSE SSE2 SSE3
Audio: Lautsprecher (Realtek High Definition Audio); Realtek Digital Output (Realtek High Definition Audio)
UI: Default User Interface 0.9.5

Components:
Core (2010-08-03 11:27:02 UTC)
    foobar2000 core 1.1 beta 2
foo_albumlist.dll (2010-08-03 11:25:22 UTC)
    Album List 4.5
foo_cdda.dll (2010-08-03 11:25:20 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2010-08-03 11:24:52 UTC)
    Converter 1.5
foo_dsp_crossfader.dll (2010-01-13 19:46:10 UTC)
    Gapless Crossfader 1.3.4.1
foo_dsp_std.dll (2010-08-03 11:25:20 UTC)
    Standard DSP Array 1.0
foo_fileops.dll (2010-08-03 11:23:52 UTC)
    File Operations 2.1.3
foo_freedb2.dll (2010-08-03 11:24:06 UTC)
    freedb Tagger 0.6.2
foo_grabber_python.dll
foo_input_std.dll (2010-08-03 11:24:52 UTC)
    Standard Input Array 1.0
foo_lyricsgrabber.dll (2010-08-06 18:03:00 UTC)
    Lyrics Grabber 0.3.1.1 Alpha
foo_lyricsgrabber2.dll (2010-08-07 19:05:58 UTC)
    Lyrics Grabber 0.3.2.0 Alpha
foo_preview_custom.dll (2010-08-06 22:39:35 UTC)
    Preview Custom 1.0.1
foo_rgscan.dll (2010-08-03 11:24:52 UTC)
    ReplayGain Scanner 2.0.9
foo_seek_box.dll (2010-08-06 21:19:04 UTC)
    Seek box 0.0.3
foo_tagbox.dll (2010-08-07 16:14:20 UTC)
    TagBox 0.170
foo_tlbRC.dll (2009-05-04 23:44:34 UTC)
    TLB Remote Control 3.0
foo_ui_std.dll (2010-08-03 11:25:16 UTC)
    Default User Interface 0.9.5
foo_unpack.dll (2010-08-03 11:24:20 UTC)
    ZIP/GZIP/RAR Reader 1.6
foo_w7shell.dll (2010-01-17 02:09:20 UTC)
    Windows 7 integration 0.2.9.1
foo_wave_seekbar.dll (2010-04-24 22:35:42 UTC)
    Waveform seekbar 0.2.12

Recent events:
Watching: C:\Users\Public\Music\Sample Music
UI Element instantiation failure: UI Element Not Found
Album List refreshed in: 0:00.000367
Sample component: on_init()
Title: Lyricsgrabber2 Feedback & Discussion
Post by: The Link on 2010-08-07 22:34:30
Never used an older version of this component.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-07 22:41:24
It is the latest lyricsgrabber dll wich lets foobar2000 crash. The one before (that worked without problems) was yours: did you change anything?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 22:42:09
@stankovic:

strange... I'll look into that tomorrow. Could be that it is some issue with Foobar 1.1.

@The Link:

I've just installed this plugin to a clean install of foobar 2000 1.1 beta 2.. Nothing happened. So this could possibly be something caused by incompatibility with other plugins.

@stankovic again:

Err.. not that I know of.. Only this "search all" functionality. But it could be that, by testing stuff out, there is some remainder of this testing... As I said, I'll look into it tomorrow.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-07 22:48:33
I combined the python stuff with lyricgrabber version dowloaded here (http://www.hydrogenaudio.org/forums/index.php?showtopic=62821&view=findpost&p=717144) and crashes doesn't appear anymore but i am told that grabberpython couldn't be loaded. Maybe that helps anyhow.


Edit:

Strange! I installed all in a fresh and clean install and have no crashes. Just: foo_grabberpython refuses to load. I got following message: "Failed to load DLL: foo_grabber_python.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000."

Title: Lyricsgrabber2 Feedback & Discussion
Post by: The Link on 2010-08-07 23:17:48
Rearranging the files and folder solved the problem but it seems you really have to mess with the foobar install directory. This behavior doesn't really go along well with the new foobar version. Would be nice if all the necessary dependencies could be put into the profile directory (perhaps even in the foo_grabber_python folder).
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 23:25:17
@ Stankovic:

You're probably missing the python25.dll

@ The Link:

You mean the python25.dll into the profile directory? I'm not sure if that is going to work, but I'll see what I can do.

PS: LyricsPlugin seems to have changed something again, unfortunately... I'm getting the www.lyricsvip.com again :S... If someone konws how to prevent that, I'd very appreciat it!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: The Link on 2010-08-07 23:30:31
Quote
@ The Link:
You mean the python25.dll into the profile directory? I'm not sure if that is going to work, but I'll see what I can do.
No, I mean that the pygrabber folder has to be in the foobar2000 install folder. You can already put python25.dll into the component's folder in the profile and it works fine.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-07 23:33:23
Quote
@ The Link:
You mean the python25.dll into the profile directory? I'm not sure if that is going to work, but I'll see what I can do.
No, I mean that the pygrabber folder has to be in the foobar2000 install folder. You can already put python25.dll into the component's folder in the profile and it works fine.



Where exactly is the profile folder? It is %appdata% or somewhere else? I'm running foobar1.0 on my PC, only testes 1.1 in a virtual machine briefly. I don't know much about the new stuff (and unfortunately I can't find much of a documentation either) Would be great if you could point me into the right direction.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-07 23:39:01
Oh sorry,  the crash was my fault! 
I had the old lyricsgrabber in the user_componentsfolder and the new added in the components folder. I guess it is time to good-bye to old methods of installing components.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: grimes on 2010-08-07 23:47:58
Can confirm www.lyricsvip.com occurrence with lyricsplugin.

I've standard installation.

%APPDATA%\foobar2000\pygrabber\scripts or libs

python25.dll in "Program Files\foobar2000"

py system files in "Program Files\foobar2000\pygrabber\system"

Installation of python plugin first then grabber-plugin with 1.1 "Install..."
(installs to %APPDATA%\foobar2000\user-component\)


btw. I've uploaded a new lyrics-script in Upload Section. Would be nice, someone can test it...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: The Link on 2010-08-08 00:04:30
Where exactly is the profile folder?
On Win7/Vista it is %AppData%/Roaming/foobar2000/user-components/<component name>/<component name>.dll
Title: Lyricsgrabber2 Feedback & Discussion
Post by: kode54 on 2010-08-08 00:22:51
%appdata% already points to the roaming profile folder in Vista/7.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-08 00:36:37
Lyrics Plugin changed the URL to further prevent people from accessing it.

The new URL is
Code: [Select]
http://www.lyricsplugin.com/winamp03/plugin/content.php?artist=<artist>&title=<title>&time=<time>&check=<check>

<time> is the same "ts" from before.
<check> is new.  It's some long string that's generated when visiting the page.  One example: 86372e8998350ce034a353c81c5dd42a.  I don't know how this value is derived, but if you refresh the page, it changes.  I don't really know any more on this.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: fragment on 2010-08-08 06:51:10
Hi!

I downloaded your version as the previous lyricsgrabber has been acting finicky and been producing lyrics containing "lyricsvip.com". Your's is doing the same, unfortunately... just thought I should let you know. Thanks.

--fragment
Title: Lyricsgrabber2 Feedback & Discussion
Post by: wolfsong on 2010-08-08 07:41:04
Is it possible to add a setting to handle multiple values in the ARTIST field? Thanks.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-08 08:20:35
Many replies.. Hehe..

@ The Link:

I think I have found it in code where pygrabber/system is accessed. I will see to it that it works when put in the profile. There is already an existing pygrabber folder with libs and scripts folders in it. Scrips can already be copied over and work. So there won't be the possibility to have an pygrabber folder in the foobar2000 folder anymore.

But before I really do this:
@ All, does this change make sense to you? I want to make sure people think the same, I finde it sensible too.

@Hitchhiker:
I didn't know what TS stands for. What time actually is... Is it the time of the song? Well anyway... seems to look like LyricsPlugin is off limits as long as nobody knows how to access the site correctly  But I will see to it, that more provider will be available in lyricsgrabber2. First of all I'll check out the existing scripts made in python.

@fragment:
Yes, I'm very aware of that, and it hasn't something to do with lyricsgrabber but the LyricsPlugin website. They changed again how to access the lyrics and at  the moment I see no way I could get to them

@wolfsong:
What do you mean?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-08 09:28:54
I find moving the pygrabber folder to the profile folder to be a good decision.  I already keep my scripts in the profile folder, so relocating the other pygrabber files seems sensible.

The ts parameter is just a time stamp in Unix time for when the page is accessed.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: grimes on 2010-08-08 10:16:03
I think I have found it in code where pygrabber/system is accessed. I will see to it that it works when put in the profile. There is already an existing pygrabber folder with libs and scripts folders in it. Scrips can already be copied over and work. So there won't be the possibility to have an pygrabber folder in the foobar2000 folder anymore...
...does this change make sense to you?


Yes!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-08 13:29:14
@Hitchhiker:

I see.. well it didn't seem to be ecessary before they changed the site again... Anyway, better to implement a few alternatives, and just use the "search all" button to really get the lyrics.
As of now, Darklyrics is in and LyricsPlugin, for the time being, until a fix is know, out. But until there are more implemented, I won't make a release.

@Grimes and the others:

You all have your wish. the system folder, previously to be installed into the foobar directory, now goes to the profile directory (<profile>\pygrabber\system).
Title: Lyricsgrabber2 Feedback & Discussion
Post by: wolfsong on 2010-08-08 17:57:43
@wolfsong:
What do you mean?

One of the problems I've run into with both the original and the new version of Lyricsgrabber is that neither found results when the ARTIST field had multiple values. An example would be "Under Pressure" by Queen and David Bowie. With ID3 tags you can save both artists in the ARTIST field using a separator (in Foobar a semicolon but in some apps a comma). Ideally , Lyricsgrabber would do a search on each value but more than likely the first value would probably return a successful result. Thanks.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-08 18:02:15
I see.
Is that some kind of convention that multiple values are always separated by a semicolon in foobar?

Problem is, though, I don't have a song like that, so it would be hard to test it.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: wolfsong on 2010-08-08 18:35:54
I see.
Is that some kind of convention that multiple values are always separated by a semicolon in foobar?

Problem is, though, I don't have a song like that, so it would be hard to test it.

To my understanding yes it is. Actually T.P Wang responded (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=62821&view=findpost&p=603474) to the request but development stopped.

I'm fairly sure it would be simple to test with an existing file where the lyrics can be successfully found and adding a semicolon and a value to the ARTIST field. Right now I know that this will automatically fail to find results since the ARTIST field most likely is not parsed.

Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-08 18:45:44
That's an intresting idea. I will test it that way!

Edit: I've just tried it out and found a problem with that approach... The thing is I get it as a comma.. unless there is a way to determine it is truly multi value, rather than a comma in the tag, I am forced to first check it as is, and then, if that failed, probably splitting it apart... Hopefully there is a variable that tells me it is multi value.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: marc2003 on 2010-08-08 19:09:08
have a look at $meta_num

http://wiki.hydrogenaudio.org/index.php?ti...ence#Metadata_2 (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Title_Formatting_Reference#Metadata_2)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-08 19:19:34
have a look at $meta_num

http://wiki.hydrogenaudio.org/index.php?ti...ence#Metadata_2 (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Title_Formatting_Reference#Metadata_2)



Thank you for your work. I've found another way, though, without relying on these tagging methods.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: fbuser on 2010-08-08 19:21:22
That's an intresting idea. I will test it that way!

Edit: I've just tried it out and found a problem with that approach... The thing is I get it as a comma.. unless there is a way to determine it is truly multi value, rather than a comma in the tag, I am forced to first check it as is, and then, if that failed, probably splitting it apart... Hopefully there is a variable that tells me it is multi value.
You can use the file_info interface class for this.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-08 19:26:25
Thank you. That is exactly what I tried and found to be a very convenient method

Edit:
From now on forth, this is implemented in all built-in providers. Mind, that Python Scripts are not affected as it is up to the author how they work.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 11:46:04
Hi Folks,

I have a quick question for you...

What do you prefer:

I personally think, in Foobar's Preferences is enough and better than the original, that is only accessible through the context menu.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: TomBarlow on 2010-08-09 12:40:56
I'd say preferences only, since the configuration doesn't depend on the song you right click on.

Thanks for this component. Am I right in thinking this is the most up to date plugin for searching lyrics?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 12:58:08
I'd say preferences only, since the configuration doesn't depend on the song you right click on.

Thanks for this component. Am I right in thinking this is the most up to date plugin for searching lyrics?



Err.. I don't really know. But since the last Update was 2 Days ago, possibly. But unfortunately there are only a few providers, as LyricsPlugin changed, as stated a few times.

And yes, I share your opinion, preferences have nothing to do with a song, but with the plugin itself. Thank you.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: wolfsong on 2010-08-09 18:08:57
What do you prefer:

Configuration in Foobar's Preferences only
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-09 18:28:11
Agreed, foobar preferences.

Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 18:56:17
Very well. Done

The newest release is up and can be found here (http://code.google.com/p/lyricsgrabber2/downloads/list?q=label:Featured)

Unfortunately I am unable to edit the first post for the change log so I will put it here:

Code: [Select]
0.3.5.0 Beta:
  - foo_lyricsgrabber2:
    - fixed in config windows quite to quiet
    - added Darklyrics to the providers
    - added AZ Lyrics to the providers
    - added LyrDB
    - removed lyricsplugin until a fix is known
    - adjusted processbar for "search all"-function
    - Added support for multi value Artist tags
    - Added configuration page to preferences
    - Removed some typos
    - Moved configuration to preferences

  - foo_grabber_python:
    - changed system path to foobar2000 profile

0.3.2.0 Alpha:
  - Context Menu isn't in the legacy commands section anymore
  - Added "Search All" to the Context Menu to provide a one-click method to search all built-in providers
  - Compiled against the new SDK (05/21/2010)


So, quite a bit has happend. And I guess, for the time being, those 3 Providers plus those available through python, is okay. Also this time it is a little more Foobar 1.1 compliant as everything can be installed to the profile folder (including python25.dll)  Have fun
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-09 19:13:29
http://www.lyricsplugin.com/winamp03/plugi...;title=Somebody (http://www.lyricsplugin.com/winamp03/plugin/?artist=Eagles&title=Somebody)

seems to be working for me without any additional parameters, just have to ditch content.php
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 19:16:34
http://www.lyricsplugin.com/winamp03/plugi...;title=Somebody (http://www.lyricsplugin.com/winamp03/plugin/?artist=Eagles&title=Somebody)

seems to be working for me without any additional parameters, just have to ditch content.php


Code: [Select]
 

http://www.lyricsvip.com


This is exactly what I see, when I click your link.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-09 19:23:03
Hmm...I see lyrics in both Firefox and IE :S
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 19:26:41
As it seems, this site is very location-based. As Some in the US had an www.tunedrankings.com link at the bottom of ther lyrics attached.
Anyway, as there are now 3 Providers built-in I guess most of the songs get their lyrics  Hopefully.

Very strange.. with IE, I get them also... But I don't seem to get them using the plugin...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-09 19:35:30
http://www.lyricsplugin.com/winamp03/plugi...;title=Somebody (http://www.lyricsplugin.com/winamp03/plugin/?artist=Eagles&title=Somebody)

seems to be working for me without any additional parameters, just have to ditch content.php

Try looking at the page source of the link you posted.  The lyrics aren't there.  When you visit that site, a bit of javascript pulls the lyrics from content.php and inserts them into the body of the page you're viewing.  Unfortunately, without calling content.php, we don't have access to the lyrics.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 19:37:40
http://www.lyricsplugin.com/winamp03/plugi...;title=Somebody (http://www.lyricsplugin.com/winamp03/plugin/?artist=Eagles&title=Somebody)

seems to be working for me without any additional parameters, just have to ditch content.php

Try looking at the page source of the link you posted.  The lyrics aren't there.  When you visit that site, a bit of javascript pulls the lyrics from content.php and inserts them into the body of the page you're viewing.  Unfortunately, without calling content.php, we don't have access to the lyrics.


But now the real joke... When using Internet Explorer.. I get the lyrics.. with that same link
Hm, as it seems, it is the javascript at it's work... You're right, no lyrics in the source code...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: wolfsong on 2010-08-09 19:58:05
Thanks for the update. Works beautifully!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 20:07:49
Thanks for the update. Works beautifully!


Do your multi-value Artist songs get their lyrics?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-09 20:08:54
Oh yeah, and thanks for the update.  There are some nice changes in there.

I messaged the one guy who maintains the alternative server for Leo's Lyrics but haven't received a reply.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 20:20:43
Oh yeah, and thanks for the update.  There are some nice changes in there.

I messaged the one guy who maintains the alternative server for Leo's Lyrics but haven't received a reply.


Which are the nice changes?

I wrote an E-Mail to the address on Leo's Lyrics website, as they offer a plugin for Winamp and iTunes. Btw. the idea behind LyrDB ist amazing. Opening up a whole API for both submitting and requesting lyrics, free for every tool to use. It was really fun to implement this.
Darklyrics was a little hassle and I guess downloading lyrics from there is the slowest at the moment, as the plugin has to read the whole page, and that contains already the lyrics of every song in that album.

Also, I found that requesting lyrics for the first time after starting foobar (no matter which provider) is quite slow, but every subsequent request is faster.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-09 20:35:30
Well, personally I like the "search all", moving the configuration options to foobar preferences, and moving the pygrabber system files.  Those were little things that have always bugged me a bit.

One more thing has always bugged me.  Sometimes quite randomly pygrabber decides to "forget" which python scripts I have installed, and I have to go back to the configuration and refresh the list.  I haven't specifically run into this bug since I started using your updates (though they've only existed for a few days), but I suspect that it's still present.  I can't consistently repeat this bug so I'm not sure what causes it, but if you can find something in the pygrabber source code that might cause this behavior I'd appreciate it.

Also, the LyrDB behavior does sound pretty cool.  It's a shame that the database isn't as large as Lyrics Plugin or Leo's Lyrics.  Another user, grimes, recently posted a new python script in the uploads section of the forum for ChartLyrics.  It seems that they use a similar API for accessing and submitting lyrics.  I'm not sure how extensive their database is, but it might be worth looking into.

EDIT:  Your post just made me think.  Why don't we try contacting the Lyrics Plugin guys and see if they'd be willing to cooperate?  I mean, they specifically make a plugin for Winamp, WMP, and iTunes.  Maybe if we asked nicely instead of scraping their pages for lyrics, they'd help.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 20:42:59
Well, personally I like the "search all", moving the configuration options to foobar preferences, and moving the pygrabber system files.  Those were little things that have always bugged me a bit.

One more thing has always bugged me.  Sometimes quite randomly pygrabber decides to "forget" which python scripts I have installed, and I have to go back to the configuration and refresh the list.  I haven't specifically run into this bug since I started using your updates (though they've only existed for a few days), but I suspect that it's still present.  I can't consistently repeat this bug so I'm not sure what causes it, but if you can find something in the pygrabber source code that might cause this behavior I'd appreciate it.

Also, the LyrDB behavior does sound pretty cool.  It's a shame that the database isn't as large as Lyrics Plugin or Leo's Lyrics.  Another user, grimes, recently posted a new python script in the uploads section of the forum for ChartLyrics.  It seems that they use a similar API for accessing and submitting lyrics.  I'm not sure how extensive their database is, but it might be worth looking into.

EDIT:  Your post just made me think.  Why don't we try contacting the Lyrics Plugin guys and see if they'd be willing to cooperate?  I mean, they specifically make a plugin for Winamp, WMP, and iTunes.  Maybe if we asked nicely instead of scraping their pages for lyrics, they'd help.


Yeah, those a tiny things that bug you, but sometimes those tiny things are too much to just change them in a hotfix. It wasn't a big deal, however. But not trivial either (but it could just me, having the very first contact with plugin development in general and foobar specifically.

Okay, I don't know about that pythongrabber bug. But it has probably something to do with the .cfg file you find in your profile folder. Other than that, I don't know.

I'll look into ChartLyrics, question is, how big is their Database?

And yes, that would be a wonderful idea. I'm going to write them right away. Thank you!

Edit: Err... there is nothing on ther website... Only the two download buttons... no contact info or anything else...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-09 20:43:32
the time var is unix time and check is some sort of hash...once that is figured out we should be good to go
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 20:56:11
the time var is unix time and check is some sort of hash...once that is figured out we should be good to go


I would rather go the way and asking them, but due to the lack of an E-Mail Address... :S.. Maybe someone knows someone who knows the owner... or so .. hehe.

About the check... well, as Hitchhiker says, the check changes... maybe it depends on the time, yet we still don't know how it is calculated then.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 21:06:50
I've just fixed a little problem with the progressbar, was more aesthetical but it really bugged me (when using search all the progressbar jumped back and forth instead of really progressing...)

Code: [Select]
0.3.5.1 Beta:
  - fixed progressbar behaviour

0.3.5.0 Beta:
  - foo_lyricsgrabber2:
    - fixed in config windows quite to quiet
    - added Darklyrics to the providers
    - added AZ Lyrics to the providers
    - added LyrDB
    - removed lyricsplugin until a fix is known
    - adjusted processbar for "search all"-function
    - Added support for multi value Artist tags
    - Added configuration page to preferences
    - Removed some typos
    - Moved configuration to preferences

  - foo_grabber_python:
    - changed system path to foobar2000 profile

0.3.2.0 Alpha:
  - Context Menu isn't in the legacy commands section anymore
  - Added "Search All" to the Context Menu to provide a one-click method to search all built-in providers
  - Compiled against the new SDK (05/21/2010)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-09 21:08:16
Anyway, as there are now 3 Providers built-in I guess most of the songs get their lyrics  Hopefully.


Not me, many albums doesn't receive lyrics. Hopefully lyricsplugin will work again in future.

Between: I still have the issue that grabberpython won't load because of missing dependencies. I switched 3 weeks ago to Win7 (64). On my old XP i have installed several runtime libraries. Can someone tell me which one i need for the fresh install of my OS?

Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 21:21:11
Anyway, as there are now 3 Providers built-in I guess most of the songs get their lyrics  Hopefully.


Not me, many albums doesn't receive lyrics. Hopefully lyricsplugin will work again in future.

Between: I still have the issue that grabberpython won't load because of missing dependencies. I switched 3 weeks ago to Win7 (64). On my old XP i have installed several runtime libraries. Can someone tell me which one i need for the fresh install of my OS?


Pythongrabber only needs the python25.dll to operate. It works on a vanilla installation of Windows 7 x64 on my virtual machine with no problem.

And those albums did, when using lyricsplugin? Too bad I can't find an URL... err... Do you find your lyrics on Leo's Lyrics?

PS: just out of curiosty.. "between"? Did you men "btw = by the way"?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-09 21:31:51
Pythongrabber only needs the python25.dll to operate. It works on a vanilla installation of Windows 7 x64 on my virtual machine with no problem.
Will test that! Everything is installed correctly. As far as i know from german forum other users made the same experience!

And those albums did, when using lyricsplugin?
Yep, it seems to be bigger and better.

PS: just out of curiosty.. "between"? Did you men "btw = by the way"?
Hmmm, i read sometimes in postings "btw" and thought it is abbrevation for "between" - i guess it means "by the way". Don't ask me why i ...! 
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-09 21:35:58
I just wanted to point out a small bug.  I'm not sure how you're querying AZ Lyrics, but it's reporting "Failed" for tracks whose lyrics are  present in that database.  Additionally, if I use the built-in AZ Lyrics it reports "Failed", but if I use my python AZ Lyrics script, it works fine.

Here's how I've been accessing that database:
Code: [Select]
# -*- coding: utf-8 -*-
import encodings.utf_8
import urllib
from xml.dom import minidom
from grabber import LyricProviderBase

class AZLyrics(LyricProviderBase):
    def GetName(self):
        return "A-Z Lyrics"
    
    def GetVersion(self):
        return "1"
    
    def GetURL(self):
        return "http://www.azlyrics.com"
    
    def Query(self, handles, status, abort):
        result = []
        
        for handle in handles:
            status.Advance()
            
            if abort.Aborting():
                return result
            
            artist = handle.Format("[%artist%]")
            title = handle.Format("[%title%]")
            
            try:
                string = urllib.urlopen("http://search.azlyrics.com/search.php?q=%s+%s" % (urllib.quote(artist), urllib.quote(title))).read()
                result_start = string.find("<b>1.</b>")
                url_start = string.find("<a href=\"", result_start) + 9
                url_end = string.find("\"", url_start)
                url = string[url_start:url_end]
                
                lyrics_string = urllib.urlopen(url).read()
                lyrics_string = lyrics_string[lyrics_string.find("<!-- END OF RINGTONE 1 -->") + 26:lyrics_string.find("<!-- RINGTONE 2 -->")]
                lyric = lyrics_string[lyrics_string.find("<br>") + 15:lyrics_string.find("<br><br><br><br>") - 1]
                lyric = lyric.replace("<br />","")
                result.append(lyric)
            except Exception, e:
                traceback.print_exc(file=sys.stdout)
                result.append('')
                continue
        
        return result

if __name__ == "__main__":
    LyricProviderInstance = AZLyrics()


I'm not sure what the differences are, but I felt it's worth mentioning.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 21:44:35
@Hitchhiker:

I have a little different approach. I try to go directly to the website, without using the search. But I can see the error in this. I must convert the artist and title to lower case and leave out anything non-alphanumeric (including whitespace). I will update that, to your approach. Thank you.

@stankovic:
That is strance.. try this please: http://www.microsoft.com/downloads/details...;displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: fbuser on 2010-08-09 21:53:16
Pythongrabber only needs the python25.dll to operate. It works on a vanilla installation of Windows 7 x64 on my virtual machine with no problem.
Will test that! Everything is installed correctly. As far as i know from german forum other users made the same experience!
It's probably because msvcr71.dll is missing, which is needed by python25.dll.

@stankovic:
That is strance.. try this please: http://www.microsoft.com/downloads/details...;displaylang=en (http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en)
This will not help, see above. You need to deploy msvcr71.dll together with python25.dll (see also here (http://support.microsoft.com/?scid=kb%3Ben-us%3B326922&x=15&y=5))

BTW: A good tool to determine dependencies is Dependency Walker (http://www.dependencywalker.com/)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 22:01:53
Didn't think it was a python25 issue. But I won't deploy the runtime, because it can be downloaded for free anyway. *add the url to the install.txt*

I know dependency walker. Helped me a lot when I couldn't get foobar to load my dlls.

Edit: Once the files are on google code, you can download a fixed version for the AZ Lyrics provider

Changelog:
Code: [Select]
0.3.5.2:
  - fixed AZ Lyrics provider


You can now download the newst version  Have fun!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-09 22:09:19
At last, it works! Thanks fbuser!

One issue to report: so far i couldn't find any lyrics with LyrDB. Strange is following: When i try search with that provider, the search doesn't last not even one second and poup of lyricsgrabber window appears.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-09 22:20:11
At last, it works! Thanks fbuser!

One issue to report: so far i couldn't find any lyrics with LyrDB. Strange is following: When i try search with that provider, the search doesn't last not even one second and poup of lyricsgrabber window appears.


Very strange... Worked for me with every song I tried.. Over Blackmore's Night to Ensiferum...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-09 22:48:28
Ok, i went to LyrDb Site to search for albums i have, checked the correct spelling, tried the search and ... it works! Guess, I have strange music. So far indeed the LyricsPlugin was matching best my taste. 

I've just fixed a little problem with the progressbar, was more aesthetical but it really bugged me (when using search all the progressbar jumped back and forth instead of really progressing...)

Another aesthetical problem that really bugs me: Couldn't the context menu entry "Python" be renamed to "Scripts" - makes more sense and furthermore indicates better for other users on my PC what is meant: "Hey, what is Python??"
Title: Lyricsgrabber2 Feedback & Discussion
Post by: cartman(2vd) on 2010-08-09 23:38:24
I dont know if this is considerable request but i would love it.
Today ive tried to find Heidevolk - Vlammenzee lyric on DarkLyrics. It is there: http://www.darklyrics.com/lyrics/heidevolk...udegrond.html#3 (http://www.darklyrics.com/lyrics/heidevolk/uitoudegrond.html#3)... but it is tagged as "Vlammenzee (Sea Of Flames)"

Can we implement something like this (if i undesrtood you right you have whole page cached anyway):
Code: [Select]
try find lyrics for title as it is
if (notfound): drop everything behind "feat." keyword (if found) and try again on same result.
if (still not found): drop everything behind "(" char (if found) and try again


I know that this is not at all best solution (probably should be implemented via regexp) but i would love it so i dont have to rename whole album just to find lyrics. Maybe there can be some checkbox for this in darklyrics provider settings.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: MuffPotter on 2010-08-10 08:53:59
Didn't think it was a python25 issue. But I won't deploy the runtime, because it can be downloaded for free anyway. *add the url to the install.txt*

I know dependency walker. Helped me a lot when I couldn't get foobar to load my dlls.

Edit: Once the files are on google code, you can download a fixed version for the AZ Lyrics provider

Changelog:
Code: [Select]
0.3.5.2:
  - fixed AZ Lyrics provider


You can now download the newst version  Have fun!


I had one of the first versions installed and i think i made the update to the last version as you described it in the txt-file, but when i start foobar now i get this message:
"foo_grabber_python: Traceback (most recent call last):
  File "<string>", line 4, in <module>
ImportError: No module named traceback"
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 09:00:35
I dont know if this is considerable request but i would love it.
Today ive tried to find Heidevolk - Vlammenzee lyric on DarkLyrics. It is there: http://www.darklyrics.com/lyrics/heidevolk...udegrond.html#3 (http://www.darklyrics.com/lyrics/heidevolk/uitoudegrond.html#3)... but it is tagged as "Vlammenzee (Sea Of Flames)"

Can we implement something like this (if i undesrtood you right you have whole page cached anyway):
Code: [Select]
try find lyrics for title as it is
if (notfound): drop everything behind "feat." keyword (if found) and try again on same result.
if (still not found): drop everything behind "(" char (if found) and try again


I know that this is not at all best solution (probably should be implemented via regexp) but i would love it so i dont have to rename whole album just to find lyrics. Maybe there can be some checkbox for this in darklyrics provider settings.


Since your request, I changed the algorithm a little. originally it compared every link at the beginning using Levenshtein algorithm (which calculates the edits necessary to convert one string to another).. In your Case, comparing Vlammenzee with Vlammenzee (Sea of Flames) it would be about 15 changes... that exceeds the threshold, unfortunately.
But now I had the idea, why not first test if the title is contained in the title that is displayed on darklyrics... In case of your Vlammenzee it is and it would immediately take that choice... But this is the theory, if that works in reality that well, I can't promise. After a few changes I will post the update.

@MuffPotter:

It seems, that something is missing from python, or it doesn't find it. Make sure, the system folder is in this path: (foobar profile)\pygrabber\ ... The Link posted this exact error on the first page, maybe you can ask him, how he got rid of it (and possibly let me know so I can either prevent it or tell others what to do when this error occurres)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 09:38:23
@MuffPotter:

I've just checked myself. The system folder seems to be inaccessible. Make sure you find it in %appdata%\foobar2000\pygrabber\

Title: Lyricsgrabber2 Feedback & Discussion
Post by: MuffPotter on 2010-08-10 09:48:01
@MuffPotter:

I've just checked myself. The system folder seems to be inaccessible. Make sure you find it in %appdata%\foobar2000\pygrabber\


Now I moved the pygrabber folder in my profile folder (...AppData\Roaming\foobar2000\) and it works. Before i had it just in the "C:\Program Files\foobar2000\" folder which i thought is what you mean with: "(4) Copy pygrabber directory and all its contents to foobar2000\ directory"
But i have to copy it in the ...AppData\Roaming\foobar2000\ folder, right?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 09:58:14
@MuffPotter:

I've just checked myself. The system folder seems to be inaccessible. Make sure you find it in %appdata%\foobar2000\pygrabber\


Now I moved the pygrabber folder in my profile folder (...AppData\Roaming\foobar2000\) and it works. Before i had it just in the "C:\Program Files\foobar2000\" folder which i thought is what you mean with: "(4) Copy pygrabber directory and all its contents to foobar2000\ directory"
But i have to copy it in the ...AppData\Roaming\foobar2000\ folder, right?


Argh... I must have overlooked that point... of course is this misleading... Yes, it should be the profile folder not the program folder!

I'm currently uploading verion 0.3.6.0. There the install.txt is also corrected.
here the change log:

Code: [Select]
0.3.6.0:
  - foo_lyricsgrabber2
    - fixed Darklyrics
    - sort context menu
  
  - foo_grabber_python
    - corrected "Install.txt"
    - renamed Python to Scripts in contextmenu and preferences
Title: Lyricsgrabber2 Feedback & Discussion
Post by: MuffPotter on 2010-08-10 10:09:52
@MuffPotter:

I've just checked myself. The system folder seems to be inaccessible. Make sure you find it in %appdata%\foobar2000\pygrabber\


Now I moved the pygrabber folder in my profile folder (...AppData\Roaming\foobar2000\) and it works. Before i had it just in the "C:\Program Files\foobar2000\" folder which i thought is what you mean with: "(4) Copy pygrabber directory and all its contents to foobar2000\ directory"
But i have to copy it in the ...AppData\Roaming\foobar2000\ folder, right?


Argh... I must have overlooked that point... of course is this misleading... Yes, it should be the profile folder not the program folder!

I'm currently uploading verion 0.3.6.0. There the install.txt is also corrected.
here the change log:

Code: [Select]
0.3.6.0:
  - foo_lyricsgrabber2
    - fixed Darklyrics
    - sort context menu
  
  - foo_grabber_python
    - corrected "Install.txt"
    - renamed Python to Scripts in contextmenu and preferences



No problem. I'm glad that I could help a little bit improving this plugin. You make a really great job!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 10:28:48
Thank you very much. The funny thing is.. I didn't intend to do that much. Originally I just wanted to get LyricsPlugin running again... the rest followed... hehe.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 12:18:43
Thanks to the admins I can now change the first post. So for the future you'll find the complete changelog there
Thank you for your support!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-10 15:05:14
Darklyrics you say ? I am sold.

Foobar also informs that either something is missing or this was made for different version. I am using foobar2000 v1.1 beta 2 w/ XP sp3
"Failed to load DLL: foo_grabber_python.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000."

Followed the instructions step by step.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 15:51:09
Darklyrics you say ? I am sold.

Foobar also informs that either something is missing or this was made for different version. I am using foobar2000 v1.1 beta 2 w/ XP sp3
"Failed to load DLL: foo_grabber_python.dll
Reason: This component is missing a required dependency, or was made for different version of foobar2000."

Followed the instructions step by step.


Make sure you have both foo_lyricsgrabber2.dll and foo_grabber_python.dll installed.

I presume the python25.dll is also at the right place (either foobar program folder or your profile folder).

If that is all as it should be, you could be missing the msvcr71.dll which can be downloaded from Microsoft themselves.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-10 17:18:08
The usage of "Search All" leads always to a crash (report is sended).

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 775AE25Bh
Access violation, operation: write, address: 00000000h

Call path:
threaded_process thread=>lyric_lookup_task::run=>lookup

Code bytes (775AE25Bh):
775AE21Bh:  83 D1 01 81 E3 FF 7F 00 00 66 3B 5E 14 0F 84 33
775AE22Bh:  56 00 00 8B 45 E0 8B 55 E4 0F AC D0 10 66 89 47
775AE23Bh:  08 2B 7D F4 33 C0 C1 EF 03 0F A4 F8 10 C1 E7 10
775AE24Bh:  C1 EA 10 0B DF 0B C8 8B 06 C7 45 F8 01 00 00 00
775AE25Bh:  89 30 8B 45 E0 8B 55 E4 8D 7E 08 F0 0F C7 0F 3B
775AE26Bh:  45 E0 0F 85 07 5E 03 00 3B 55 E4 0F 85 FE 5D 03
775AE27Bh:  00 66 83 7D E0 00 0F 84 7C 60 00 00 83 7D F8 03
775AE28Bh:  0F 84 4C 8F 00 00 5F 5E B0 01 5B C9 C3 8B DF E9

Stack (07D0F84Ch):
07D0F82Ch:  00000000 FFFFFD34 000002E4 FFFFFD34
07D0F83Ch:  000002CC 00000019 00000000 00000080
07D0F84Ch:  00000000 030A0000 03C77B28 00000000
07D0F85Ch:  00000002 00000000 00000000 038BD000
07D0F86Ch:  000038BE 07D0F884 00000000 00000001
07D0F87Ch:  03C77B20 07D0F898 775ADE63 03C77B28
07D0F88Ch:  00000000 00000000 03C77B20 07D0F8AC
07D0F89Ch:  766814D1 030A0000 00000000 03C77B28
07D0F8ACh:  07D0F8F8 73BB38BB 030A0000 00000000
07D0F8BCh:  03C77B28 8E16C3A2 00000000 07D0F96C
07D0F8CCh:  00000000 00000000 6E70E7EA 07D0F9F4
07D0F8DCh:  00000000 07D0F8C0 07D0F3F0 07D0F9AC
07D0F8ECh:  73BBCBDE FA7BE96A FFFFFFFE 07D0F9B8
07D0F8FCh:  6E71536E 03C77B28 07D0F968 02AA4430
07D0F90Ch:  00000000 6E70E674 07D0F9AC 6E74A3E0
07D0F91Ch:  FFFFFFFF 6E70E77F 03C77B28 6E701AE6
07D0F92Ch:  8E16C29D 038BEDF4 038BEDF0 6F042826
07D0F93Ch:  00001F80 0002FFFF 00000000 00000000
07D0F94Ch:  00000000 00000000 00000000 0000012C
07D0F95Ch:  000002BC 000004B0 00000708 6E6E1398

Registers:
EAX: 00000000, EBX: EF640001, ECX: 00000079, EDX: 00000000
ESI: 030A6C08, EDI: EF640000, EBP: 07D0F880, ESP: 07D0F84C

Crash location:
Module: ntdll
Offset: 2E25Bh
Symbol: "RtlInitUnicodeString" (+1F3h)

Loaded modules:
foobar2000                      loaded at 013C0000h - 015A5000h
ntdll                            loaded at 77580000h - 77700000h
kernel32                        loaded at 76670000h - 76770000h
KERNELBASE                      loaded at 76DB0000h - 76DF6000h
COMCTL32                        loaded at 73FB0000h - 7414E000h
msvcrt                          loaded at 76AC0000h - 76B6C000h
GDI32                            loaded at 760F0000h - 76180000h
USER32                          loaded at 76490000h - 76590000h
ADVAPI32                        loaded at 76B70000h - 76C10000h
sechost                          loaded at 76180000h - 76199000h
RPCRT4                          loaded at 76CC0000h - 76DB0000h
SspiCli                          loaded at 750F0000h - 75150000h
CRYPTBASE                        loaded at 750E0000h - 750EC000h
LPK                              loaded at 761A0000h - 761AA000h
USP10                            loaded at 77090000h - 7712D000h
SHLWAPI                          loaded at 76C60000h - 76CB7000h
DSOUND                          loaded at 6EC50000h - 6ECC2000h
ole32                            loaded at 76E00000h - 76F5C000h
WINMM                            loaded at 73DF0000h - 73E22000h
POWRPROF                        loaded at 6F070000h - 6F095000h
SETUPAPI                        loaded at 76890000h - 76A2D000h
CFGMGR32                        loaded at 77150000h - 77177000h
OLEAUT32                        loaded at 753A0000h - 7542F000h
DEVOBJ                          loaded at 77130000h - 77142000h
UxTheme                          loaded at 74150000h - 741D0000h
dbghelp                          loaded at 6EB60000h - 6EC4B000h
SHELL32                          loaded at 75490000h - 760D9000h
shared                          loaded at 6F040000h - 6F06A000h
imagehlp                        loaded at 76210000h - 7623A000h
COMDLG32                        loaded at 76410000h - 7648B000h
zlib1                            loaded at 5A4C0000h - 5A4D4000h
IMM32                            loaded at 761B0000h - 76210000h
MSCTF                            loaded at 765A0000h - 7666C000h
guard32                          loaded at 10000000h - 10047000h
VERSION                          loaded at 73B40000h - 73B49000h
fltlib                          loaded at 73B30000h - 73B37000h
CLBCatQ                          loaded at 76240000h - 762C3000h
MMDevApi                        loaded at 6F000000h - 6F039000h
PROPSYS                          loaded at 6F9D0000h - 6FAC5000h
dwmapi                          loaded at 745B0000h - 745C3000h
foo_cdda                        loaded at 6EB10000h - 6EB5E000h
foo_unpack                      loaded at 6EAE0000h - 6EB0F000h
foo_wave_seekbar                loaded at 6E910000h - 6EADA000h
WS2_32                          loaded at 76C10000h - 76C45000h
NSI                              loaded at 76C50000h - 76C56000h
MSIMG32                          loaded at 745D0000h - 745D5000h
foo_ui_std                      loaded at 6E7F0000h - 6E908000h
gdiplus                          loaded at 72DE0000h - 72F70000h
foo_facets                      loaded at 02AB0000h - 02B31000h
foo_converter                    loaded at 6E770000h - 6E7EA000h
foo_random_pools                loaded at 00F80000h - 00FAF000h
foo_lyricsgrabber2              loaded at 6E700000h - 6E762000h
WLDAP32                          loaded at 75350000h - 75395000h
MSVCP90                          loaded at 73C00000h - 73C8E000h
MSVCR90                          loaded at 73B50000h - 73BF3000h
foo_w7shell                      loaded at 01040000h - 0107D000h
foo_grabber_python              loaded at 6E6A0000h - 6E6FA000h
python25                        loaded at 1E000000h - 1E208000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_fileops                      loaded at 6E650000h - 6E696000h
foo_seek_box                    loaded at 6E630000h - 6E64D000h
foo_tlbRC                        loaded at 01240000h - 01267000h
foo_freedb2                      loaded at 6E5E0000h - 6E621000h
foo_input_std                    loaded at 6E480000h - 6E5D4000h
foo_playcount                    loaded at 6E440000h - 6E47B000h
foo_tagbox                      loaded at 02FE0000h - 03053000h
foo_preview_custom              loaded at 01290000h - 0129E000h
MSVCR80                          loaded at 6E3A0000h - 6E43B000h
foo_rgscan                      loaded at 6E350000h - 6E39D000h
foo_dsp_std                      loaded at 6E300000h - 6E348000h
foo_albumlist                    loaded at 6E2A0000h - 6E2FD000h
USERENV                          loaded at 73760000h - 73777000h
profapi                          loaded at 73750000h - 7375B000h
ntmarta                          loaded at 73F80000h - 73FA1000h
apphelp                          loaded at 74910000h - 7495B000h
gameux                          loaded at 6F440000h - 6F6B8000h
XmlLite                          loaded at 6F410000h - 6F43F000h
CRYPT32                          loaded at 76770000h - 7688C000h
MSASN1                          loaded at 760E0000h - 760EC000h
wer                              loaded at 6F3B0000h - 6F410000h
shdocvw                          loaded at 736E0000h - 7370E000h
LINKINFO                        loaded at 6F6C0000h - 6F6C9000h
ntshrui                          loaded at 6F340000h - 6F3AF000h
srvcli                          loaded at 737D0000h - 737E9000h
cscapi                          loaded at 6F330000h - 6F33B000h
slc                              loaded at 6F320000h - 6F32A000h
CRYPTSP                          loaded at 73A70000h - 73A86000h
rsaenh                          loaded at 73A30000h - 73A6B000h
tiptsf                          loaded at 73680000h - 736D8000h
_socket                          loaded at 03870000h - 0387D000h
WindowsCodecs                    loaded at 74750000h - 7484B000h
explorerframe                    loaded at 6F1B0000h - 6F31F000h
DUser                            loaded at 6F180000h - 6F1AF000h
DUI70                            loaded at 6F0C0000h - 6F172000h
ieframe                          loaded at 718E0000h - 7235E000h
PSAPI                            loaded at 76590000h - 76595000h
OLEACC                          loaded at 73F10000h - 73F4C000h
iertutil                        loaded at 75150000h - 75349000h
urlmon                          loaded at 762D0000h - 76405000h
avsda                            loaded at 040B0000h - 040F7000h
IPHLPAPI                        loaded at 73CA0000h - 73CBC000h
WINNSI                          loaded at 73C90000h - 73C97000h
mswsock                          loaded at 73590000h - 735CC000h
wshtcpip                        loaded at 745E0000h - 745E5000h
wship6                          loaded at 734A0000h - 734A6000h
DNSAPI                          loaded at 73540000h - 73584000h
rasadhlp                        loaded at 734B0000h - 734B6000h
fwpuclnt                        loaded at 734C0000h - 734F8000h
NLAapi                          loaded at 735D0000h - 735E0000h
winrnr                          loaded at 73530000h - 73538000h
napinsp                          loaded at 73520000h - 73530000h
pnrpnsp                          loaded at 73500000h - 73512000h

Stack dump analysis:
Address: 775ADE63h (ntdll+2DE63h), symbol: "RtlFreeHeap" (+7Eh)
Address: 766814D1h (kernel32+114D1h), symbol: "HeapFree" (+14h)
Address: 73BB38BBh (MSVCR90+638BBh), symbol: "free" (+CDh)
Address: 6E70E7EAh (foo_lyricsgrabber2+E7EAh)
Address: 73BBCBDEh (MSVCR90+6CBDEh), symbol: "_dllonexit" (+A7h)
Address: 6E71536Eh (foo_lyricsgrabber2+1536Eh)
Address: 6E70E674h (foo_lyricsgrabber2+E674h)
Address: 6E74A3E0h (foo_lyricsgrabber2+4A3E0h), symbol: "curl_formget" (+3330h)
Address: 6E70E77Fh (foo_lyricsgrabber2+E77Fh)
Address: 6E701AE6h (foo_lyricsgrabber2+1AE6h)
Address: 6F042826h (shared+2826h), symbol: "uCallStackTracker::~uCallStackTracker" (+0h)
Address: 6E6E1398h (foo_grabber_python+41398h), symbol: "foobar2000_get_interface" (+318C8h)
Address: 6E7536D8h (foo_lyricsgrabber2+536D8h), symbol: "curl_formget" (+C628h)
Address: 6E74AB98h (foo_lyricsgrabber2+4AB98h), symbol: "curl_formget" (+3AE8h)
Address: 6E753420h (foo_lyricsgrabber2+53420h), symbol: "curl_formget" (+C370h)
Address: 6E75A8A4h (foo_lyricsgrabber2+5A8A4h), symbol: "curl_formget" (+137F4h)
Address: 6E7536D8h (foo_lyricsgrabber2+536D8h), symbol: "curl_formget" (+C628h)
Address: 6E7534C4h (foo_lyricsgrabber2+534C4h), symbol: "curl_formget" (+C414h)
Address: 6E7536D8h (foo_lyricsgrabber2+536D8h), symbol: "curl_formget" (+C628h)
Address: 6E753DE0h (foo_lyricsgrabber2+53DE0h), symbol: "curl_formget" (+CD30h)
Address: 6F0427EDh (shared+27EDh), symbol: "uCallStackTracker::uCallStackTracker" (+0h)
Address: 6E71554Bh (foo_lyricsgrabber2+1554Bh)
Address: 6E749872h (foo_lyricsgrabber2+49872h), symbol: "curl_formget" (+27C2h)
Address: 01498006h (foobar2000+D8006h)
Address: 6F0427D8h (shared+27D8h), symbol: "uPrintCrashInfo_OnEvent" (+B1h)
Address: 01534330h (foobar2000+174330h)
Address: 01508AC8h (foobar2000+148AC8h)
Address: 01497F97h (foobar2000+D7F97h)
Address: 0150F2D9h (foobar2000+14F2D9h)
Address: 76683677h (kernel32+13677h), symbol: "BaseThreadInitThunk" (+12h)
Address: 775B9D42h (ntdll+39D42h), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 766A9775h (kernel32+39775h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 766A9775h (kernel32+39775h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 775F03DDh (ntdll+703DDh), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 775B9D15h (ntdll+39D15h), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 01497F60h (foobar2000+D7F60h)
Address: 01497F60h (foobar2000+D7F60h)

Environment:
App: foobar2000 v1.1 beta 2
OS: Windows 6.1.7600 x64
CPU: AMD Athlon™ II X4 630 Processor, features: 3DNow!ex MMX SSE SSE2 SSE3
Audio: Lautsprecher (Realtek High Definition Audio); Realtek Digital Output (Realtek High Definition Audio)
UI: Default User Interface 0.9.5

Components:
Core (2010-08-03 11:27:02 UTC)
    foobar2000 core 1.1 beta 2
foo_albumlist.dll (2010-08-03 11:25:22 UTC)
    Album List 4.5
foo_cdda.dll (2010-08-03 11:25:20 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2010-08-03 11:24:52 UTC)
    Converter 1.5
foo_dsp_std.dll (2010-08-03 11:25:20 UTC)
    Standard DSP Array 1.0
foo_facets.dll (2010-08-08 19:19:17 UTC)
    Facets 2008-02-25
foo_fileops.dll (2010-08-03 11:23:52 UTC)
    File Operations 2.1.3
foo_freedb2.dll (2010-08-03 11:24:06 UTC)
    freedb Tagger 0.6.2
foo_grabber_python.dll (2010-08-10 08:46:08 UTC)
    Lyrics Grabber 2 Python Extension 0.3.6.0 beta
foo_input_std.dll (2010-08-03 11:24:52 UTC)
    Standard Input Array 1.0
foo_lyricsgrabber2.dll (2010-08-10 08:42:11 UTC)
    Lyrics Grabber 2 0.3.6.0 beta
foo_playcount.dll (2010-08-08 19:40:29 UTC)
    Playback Statistics 3.0 beta 2
foo_preview_custom.dll (2010-08-06 22:39:35 UTC)
    Preview Custom 1.0.1
foo_random_pools.dll (2010-06-21 19:44:24 UTC)
    Random Pools 0.0.2.2
foo_rgscan.dll (2010-08-03 11:24:52 UTC)
    ReplayGain Scanner 2.0.9
foo_seek_box.dll (2010-08-06 21:19:04 UTC)
    Seek box 0.0.3
foo_tagbox.dll (2010-08-10 17:14:50 UTC)
    TagBox 0.171
foo_tlbRC.dll (2009-05-04 23:44:34 UTC)
    TLB Remote Control 3.0
foo_ui_std.dll (2010-08-03 11:25:16 UTC)
    Default User Interface 0.9.5
foo_unpack.dll (2010-08-03 11:24:20 UTC)
    ZIP/GZIP/RAR Reader 1.6
foo_w7shell.dll (2010-01-17 02:09:20 UTC)
    Windows 7 integration 0.2.9.1
foo_wave_seekbar.dll (2010-04-24 22:35:42 UTC)
    Waveform seekbar 0.2.12

Recent events:
  File "C:\Users\[removed]\Desktop\foobar2000\pygrabber\scripts\LeosLyrics.py", line 30, in Query
  File "D:\Python25\lib\urllib.py", line 82, in urlopen
  File "D:\Python25\lib\urllib.py", line 190, in open
  File "D:\Python25\lib\urllib.py", line 328, in open_http
  File "D:\Python25\lib\httplib.py", line 1199, in getreply
  File "D:\Python25\lib\httplib.py", line 928, in getresponse
  File "D:\Python25\lib\httplib.py", line 385, in begin
  File "D:\Python25\lib\httplib.py", line 343, in _read_status
  File "D:\Python25\lib\socket.py", line 331, in readline
IOError: [Errno socket error] (10054, 'Connection reset by peer')

One question: Are the scripts included in the "search all" procedure?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: mousepad on 2010-08-10 17:24:00
I followed the instructions in the Install.txt but foobar crashes when I try to use the plug-in. Here is the Error-Log:

http://www.text-upload.com/read.php?id=399&c=2664853 (http://www.text-upload.com/read.php?id=399&c=2664853)

When I restart foobar it says:

foo_grabber_python: Traceback (most recent call last):
  File "<string>", line 4, in <module>
ImportError: No module named traceback


Can somebody help me?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 18:02:11
@ stankovic:

I'm looking at that error, right now. And no, the scripts are not included. I tried to implement it, yet made everything a little unstable. I constantly had crashes.

@mousepad:

please refer to this post: http://www.hydrogenaudio.org/forums/index....st&p=717723 (http://www.hydrogenaudio.org/forums/index.php?showtopic=82772&view=findpost&p=717723)

Edit:

Argh... I'm so stupid.. I rename Python to Scripts, but did still check in the searchall for a "Python" provider -.- Consider it fixed.

Edit2:

Argh... again. google code is currently maintaining something and I can't upload at the moment. Please bear with me, until the fix is up.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 22:16:03
Version 0.3.6.1 is up.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Decalicatan_Decalicatan on 2010-08-10 22:35:33
Version 0.3.6.1 is up.



FYI, with 0.3.6.1 (and also with 0.3.6.0) I still got the same error as Mousepad:

foo_grabber_python: Traceback (most recent call last):
File "<string>", line 4, in <module>
ImportError: No module named traceback

Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-10 22:40:23
Where is your pygrabber\system folder? The only possible reason I can imagine is, that this folder is somewhere it doesn't belong.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Jny on 2010-08-10 23:22:36
Qudeid can you add plyrics script? http://plyrics.com/ (http://plyrics.com/)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Decalicatan_Decalicatan on 2010-08-10 23:39:33
Where is your pygrabber\system folder? The only possible reason I can imagine is, that this folder is somewhere it doesn't belong.



My bad I didn't read carefully the install.txt file and kept the  pygrabber\system folder in my foobar directory (as it was ok with the old lyricsgrabber component) instead of copying the  pygrabber\system folder in my %appdata%\foobar directory.

Everything is working fine now. Thanks for your component and also for your help!

Title: Lyricsgrabber2 Feedback & Discussion
Post by: cartman(2vd) on 2010-08-10 23:46:33
But now I had the idea, why not first test if the title is contained in the title that is displayed on darklyrics... In case of your Vlammenzee it is and it would immediately take that choice... But this is the theory, if that works in reality that well, I can't promise. After a few changes I will post the update.


Version 0.3.6.1 is up.


Working like a charm. Thank you very much!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: quomodo on 2010-08-11 06:46:16
There seems to be a problem with umlauts (ä, ö, ü) and certain Kanji characters (I haven't found out which in particular) in the track title.

Whenever I try to get lyrics (Search all) for tracks with these in the title foobar crashes.

There is no problem when they're in the artist field, though.


PS: I have not installed the phyton script part of the plugin, only foo_lyricsgrabber2.dll.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-11 08:04:35
There seems to be a problem with umlauts (ä, ö, ü) and certain Kanji characters (I haven't found out which in particular) in the track title.

Whenever I try to get lyrics (Search all) for tracks with these in the title foobar crashes.

There is no problem when they're in the artist field, though.


PS: I have not installed the phyton script part of the plugin, only foo_lyricsgrabber2.dll.


Can you please keep an eye on that? ÄÜÖ seem to work fine for me using the Search All... And at least some Kanji work (although nothing really is found)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-11 10:26:56
ohkey, found the .dll ^^
Title: Lyricsgrabber2 Feedback & Discussion
Post by: quomodo on 2010-08-11 20:24:53
Hmm, I tried a few more tracks and no longer have any idea as to what causes the crashes.

I can search without problems for (default copy command formatting):
"In Extremo - [Live 2002 #13] Palästinalied"
"Die Ärzte - [Die Bestie In Menschengestalt #16] Kopfüber In Die Hölle"
"Die Ärzte - [Ist Das Alles (13 Höhepunkte mit den Ärzten) #03] 2000 Mädchen"
"SHIINA Ringo - [Shouso Strip #04] Gips"
"BENNIE K - [BEST OF THE BESTEST #16] モノクローム"
"Herbert Grönemeyer - [Mensch #08] Blick Zurück"

In fact, I couldn't even find the Kanji track again that crashed yesterday.

But searching for:
"Wolfsheim - Künstliche Welten"
produces this:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 01D874A0h
Access violation, operation: read, address: 00000000h

Call path:
threaded_process thread=>lyric_lookup_task::run=>lookup

Code bytes (01D874A0h):
01D87460h:  01 89 0D 3C AA DD 01 C7 05 F4 A9 DD 01 E0 35 DD
01D87470h:  01 B8 E8 A9 DD 01 C3 CC CC CC CC CC CC CC CC CC
01D87480h:  8B 09 85 C9 74 06 8B 01 8B 10 FF E2 C3 CC CC CC
01D87490h:  55 8B 6C 24 0C 56 8B C5 57 8D 50 01 8D 64 24 00
01D874A0h:  8A 08 40 84 C9 75 F9 8B 7C 24 10 2B C2 8B F0 53
01D874B0h:  83 C7 04 8D 5E 01 8B C7 E8 63 CB 00 00 8B 07 5B
01D874C0h:  85 F6 76 17 8B CD 2B C8 8B EE 8D 9B 00 00 00 00
01D874D0h:  8A 14 01 88 10 40 83 ED 01 75 F5 8B 44 24 10 8B

Stack (0732F934h):
0732F914h:  00000000 7C9200B8 003D49D0 0012F358
0732F924h:  7C920041 003D0868 7C92005D 00000000
0732F934h:  FFFFFFFF 00000000 0732FBD8 01D83144
0732F944h:  0732FB08 00000000 9637F483 031E4BC8
0732F954h:  00000000 00000001 00000000 0732F970
0732F964h:  00000000 001ADCEC 00000000 01DD365C
0732F974h:  00000000 00000000 00000000 00000000
0732F984h:  01DD365C 00000000 00000000 00000000
0732F994h:  00000000 01DD365C 00000000 00000000
0732F9A4h:  00000000 00000000 01DD365C 00000000
0732F9B4h:  00000000 00000000 00000000 01DD365C
0732F9C4h:  00000000 00000000 00000000 00000000
0732F9D4h:  01DD365C 00000000 00000000 00000000
0732F9E4h:  00000000 01DD3448 00000000 00000000
0732F9F4h:  FFFFFF00 00000000 00000000 00000000
0732FA04h:  0732FD00 00000000 00000000 00000000
0732FA14h:  3E87BF00 00000000 00000000 00000000
0732FA24h:  00326700 00000000 00000000 00000000
0732FA34h:  00000020 00400000 00000000 00570018
0732FA44h:  00000000 00000000 00000000 00000000

Registers:
EAX: 00000000, EBX: 00000000, ECX: 0732FB08, EDX: 00000001
ESI: 00000000, EDI: FFFFFFFF, EBP: 00000000, ESP: 0732F934

Crash location:
Module: foo_lyricsgrabber2
Offset: 74A0h

Loaded modules:
foobar2000                      loaded at 00400000h - 005E5000h
ntdll                            loaded at 7C910000h - 7C9C9000h
kernel32                        loaded at 7C800000h - 7C908000h
COMCTL32                        loaded at 773A0000h - 774A3000h
msvcrt                          loaded at 77BE0000h - 77C38000h
ADVAPI32                        loaded at 77DA0000h - 77E4A000h
RPCRT4                          loaded at 77E50000h - 77EE2000h
Secur32                          loaded at 77FC0000h - 77FD1000h
GDI32                            loaded at 77EF0000h - 77F39000h
USER32                          loaded at 7E360000h - 7E3F1000h
SHLWAPI                          loaded at 77F40000h - 77FB6000h
DSOUND                          loaded at 73E70000h - 73ECC000h
ole32                            loaded at 774B0000h - 775ED000h
VERSION                          loaded at 77BD0000h - 77BD8000h
WINMM                            loaded at 76AF0000h - 76B1E000h
UxTheme                          loaded at 5B0F0000h - 5B128000h
dbghelp                          loaded at 59DD0000h - 59E71000h
SHELL32                          loaded at 7E670000h - 7EE91000h
shared                          loaded at 10000000h - 1002A000h
imagehlp                        loaded at 76C50000h - 76C78000h
COMDLG32                        loaded at 76350000h - 7639A000h
zlib1                            loaded at 5A4C0000h - 5A4D4000h
IMM32                            loaded at 76330000h - 7634D000h
LPK                              loaded at 62E10000h - 62E19000h
USP10                            loaded at 75790000h - 757FB000h
MSCTF                            loaded at 746A0000h - 746EC000h
WINTRUST                        loaded at 76BF0000h - 76C1E000h
CRYPT32                          loaded at 77A50000h - 77AE6000h
MSASN1                          loaded at 77AF0000h - 77B02000h
wdmaud                          loaded at 72C90000h - 72C99000h
msacm32                          loaded at 72C80000h - 72C88000h
MSACM32                          loaded at 77BB0000h - 77BC5000h
midimap                          loaded at 77BA0000h - 77BA7000h
msctfime                        loaded at 75250000h - 7527E000h
foo_ui_std                      loaded at 01100000h - 01218000h
gdiplus                          loaded at 4EBA0000h - 4ED4B000h
MSIMG32                          loaded at 76320000h - 76325000h
foo_deskband_controls            loaded at 01230000h - 01239000h
MSVCR90                          loaded at 78520000h - 785C3000h
foo_input_std                    loaded at 01260000h - 013B4000h
foo_playcount                    loaded at 013E0000h - 0141B000h
foo_fileops                      loaded at 01440000h - 01486000h
foo_uie_esplaylist              loaded at 014B0000h - 01509000h
foo_uie_biography                loaded at 01530000h - 01587000h
foo_discogs                      loaded at 015B0000h - 01611000h
WININET                          loaded at 77180000h - 7722B000h
OLEAUT32                        loaded at 770F0000h - 7717B000h
foo_uie_lyrics2                  loaded at 016E0000h - 017CE000h
foo_cdda                        loaded at 01670000h - 016BE000h
foo_textdisplay                  loaded at 018E0000h - 0191F000h
foo_bitcompare                  loaded at 01940000h - 01968000h
foo_facets                      loaded at 01990000h - 01A11000h
foo_popupplus                    loaded at 01A40000h - 01AC9000h
RICHED20                        loaded at 74DB0000h - 74E1D000h
foo_albumlist                    loaded at 01AF0000h - 01B4D000h
foo_rgscan                      loaded at 01B70000h - 01BBD000h
foo_autoupdate                  loaded at 01BE0000h - 01C2C000h
POWRPROF                        loaded at 74A50000h - 74A58000h
foo_converter                    loaded at 01C40000h - 01CBA000h
foo_skip                        loaded at 01CE0000h - 01D02000h
foo_osd                          loaded at 01D30000h - 01D5E000h
foo_lyricsgrabber2              loaded at 01D80000h - 01DE2000h
WLDAP32                          loaded at 76F20000h - 76F4D000h
MSVCP90                          loaded at 78480000h - 7850E000h
WS2_32                          loaded at 71A10000h - 71A27000h
WS2HELP                          loaded at 71A00000h - 71A08000h
foo_tagbox                      loaded at 01E40000h - 01EB3000h
foo_freedb2                      loaded at 01EE0000h - 01F21000h
foo_gep                          loaded at 01F50000h - 0200F000h
foo_masstag                      loaded at 02030000h - 02084000h
foo_quicksearch                  loaded at 020B0000h - 020E2000h
foo_dsp_std                      loaded at 02100000h - 02148000h
foo_unpack                      loaded at 02170000h - 0219F000h
foo_queuecontents                loaded at 021C0000h - 0227D000h
CLBCATQ                          loaded at 76F90000h - 7700F000h
COMRes                          loaded at 77010000h - 770E3000h
xpsp2res                        loaded at 05330000h - 05609000h
mswsock                          loaded at 719B0000h - 719F0000h
DNSAPI                          loaded at 76EE0000h - 76F07000h
rasadhlp                        loaded at 76F80000h - 76F86000h

Stack dump analysis:
Address: 01D83144h (foo_lyricsgrabber2+3144h)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD3448h (foo_lyricsgrabber2+53448h)
Address: 00400000h (foobar2000+0h)
Address: 00570018h (foobar2000+170018h)
Address: 7C91E920h (ntdll+E920h), symbol: "strchr" (+113h)
Address: 7C920060h (ntdll+10060h), symbol: "RtlFreeHeap" (+133h)
Address: 7C92005Dh (ntdll+1005Dh), symbol: "RtlFreeHeap" (+130h)
Address: 7C929DEDh (ntdll+19DEDh), symbol: "RtlReAllocateHeap" (+24Dh)
Address: 7C929DAAh (ntdll+19DAAh), symbol: "RtlReAllocateHeap" (+20Ah)
Address: 01DD3420h (foo_lyricsgrabber2+53420h)
Address: 01DD365Ch (foo_lyricsgrabber2+5365Ch)
Address: 01DD3420h (foo_lyricsgrabber2+53420h)
Address: 01DD3420h (foo_lyricsgrabber2+53420h)
Address: 01DD3420h (foo_lyricsgrabber2+53420h)
Address: 7C920222h (ntdll+10222h), symbol: "RtlAllocateHeap" (+15Eh)
Address: 01DD3448h (foo_lyricsgrabber2+53448h)
Address: 0059FAD8h (foobar2000+19FAD8h)
Address: 7C920228h (ntdll+10228h), symbol: "RtlAllocateHeap" (+164h)
Address: 7C920222h (ntdll+10222h), symbol: "RtlAllocateHeap" (+15Eh)
Address: 7C92019Bh (ntdll+1019Bh), symbol: "RtlAllocateHeap" (+D7h)
Address: 7C9201DBh (ntdll+101DBh), symbol: "RtlAllocateHeap" (+117h)
Address: 7C9200C4h (ntdll+100C4h), symbol: "RtlAllocateHeap" (+0h)
Address: 7C9200C4h (ntdll+100C4h), symbol: "RtlAllocateHeap" (+0h)
Address: 7C924606h (ntdll+14606h), symbol: "RtlQueryEnvironmentVariable_U" (+6Dh)
Address: 7C920460h (ntdll+10460h), symbol: "RtlReleasePebLock" (+Fh)
Address: 01DD36D8h (foo_lyricsgrabber2+536D8h)
Address: 7C9200B8h (ntdll+100B8h), symbol: "RtlFreeHeap" (+18Bh)
Address: 7C920041h (ntdll+10041h), symbol: "RtlFreeHeap" (+114h)
Address: 7C92005Dh (ntdll+1005Dh), symbol: "RtlFreeHeap" (+130h)
Address: 7C9200B8h (ntdll+100B8h), symbol: "RtlFreeHeap" (+18Bh)
Address: 01DCB3DCh (foo_lyricsgrabber2+4B3DCh)
Address: 01DD44D0h (foo_lyricsgrabber2+544D0h)
Address: 7858675Bh (MSVCR90+6675Bh), symbol: "realloc" (+35Fh)
Address: 78586792h (MSVCR90+66792h), symbol: "realloc" (+396h)
Address: 7C91E920h (ntdll+E920h), symbol: "strchr" (+113h)
Address: 7C9201DBh (ntdll+101DBh), symbol: "RtlAllocateHeap" (+117h)
Address: 7C9200B8h (ntdll+100B8h), symbol: "RtlFreeHeap" (+18Bh)
Address: 7C920041h (ntdll+10041h), symbol: "RtlFreeHeap" (+114h)
Address: 7C92005Dh (ntdll+1005Dh), symbol: "RtlFreeHeap" (+130h)
Address: 7C91E920h (ntdll+E920h), symbol: "strchr" (+113h)
Address: 7C91E920h (ntdll+E920h), symbol: "strchr" (+113h)
Address: 7C9201E0h (ntdll+101E0h), symbol: "RtlAllocateHeap" (+11Ch)
Address: 7C9201DBh (ntdll+101DBh), symbol: "RtlAllocateHeap" (+117h)
Address: 00533FF5h (foobar2000+133FF5h)
Address: 00505F30h (foobar2000+105F30h)
Address: 7C91E920h (ntdll+E920h), symbol: "strchr" (+113h)
Address: 7C92005Dh (ntdll+1005Dh), symbol: "RtlFreeHeap" (+130h)
Address: 78583C1Bh (MSVCR90+63C1Bh), symbol: "free" (+CDh)
Address: 01D8E665h (foo_lyricsgrabber2+E665h)
Address: 004081DAh (foobar2000+81DAh)
Address: 01D8E77Fh (foo_lyricsgrabber2+E77Fh)
Address: 01D8E7EAh (foo_lyricsgrabber2+E7EAh)
Address: 01D8E925h (foo_lyricsgrabber2+E925h)
Address: 01DD2984h (foo_lyricsgrabber2+52984h)
Address: 004D81F2h (foobar2000+D81F2h)
Address: 004D8200h (foobar2000+D8200h)
Address: 004D80DEh (foobar2000+D80DEh)
Address: 01D81AAFh (foo_lyricsgrabber2+1AAFh)
Address: 10002826h (shared+2826h), symbol: "uCallStackTracker::~uCallStackTracker" (+0h)
Address: 01DD36D8h (foo_lyricsgrabber2+536D8h)
Address: 01DCAB98h (foo_lyricsgrabber2+4AB98h)
Address: 01DD3420h (foo_lyricsgrabber2+53420h)
Address: 01DDA8A4h (foo_lyricsgrabber2+5A8A4h)
Address: 01DD36D8h (foo_lyricsgrabber2+536D8h)
Address: 01DD36D8h (foo_lyricsgrabber2+536D8h)
Address: 01DD34C4h (foo_lyricsgrabber2+534C4h)
Address: 01DD3DE0h (foo_lyricsgrabber2+53DE0h)
Address: 100027EDh (shared+27EDh), symbol: "uCallStackTracker::uCallStackTracker" (+0h)
Address: 01D9554Bh (foo_lyricsgrabber2+1554Bh)
Address: 01DC9872h (foo_lyricsgrabber2+49872h)
Address: 004D8006h (foobar2000+D8006h)
Address: 100027D8h (shared+27D8h), symbol: "uPrintCrashInfo_OnEvent" (+B1h)
Address: 00574330h (foobar2000+174330h)
Address: 00548AC8h (foobar2000+148AC8h)
Address: 004D7F97h (foobar2000+D7F97h)
Address: 0054F2D9h (foobar2000+14F2D9h)
Address: 7C80B729h (kernel32+B729h), symbol: "GetModuleFileNameA" (+1BAh)
Address: 7C839AD8h (kernel32+39AD8h), symbol: "ValidateLocale" (+2B0h)
Address: 7C80B730h (kernel32+B730h), symbol: "GetModuleFileNameA" (+1C1h)
Address: 004D7F60h (foobar2000+D7F60h)

Environment:
App: foobar2000 v1.1 beta 2
OS: Windows 5.1.2600 Service Pack 3 x86
CPU: Intel® Core™2 Duo CPU    T7300  @ 2.00GHz, features: MMX SSE SSE2 SSE3
Audio: Realtek HD Audio output
UI: Default User Interface 0.9.5

Components:
Core (2010-08-03 11:27:02 UTC)
    foobar2000 core 1.1 beta 2
foo_albumlist.dll (2010-08-03 11:25:22 UTC)
    Album List 4.5
foo_autoupdate.dll (2010-04-19 23:21:14 UTC)
    Automatic Updater 1
foo_bitcompare.dll (2008-12-05 14:08:02 UTC)
    Binary Comparator 1.2
foo_cdda.dll (2010-08-03 11:25:20 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2010-08-03 11:24:52 UTC)
    Converter 1.5
foo_deskband_controls.dll (2010-02-08 20:20:32 UTC)
    Deskband Controls 0.1
foo_discogs.dll (2010-07-21 21:00:04 UTC)
    Discogs Tagger 1.25
foo_dsp_std.dll (2010-08-03 11:25:20 UTC)
    Standard DSP Array 1.0
foo_facets.dll (2008-07-14 16:26:15 UTC)
    Facets 2008-02-25
foo_fileops.dll (2010-08-03 11:23:52 UTC)
    File Operations 2.1.3
foo_freedb2.dll (2010-08-03 11:24:06 UTC)
    freedb Tagger 0.6.2
foo_gep.dll (2010-04-21 22:04:42 UTC)
    Game Emu Player 1.102
foo_input_std.dll (2010-08-03 11:24:52 UTC)
    Standard Input Array 1.0
foo_lyricsgrabber2.dll (2010-08-10 17:09:41 UTC)
    Lyrics Grabber 2 0.3.6.1 beta
foo_masstag.dll (2009-09-18 08:01:36 UTC)
    Masstagger 1.8.4
foo_osd.dll (2010-07-22 20:59:28 UTC)
    On-Screen Display GDI+ 1.61
foo_playcount.dll (2010-07-24 10:09:34 UTC)
    Playback Statistics 3.0 beta 2
foo_popupplus.dll (2008-04-24 20:24:18 UTC)
    PopUp Plus 20080424
foo_queuecontents.dll (2010-05-20 08:18:58 UTC)
    Queue Contents Editor 0.3.9
foo_quicksearch.dll (2010-05-14 17:08:00 UTC)
    Quick Search Toolbar 1.9
foo_rgscan.dll (2010-08-03 11:24:52 UTC)
    ReplayGain Scanner 2.0.9
foo_skip.dll (2010-07-04 10:39:06 UTC)
    Skip Track 1.2
foo_tagbox.dll (2010-08-07 16:14:20 UTC)
    TagBox 0.170
foo_textdisplay.dll (2008-07-08 17:45:26 UTC)
    Text Display UI Element 1.0 RC 3
foo_ui_std.dll (2010-08-03 11:25:16 UTC)
    Default User Interface 0.9.5
foo_uie_biography.dll (2010-06-27 19:50:10 UTC)
    Biography View 0.4.2.2
foo_uie_esplaylist.dll (2010-08-06 21:01:00 UTC)
    EsPlaylist 0.1.1.0 beta 6
foo_uie_lyrics2.dll (2010-04-12 18:19:24 UTC)
    Lyric Show Panel 2 0.4.6.15
foo_unpack.dll (2010-08-03 11:24:20 UTC)
    ZIP/GZIP/RAR Reader 1.6

Recent events:
"✔ Rating 3 alles" : 0:00.072510
"✔ Rating 4" : 0:00.059728
"✔ Rating 4 alles" : 0:00.069255
"✔ Rating 5" : 0:00.059968
"✔ Rating 5 alles" : 0:00.064912
"✔ Rock" : 0:00.046553
"✔ Rock & Indie" : 0:00.035749
"✔ Soundtrack" : 0:00.086278
Sample component: on_init()
Startup time : 0:05.533271

also crashing:
"Wolfsheim - Kein Zurück"
"Megaherz - Schlag Zurück"
"Megaherz - Himmelfahrt"


...

Now that I look at it, it seems like a missing "album" tag is responsible.

Just to try that out I added an album tag to the last song from above:
"Megaherz - [ad] Himmelfahrt"

Now it doesn't crash anymore. Is an existing album tag compulsory?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-11 21:36:30
Ah.. I now understand.

Yes that could be it. Darklyrics relies on the album. If there is no album, it should fail (as I search directly the lyrics, not via Google Luck or other search measures).

Thing is, I don't check if there is no album tag, I require it in that particular provider. I will change that, checking if there is something, if not, make that provider fail, rather than crashing foobar.

Thank you for observing this!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Yurk Yurk on 2010-08-12 00:31:39
Can I ask why LyricWiki has been removed as a source? It seemed to be a good one.

Also, with the current providers, I get no hits for Mrs Robinson by Simon & Garfunkel, which is one of the most popular songs ever. By going to the LyrDB site, I see they have the lyrics but the plugin doesn't pick them up.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Yurk Yurk on 2010-08-12 00:39:04
Another issue: I just ran the Search All on Bob Dylan The Times They Are A-Changin' and ended up with the lyrics for a different Dylan song ('Drake Bell').
Title: Lyricsgrabber2 Feedback & Discussion
Post by: joelzhao on 2010-08-12 02:30:54
After millions times test, it works! but there are still some issues.
1) I wonder if the leo's lyrics and 乐辞lyrics  are available, I don't see any lyrics search by them!
2) I experience several crashes searching lyrics for the stream. Theoretically, if the stream has dynamic track title, we can search the lyrics, as foo_uie_lyrics2 does.
BTW: do you have interesting to maintain the foo_uie_lyrics2 which hasn't been maintained for a long time?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 08:55:36
@ Yurk Yurk:

While I can not implement why or why not a wrong song text is returned, which might be the fault of the website itself, rather than me. In the next release I address the problem of lyrdb not finding lyrics they normally have. More than that, I can't do.
As to LyricWiki, I was of the impression that it wasn't possible to receive the lyrics anymore. But I can check if I can reimplement it.

@joelzhao:

First of all, I am not responsible for Scripts, I just have them from the original (T.P.Wang) but I haven't changed them. About Leo's Lyrics: I think they changed something in their lyrics system, so that script is probably outdated. I've sent an E-Mail to them, as they offer plugins for Winamp and iTunes,  and asked if if could be possible to support me as well.

The crashes should be gone in the next release as they were caused by missing Album information. So theoretically, it could work to find lyrics to a dynamic title. Unfortunately I can't test it myself.

foo_lyricsgrabber2 is a huge workload all in itself, as I must check multiple times what doesn't etc. (haveing spent some times without doing anything else but implementing/maintaining the plugins). Also from September on, I won't be so active, as my future job will begin. So, no, maintaining foo_uie_lyrics2 wouldn't be possible at the moment.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 11:49:33
@Yurk Yurk:

I looked into lyricwiki and found no possibility to for me to retrieve lyrics from there. While I could create, without any problem, a URL that point's to the correct address, due to the fact that they use javaScript to display the lyrics, I can't get it, as it isn't part of the html source. (Same as it applies to LyricsPlugin).
If you don't understand, what I mean, visit any lyrics there, but disable javaScript in your Browser before you do.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-12 11:54:39
Edit mode on lyricwiki works
http://lyrics.wikia.com/index.php?title=Ta...amp;action=edit (http://lyrics.wikia.com/index.php?title=Taylor_Swift:Mine&action=edit)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 12:28:28
Edit mode on lyricwiki works
http://lyrics.wikia.com/index.php?title=Ta...amp;action=edit (http://lyrics.wikia.com/index.php?title=Taylor_Swift:Mine&action=edit)


Nice idea,

I will try using that later today!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 15:51:45
New Version is out.

fixed that crashing thing with the album tag. And introduced LyricWiki again  Also I hopefully fixed that problem with lyrdb
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nachash on 2010-08-12 17:16:18
a lot of error:101
No such a entry in the database.
when there's nothing to find
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-12 17:16:55
I tried to search lyrics for The Faceless' two albums, Akeldama & Planetary Duality and only few was found and from Planetray Duality the one it found was a wrong one - and Darklyrics has them all and I searched from Darklyrics. I update to new version and see if this bug is still in there...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: MaCs on 2010-08-12 17:22:00
New Version is out.

fixed that crashing thing with the album tag. And introduced LyricWiki again  Also I hopefully fixed that problem with lyrdb

Great! Thanks a lot for this great component.

A little problem: LyricWiki (at least this one) is case-sensitive and expects capitalized first letters for song titles. Is it possible to capitalize song titles before sending a request?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 18:32:05
Version 0.4.0.1 is out. Hopefully fixing stuff for good
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-12 19:12:21
If i catch lyrics with LyricWiki i get two types of results if search was successful:

Either a text without multiple lines or an entry "&lt;!-- PUT LYRICS HERE (and delete this entire line) --&gt;". The latter phenomen can't mean that searching failed because i have also searches which are markes as "failed".  Furthermore it is slow but i guess this is due to only possible search method?


Edit:

Whatever you did with LyrDB, it works really fast and great now.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-12 19:53:28
Maybe it's just me, but I don't see LyricWiki on the context menu.  It's listed in the preferences page, but I can't search it without doing a "search all".

Also, I can confirm the issue q-stankovic mentioned.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 20:00:41
The issue with LyricWiki is, that I must open the "Edit Page" fo the wiki, because otherwise there is no lyrics I can fetch... I will see to that issue, or otherwise I will remove LyricWiki again...

About LyrDB... Well I changed the search from "Match", which requires something linke this "Artist|Title", but artist and title may not have special characters like ', & etc. to "fullt" (probably full-text), which has no such predefined structure.  (And I updated a helper function... it was malfunctioning, that was probably the main cause for weird results).

@Hitchhiker:

Very strange... even if you restart Foobar? I've never seen that problem... :S
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-12 20:08:06
I did a search via google to look for other lyrics sites. there are so many but there is one that i like to mention: www.songtext.net

It seems to be the largest. It claims to have almost 3 millions lyrics (!). I searched for some artists that are less famous than - let's say: Bad Brains. I found many of them. I hope you will consider to implement this if and when you find some time.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 20:23:52
I did a search via google to look for other lyrics sites. there are so many but there is one that i like to mention: www.songtext.net

It seems to be the largest. It claims to have almost 3 millions lyrics (!). I searched for some artists that are less famous than - let's say: Bad Brains. I found many of them. I hope you will consider to implement this if and when you find some time.


I find Lyrics, or at least that they are there, but I can't find the lyrics themselves...  Best would be, if Leo's Lyrics would respond... Hitchhiker... have you any nes? Maybe you can ask the one that maintains the servers if he can ask if it would be possible to use their API?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-12 20:31:23
I find Lyrics, or at least that they are there, but I can't find the lyrics themselves... :
Autsch, i assume you have to be registrated and logged-in.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: dano on 2010-08-12 21:26:12
Qudeid the lyrics from LyricWiki are saved as html entities on the normal lyrics page:
& #89;& #111;& #117; ...
Just decode them.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-12 21:38:59
Qudeid the lyrics from LyricWiki are saved as html entities on the normal lyrics page:
& #89;& #111;& #117; ...
Just decode them.


That gives a little overhead, but that way, it would be possible... true. I'll look into it.

Edit:

In the next Release this is realized
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-13 14:39:39
I am obviously doing something wrong since it won't find any lyrics from Darklyrics.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-13 14:53:16
I am obviously doing something wrong since it won't find any lyrics from Darklyrics.


Since I have no problem retrieving lyrics from Darklyrics, try checking the tags. If they don't match properly that might be the reason. (Artist and album must be correct)

Edit: I'll try another approach for Darklyrics and test it, maybe this works better. If so, it'll be changed in the next release.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-13 15:45:36
I've just compiled a new version. Hope that solves once and for all the problems with Darklyrics! (And possibly LyricWiki)

Btw.: I've noticed that sometimes, using LyrDB, the Result Window doesn't display all of the lyrics, making it look like there is only a few lines of them. But upon saving they are complete. I don't know what causes this, but rest assured, if it says success it is successful  (Hopefully with the correct lyrics to the song )
Title: Lyricsgrabber2 Feedback & Discussion
Post by: MuffPotter on 2010-08-13 17:28:57
I've just compiled a new version. Hope that solves once and for all the problems with Darklyrics! (And possibly LyricWiki)

Btw.: I've noticed that sometimes, using LyrDB, the Result Window doesn't display all of the lyrics, making it look like there is only a few lines of them. But upon saving they are complete. I don't know what causes this, but rest assured, if it says success it is successful  (Hopefully with the correct lyrics to the song )


I just saw that i have different version numbers of python(0.4.0.2 beta) and lyricsgrabber (0.4.1.0 beta), Shouldn't they have the same?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-13 17:35:34
I've just compiled a new version. Hope that solves once and for all the problems with Darklyrics! (And possibly LyricWiki)

Btw.: I've noticed that sometimes, using LyrDB, the Result Window doesn't display all of the lyrics, making it look like there is only a few lines of them. But upon saving they are complete. I don't know what causes this, but rest assured, if it says success it is successful  (Hopefully with the correct lyrics to the song )


I just saw that i have different version numbers of python(0.4.0.2 beta) and lyricsgrabber (0.4.1.0 beta), Shouldn't they have the same?



Yes, and they are now, Visual Studio didn't build the new dll, but I thought it did. Anyway, if you re-download it, it should be the same.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-13 23:59:08
Best would be, if Leo's Lyrics would respond... Hitchhiker... have you any nes? Maybe you can ask the one that maintains the servers if he can ask if it would be possible to use their API?
I sent a message to the guy who maintains the server a week ago, but haven't received a response.  I'll try posting on the main forum and see if someone can help.

However, it might not be necessary for him to reply.  See, this script works on my computer:
Code: [Select]
# -*- coding: utf-8 -*-
import encodings.utf_8
import urllib
from xml.dom import minidom
from grabber import LyricProviderBase

class LeosLyrics(LyricProviderBase):
    def GetName(self):
        return "Leo's Lyrics"
   
    def GetVersion(self):
        return "0.3"
   
    def GetURL(self):
        return "http://www.leoslyrics.com"
   
    def Query(self, handles, status, abort):
        result = []
       
        for handle in handles:
            status.Advance()
           
            if abort.Aborting():
                return result
           
            artist = handle.Format("[%artist%]")
            title = handle.Format("[%title%]")
           
            try:
                string = urllib.urlopen("http://api.leoslyrics.com/api_search.php?auth=LeosLyrics5&artist=%s&songtitle=%s" % (urllib.quote(artist), urllib.quote(title))).read()
                doc = minidom.parseString(string)
                child = doc.getElementsByTagName("searchResults")[0]
                hid = None
               
                for e in child.getElementsByTagName("result"):
                    if e.getAttribute("exactMatch") == "true":
                        hid = e.getAttribute("hid").encode('utf_8')
                        break

                if hid == None:
                    result.append('')
                    continue
               
                string = urllib.urlopen("http://api.leoslyrics.com/api_lyrics.php?auth=LeosLyrics5&hid=%s" % hid).read()
                doc = minidom.parseString(string)
                child = doc.getElementsByTagName("lyric")[0]
                text = child.getElementsByTagName("text")[0]
                lyric = text.childNodes[0].data.encode('utf_8')
                result.append(lyric)
            except Exception, e:
                traceback.print_exc(file=sys.stdout)
                result.append('')
                continue
       
        return result

if __name__ == "__main__":
    LyricProviderInstance = LeosLyrics()
In fact, it often returns successful results that the built-in providers miss.  This is a very valuable database.  However, the catch to getting this script to work is that the following line must be added to the user's hosts file:

Code: [Select]
77.79.210.222 api.leoslyrics.com

Essentially, this redirects traffic sent to the api.leoslyrics.com host name to the 77.79.210.222 IP address without querying the DNS server.  Now, it's unreasonable to require every user who uses this component to modify their personal hosts files, however, if there is a way to bypass the DNS server when fetching the lyrics that can be programmed directly into the component, this would be a worthwhile fix.  Unfortunately, I'm not nearly experienced enough in programming to know how to do this.

So, it's something to think about, and it's your choice as to what you want to implement.  However, if this server were added to the built-in providers, speaking from experience, my success rate when using "Search All" would double.

-----

Oh, and on a side note, I'm an idiot.  LyricWiki didn't appear on my context menu because I hid it in the preferences.  I did this back when it broke a long time ago, and the preference carried over to your version.  So, no problem here.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-14 08:52:45
Very interesting, indeed.

but as far as I know, shouldn't api.leoslyrics.com be a substitute for the IP? I mean, if I were to write http://77.79.210.222/etc.. (http://77.79.210.222/etc..).. I should be the same as if I wrote http://api.leoslyrics.com (http://api.leoslyrics.com). At least I thought so, but obviously, this is not true. I get a "Not Found" error from the server. But I think there must be a way to somehow simulate thatyou get a static IP for that server.

On the otherhand... it is some kind of hack into the system and I'd rather use it openly with permission, but unfortunately I haven't received an E-Mail from Leo's Lyrics either


Besides: How were you able to hide LyricWiki? I see no option in the Preferences to Hide a Provider?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Steve Forte Rio on 2010-08-14 08:58:50
I have installed foobar2000 1.1 beta 3 with settings separeted per-user. And I have some questions about installing manual.



Quote
(1)Make sure you have foo_lyricsgrabber2 installed already


what does it mean?

Quote
2)Put python25.dll and msvcr71.dll into foobar2000\ directory (%appdata%\foobar2000\ should work as well)


works only with this files in program files/foobar2000 directory

 
Quote
(3)Put foo_grabber_python.dll and foo_lyricsgrabber2.dll into foobar2000\components\ directory (in Foobar2000 1.1 you can also install them inside Foobar)


ok, both program files/foobar2000/components and appdata/foobar2000/usercomponents works fine

 
Quote
(4)Copy pygrabber directory and all its contents to %appdata%\foobar2000\ directory


Allright, this folder must be in user-profile foobar2000 folder...

Quote
3. After Installation or After Updating
  Go to Foobar's preferences and find under tools "Lyrics Grabber 2". In "Provider", select "Python"


I see no "Python" in the list:

(http://audiophilesoft.ucoz.ua/misc/nopython.png)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-14 09:04:41
Sorry, forgot to update the Install.txt

First should be obsolete, or rather it shoudl be saying "You must have foo_lyricsgrabber installed to use foo_grabber_python"

About the last point. I renamed "Python" to "Scripts" as some found it better, as not all know python. So you see "Scripts" there.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-14 12:38:30
AZ Lyrics often gives false results. That is mainly annoying when it is preferred in the "Search all". I assumed that the false results are songs from other artists with same title but i can't proove that as the AZ lyrics site is a mess which doesn't allow to list songs alphabetically.

A small mistake in lyrdb: for Dendemann - "Metapher than leather" i receive Run-D.M.C - "Tougher than Leather". It seem to ignore artist and like similarity in title. (Edit: aah, lyrdb don't contain the artist Dendemann so it is looking just for the title. Could you remove that "feature"? Any news why sometimes lyrdb results are truncated in lyricsgrabber window?)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-14 13:21:19
AZ Lyrics often gives false results. That is mainly annoying when it is preferred in the "Search all". I assumed that the false results are songs from other artists with same title but i can't proove that as the AZ lyrics site is a mess which doesn't allow to list songs alphabetically.

A small mistake in lyrdb: for Dendemann - "Metapher than leather" i receive Run-D.M.C - "Tougher than Leather". It seem to ignore artist and like similarity in title. (Edit: aah, lyrdb don't contain the artist Dendemann so it is looking just for the title. Could you remove that "feature"? Any news why sometimes lyrdb results are truncated in lyricsgrabber window?)


I'm not sure about AZLyrics but I implemented a check, that it, at least, really is the same title. As AZLyrics is accessed via the in-built search function of the site, and the first result taken, i could just have been similar. Hopefully, this is enough!

Abuot LyrDB: That is fixed. I check now of similarity to the artist as well. "Dendemann - Metapher than leather" for instance now returns failed, as it doesn't seem to be in the database of LyrDB.

Edit: Err.. new Version is out, of course
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-14 13:35:08
Thanks for new version! 

I have one request: Could lyricsgrabber window remember its size. I make the window bigger to have a greater area for tracklisting and for lyricdisplay. After closing the window return to its small size.

Edit: No more false results in newest version!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-14 13:40:28
Thanks for new version! 

I have one request: Could lyricsgrabber window remember its size. I make the window bigger to have a greater area for tracklisting and for lyricdisplay. After closing the window return to its small size.


Sorry, possible, probably, practical for me, I don't think so. I'm not so experienced with this kind of dialogs, which means, I's take a few hours to make this happen. Sorry again.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-15 15:48:44
LyricWiki often picks up lyrics like this:
Code: [Select]
External links

Amazon: search for… The Black Mages • The Black Mages II: The Skies Above • Zeromus FoxyTunes Planet: search for… The Black Mages • Zeromus

Hype Machine: search for… The Black Mages • Zeromus

Last.fm: search for… The Black Mages • The Black Mages II: The Skies Above • Zeromus

MusicBrainz: search for… The Black Mages • The Black Mages II: The Skies Above • Zeromus

Pandora: search for… The Black Mages • Zeromus Wikipedia: search for… The Black Mages • The Black Mages II: The Skies Above • Zeromus

YouTube: Zeromus

When looking for lyrics foor a batch of songs, this is a large problem. Could you look into it?

Also, a lot of lyrics seem to have trailing newlines at the end, which is kind of annoying.

Thank you for fixing the plugin! =]
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-15 16:19:58
I tried removing as many new lines as I can, maybe I forgot to do so in one provider.

About LyricWiki... could you please specify a song, so I can better look into the problem? (Song and Artist should be enough)

Thank you!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-15 16:29:28
Artist: The Black Mages
Title: Zeromus
http://lyrics.wikia.com/The_Black_Mages:Zeromus (http://lyrics.wikia.com/The_Black_Mages:Zeromus)

I think this is a problem with instrumental songs. Any chance they could (optionally) have the lyrics "[Instrumental]"?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-15 17:01:30
Artist: The Black Mages
Title: Zeromus
http://lyrics.wikia.com/The_Black_Mages:Zeromus (http://lyrics.wikia.com/The_Black_Mages:Zeromus)

I think this is a problem with instrumental songs. Any chance they could (optionally) have the lyrics "[Instrumental]"?


No not really. The thing is, that it is impossible to tell if a song is instrumental. Only because the plugin doesn't find any lyrics doesn't mean the song is instrumental.

Another thing is, if it is stated as such. (As in the Song you provided here).
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-15 17:44:19
What I was thinking of is how a lot of songs are listed as instrumental songs. Could the lyrics be formatted as "[Instrumental]", if this is the case, rather than "Instrumental"?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-15 18:14:57
What I was thinking of is how a lot of songs are listed as instrumental songs. Could the lyrics be formatted as "[Instrumental]", if this is the case, rather than "Instrumental"?


Theorectically yes, but I don't think such a minor thing is so important as I must always check and this makes it slower (even if only a little, but many little things equals one big )

Anyway, this LyricWiki problem is hopefully fixed. And please check if the line breaks are still there in the relevent songs. If so, please post one so I can check this out. Thank you for your contribution!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-15 19:00:05
Is libcurl really needed for this? switching to fb2k's internal api will help a lot speed wise
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-15 19:02:43
Also, this:
http://img22.imageshack.us/img22/9258/scre...asj00052010.png (http://img22.imageshack.us/img22/9258/screenshotstasj00052010.png)
http://img230.imageshack.us/img230/5830/sc...asj00042010.png (http://img230.imageshack.us/img230/5830/screenshotstasj00042010.png)
The lyrics are from the Dire Straits song Money for Nothing. In the first picture, it's caused by "La Noyée". In the second, "Soothsayer" made it worse.

Also, the "Unfortunately, we are not licensed" message ruins the lyrics.

The other problems seems okay, though. Thanks for fixing them this quick! =D
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-15 19:29:09
@icedtea:
Honestly, I've never considered as I never knew it was there. Also this is the very first plugin I really looked into. So theoretically foobar coul ddo this too I guess, but I don't know how, at the moment. Maybe I'll look into it. We'll see.

@Nemphael:

Err... You say, when searching for "La Noyée" (from whatever Artist) or "Soothsayer" you get the lyrics from Dire Straits' song Money for Nothing, right? Can I have a little more information on those two songs? then I might be able to look into it better.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-15 19:35:02
Here is a very cultivated site that contains over 1 million lyrics. If you like to add one built-in provider more ... 

LyricsNet (http://www.lyrics.net)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-15 19:42:03
http://img411.imageshack.us/img411/2611/sc...asj00082010.png (http://img411.imageshack.us/img411/2611/screenshotstasj00082010.png)
In the uppermost dialog without La Noyée or Soothsayer, Be Somebody gets correct lyrics. When adding them, second dialog, the lyrics for Be Somebody is either that of Soothsayer's or La Noyée's (Both are instrumental songs).

In the third dialog, The Beatles' Her Majesty are correct, but in the fourth, they are instead Be Somebody's.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-15 19:49:34
http://img411.imageshack.us/img411/2611/sc...asj00082010.png (http://img411.imageshack.us/img411/2611/screenshotstasj00082010.png)
In the uppermost dialog without La Noyée or Soothsayer, Be Somebody gets correct lyrics. When adding them, second dialog, the lyrics for Be Somebody is either that of Soothsayer's or La Noyée's (Both are instrumental songs).

In the third dialog, The Beatles' Her Majesty are correct, but in the fourth, they are instead Be Somebody's.


So.... Is it so they are mixed, meaning you searched for a few songs at the same time, and the lyrics are correct only assigned to the wrong song? Something like this? And this only happens with LyricWiki?

@IcedTea:

I just looked into the http_client.h and tested, and it worked. But I can't seem to find anything with proxy, and since there is an option to use a proxy, which I don't intent to throw away, I can't to the switch, so for the time being, curl is a necessity. Sorry.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-15 20:30:40
Yes, that's what happens. Every result is "pushed" one or two songs down.As far as I can tell, it happens with LyricWiki alone.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-15 20:41:51
Yes, that's what happens. Every result is "pushed" one or two songs down.As far as I can tell, it happens with LyricWiki alone.


Ah, thank you. Let me guess, this only happens if there are songs that are found to be instrumental?

Fixed in the next release (currently building and soon uploading)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: u11n on 2010-08-16 05:18:37
Great work, Thank you very much

When I search for Chinese songs, there is no response
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-16 08:28:57
Great work, Thank you very much

When I search for Chinese songs, there is no response


That's probably because none of the Sites I implemented handles Kanji (I know it's not the chinese Word for them, but they are more or less equal).
Ans since I am not chinese and have no chinese songs, I'm afraid that I can't really add one. It would be too cryptic for me. Sorry
Title: Lyricsgrabber2 Feedback & Discussion
Post by: joelzhao on 2010-08-16 09:48:39
Great work, Thank you very much

When I search for Chinese songs, there is no response

You can search Chinese lyrics by script selecting "????", which is available while leo's lyrics and ?? can't work. furthermore the lyrics searched with timestamp. I tend to use foo_uie_lyrics because it's automatic. Sorry Qudeid.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-16 09:52:30
Great work, Thank you very much

When I search for Chinese songs, there is no response

You can search Chinese lyrics by script selecting "????", which is available while leo's lyrics and ?? can't work. furthermore the lyrics searched with timestamp. I tend to use foo_uie_lyrics because it's automatic. Sorry Qudeid.


Why sorry? I force nobody to use this Plugin.  It's your decision to use this or the other. And yes, there are scripts that are able to find chinese Lyrics, but I was talking about built-in provider.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-16 19:35:40
I am obviously doing something wrong since it won't find any lyrics from Darklyrics.


Since I have no problem retrieving lyrics from Darklyrics, try checking the tags. If they don't match properly that might be the reason. (Artist and album must be correct)

Edit: I'll try another approach for Darklyrics and test it, maybe this works better. If so, it'll be changed in the next release.

No, Darklyrics not working. Tags are 100% right. I once managed to fetch Diabolical Masquerade lyrics, but nothing else. Idk what I am doing wrong since I followed the setup step-by-step.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-16 19:40:13
I am obviously doing something wrong since it won't find any lyrics from Darklyrics.


Since I have no problem retrieving lyrics from Darklyrics, try checking the tags. If they don't match properly that might be the reason. (Artist and album must be correct)

Edit: I'll try another approach for Darklyrics and test it, maybe this works better. If so, it'll be changed in the next release.

No, Darklyrics not working. Tags are 100% right. I once managed to fetch Diabolical Masquerade lyrics, but nothing else. Idk what I am doing wrong since I followed the setup step-by-step.



Just to be sure, you've updated to Version 0..4.1.3 ?

If so, please post Album, Title and Artist please so i can check better.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-16 20:04:34
After the update to latest version it fetches lyrics to two-three songs. Really weird. I can take almost any album and it does this or doesn't find lyrics at all even though they are in Darklyrics. Take for example Meshuggah.

http://img714.imageshack.us/img714/29/62077820.png (http://img714.imageshack.us/img714/29/62077820.png)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-16 20:40:44
After the update to latest version it fetches lyrics to two-three songs. Really weird. I can take almost any album and it does this or doesn't find lyrics at all even though they are in Darklyrics. Take for example Meshuggah.

http://img714.imageshack.us/img714/29/62077820.png (http://img714.imageshack.us/img714/29/62077820.png)


That really is strange...

I use Google's "I'm feeling lucky" to get to Darklyrics.. for combustion it seems to work, but Electric Red returns a website with "Bad Request"... though the same, really the very same thing, using firefox, gives me the website of Darklyrics where the lyrics of obZen are....

Can anyone explain this to me?

Edit:  I think I've fixed it... As DarkLyrics only needs the artist and the album to return the valid website, I just omit the title in the request to google.. and that seems to work... Why the other one wouldn'T work in foobar but in firefox, is but a mystery to me... New Version is uploading
Title: Lyricsgrabber2 Feedback & Discussion
Post by: ximmox on 2010-08-17 22:57:48
Hello Qudeid,

just registered here to reach you, first of all thanks for picking up the project!

I would like to request a small feature: Could you add the option to save the Lyrics to more than one tag?
The reason ist the following, I'd like to stick to the standard LYRICS tag as I have done the past years,
but my iPod requires the Lyrics to be stored in UNSYNCED LYRICS, otherwise lyrics aren't shown when uploading with foo_dop.
Now I have to always copy the lyrics by hand after Lyricsgrabber saved them to LYRICS...

Perhaps it's simple to just make a ";" indicate a new tag, i.e. LYRICS; UNSYNCED LYRICS ?

Greetings from DE, Immo
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-17 23:04:43
Hello Qudeid,

just registered here to reach you, first of all thanks for picking up the project!

I would like to request a small feature: Could you add the option to save the Lyrics to more than one tag?
The reason ist the following, I'd like to stick to the standard LYRICS tag as I have done the past years,
but my iPod requires the Lyrics to be stored in UNSYNCED LYRICS, otherwise lyrics aren't shown when uploading with foo_dop.
Now I have to always copy the lyrics by hand after Lyricsgrabber saved them to LYRICS...

Perhaps it's simple to just make a ";" indicate a new tag, i.e. LYRICS; UNSYNCED LYRICS ?

Greetings from DE, Immo


Sounds trivial. Hope the implentation is also. I'll look into it.. Sure  And you're welcome
Title: Lyricsgrabber2 Feedback & Discussion
Post by: mobyduck on 2010-08-18 08:01:20
Hi and thank you for your work.

I don't know if this has already been asked, but would you consider adding support for LyricsDB (http://lyrics.mirkforce.net/cgi-bin/stats.cgi?period=1) (HA thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=36598))?

Maybe it's not as huge as some other sites discussed here but I always considered it sort of HA community repository (yes, you can also upload your lyrics there)...

Regards.

Alessandro
Title: Lyricsgrabber2 Feedback & Discussion
Post by: saltaslt on 2010-08-18 11:50:42
I miss lyricsplugin database so much  Maybe someone already has a fixed script for it?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-18 12:32:58
First things first...

I realized ximmox's (and Tedgo's) request to support "UNSYNCED LYRIC" tag... to a degree, though. I went another way as recommended by tedgo. You can now enable an option called "Title Formatting", which enables you to write something like this:

$if($stricmp(%codec%,mp3),UNSYNCED LYRICS,LYRICS) (as suggested by Tedgo)

This, for instance, uses the Tag "UNSYNCED LYRICS" for MP3 files and "LYRICS" for everything else. I think this is a much better solution than add extra (unnecessary) tags to a file.
For whatever reason, you could even go as far as saving the lyrics in a tag that is named after the title... or last time it was played...

Also I'm happy I finally found the reason of getting bad request errors when calling google luck... For everyone interested: When searching for a title that contains whitespace in the name (or album for that matter), it doesn't work, because it isn't http encoded. Now I replace the whitespace with a '+' and that's all it needed

About the new Provider:
At the moment I don't have the time necessary for adding new provider (which can take a few hours to complete unfortunately), but I will see to it.

About lyricsplugin:
I hope so too, or at least a way for me to reach the lyrics, but as they use JavaScript to conceal them I can't get to them
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2010-08-18 18:17:38
The reason ist the following, I'd like to stick to the standard LYRICS tag as I have done the past years,
but my iPod requires the Lyrics to be stored in UNSYNCED LYRICS, otherwise lyrics aren't shown when uploading with foo_dop.


As far as i kno foo_dop allows you tag mapping so that on transferring your files on iPod the content of LYRICS automatically will be written in UNSYNCED LYRICS which is by the way the standard field for not-timestamped lyrics.

@Qudeid
Now when it is possible to use titleformatting maybe it is a good idea that all the scripts that catch timestamped lyrics are able to know the proper place for storing (LYRICS) - something like a variable %timestamped_lyric%.
There is still a known annoyment in lyrDB: The truncated lyrics in display. I like to call multiple instances of lyricsgrabber window to compare the quality of lyrics from different sources.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-19 07:49:01
I will look into the truncated lyrics.

But I don't know what you mean with the rest.

Edit: in 0.4.5.1 beta fixed. The problem was, that lyrDb lyrics seemed to be ANSI Encoded, while Foobar wants UTF-8
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-19 14:34:33
After updating to latest version it fetches wonderfully lyrics from DL, except for one little bug.

http://img842.imageshack.us/img842/1055/asdul.png (http://img842.imageshack.us/img842/1055/asdul.png)
See that gap in UNSYNCED LYRICS tag ? It is in every lyric, at the start.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-19 14:40:44
After updating to latest version it fetches wonderfully lyrics from DL, except for one little bug.

http://img842.imageshack.us/img842/1055/asdul.png (http://img842.imageshack.us/img842/1055/asdul.png)
See that gap in UNSYNCED LYRICS tag ? It is in every lyric, at the start.


This happens with Darklyrics only? Is it space or is it a tab?

Edit: I think i have it fixed in 0.4.5.2 beta
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-21 23:20:15
Hey Qudeid, I have another small bug.  Sometimes when I search for lyrics using Search All, the plugin stalls when trying to find lyrics for the first song.  This can take a long time, and when it finally gives up, it stalls again on the next track.  When the plugin is stalled, the Abort button refuses to work until the plugin is done with the song that's stalling.  After playing around with it, this seems to be a DarkLyrics issue (possibly server problems on their end).  Is it possible for you to implement a timeout when searching for lyrics, and if one provider causes a timeout, exclude that provider from the next lyric queries in the queue?  Thanks.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-22 06:40:29
I've been playing around with the Leo's Lyrics server (I haven't received a response yet), and it may be easy to implement.  It seems that the 77.79.210.222 server only responds when the "Host" header is set to "api.leoslyrics.com".  So, you previously fixed Lyrics Plugin by setting the "Referer" header (before they changed it again).  This should be the same, only the "Host" header needs to be changed.

The URL for Leo's Lyrics queries:
Code: [Select]
http://77.79.210.222/api_search.php?auth=LeosLyrics5&artist=<artist>&songtitle=<title>


For instance, if you try this Firefox extension (https://addons.mozilla.org/en-US/firefox/addon/967/) and set the "Host" header to "api.leoslyrics.com", all queries formatted like above work.

I know it's not the most direct way of handling it, but this really is a worthwhile database.  I really hope you consider adding it.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-22 12:00:01
Hey Qudeid, I have another small bug.  Sometimes when I search for lyrics using Search All, the plugin stalls when trying to find lyrics for the first song.  This can take a long time, and when it finally gives up, it stalls again on the next track.  When the plugin is stalled, the Abort button refuses to work until the plugin is done with the song that's stalling.  After playing around with it, this seems to be a DarkLyrics issue (possibly server problems on their end).  Is it possible for you to implement a timeout when searching for lyrics, and if one provider causes a timeout, exclude that provider from the next lyric queries in the queue?  Thanks.


That stalling is often, when the first connection is established. Also with darklyrics is has to download or look at a long site. But as far as I know, there is already a timeout. Not in the plugin but in cURL, which is used to access the websites.

I've been playing around with the Leo's Lyrics server (I haven't received a response yet), and it may be easy to implement.  It seems that the 77.79.210.222 server only responds when the "Host" header is set to "api.leoslyrics.com".  So, you previously fixed Lyrics Plugin by setting the "Referer" header (before they changed it again).  This should be the same, only the "Host" header needs to be changed.

The URL for Leo's Lyrics queries:
Code: [Select]
http://77.79.210.222/api_search.php?auth=LeosLyrics5&artist=<artist>&songtitle=<title>


For instance, if you try this Firefox extension (https://addons.mozilla.org/en-US/firefox/addon/967/) and set the "Host" header to "api.leoslyrics.com", all queries formatted like above work.

I know it's not the most direct way of handling it, but this really is a worthwhile database.  I really hope you consider adding it.


sounds interesting. If I can set the host specifically like I can with the referer, I will surely consider it. But it won't happen the next few day, as I am not at home and on the road with my laptop --> no VS2008, only VS2010... which means, I am not willing to battle with some IDE problems. So this will have to wait until mid week, or so. But thank you for your help in adding Leo's Lyrics!

Just as a sidenote.. As Stankovic suggested I asked a staff member i I can get access to the components page so it will be easier, from Foobar 1.1 and forth, to get updates
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Fridge on 2010-08-22 20:51:36
Just a tip if anyone gets a dependency failure trying to load foo_lyricsgrabber2 under wine, I had to install vcrun2008 with winetricks to get msvcp90, loaded and worked fine after that.  Thanks for all the work updating this
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-24 15:45:26
Just a tip if anyone gets a dependency failure trying to load foo_lyricsgrabber2 under wine, I had to install vcrun2008 with winetricks to get msvcp90, loaded and worked fine after that.  Thanks for all the work updating this


Thank oyu for sharing this information and contributing to this plugin!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-24 16:11:33
There is a workaround for the lyricsplugin which requires hosting a php file
People at the mediamonkey forums have done it but I don't know if it is ok to use their server without permission. Quedid maybe you  can ask the server owner?

http://www.mediamonkey.com/forum/viewtopic...8&start=255 (http://www.mediamonkey.com/forum/viewtopic.php?f=2&t=47918&start=255)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-24 16:26:36
Where exactly do I find information on that when I follow the link you've posted?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-25 11:09:18
*bump* (Nah.. just kidding )

I do have an update to announce, so no unnecessary thread bumping here...

To the topic:

From now on Lyricsgrabber 2 will be available through the official components website (additionally still on google code, especially for the source code).
Another new thing is, that from now on, there is no foo_grabber_python.dll anymore. I've merged them together in to only one dll (which is surprisingly called foo_lyricsgrabber2). This helps preventing version issues, as they now really belong together, and easier to update, as there is only one file/package to update.
I've also updated the Install.txt, which is hopefully better to understand. Feel free help improving that file in telling me

All in all only little changes... Oh.. and please make sure to remove any foo_grabber_python files! I don't want your foobar to crash unnecessarily.

About the other suggested things.. I will look into it. Especially trying to get Leo's Lyrics up and running. (Later this week, hopefully)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: icedtea on 2010-08-25 14:26:43
Quedid the link I posted leads to a download that can be opened in 7zip. That has the js file with the url SquirrelScript is hosting the php file at. The details of the php file are in the thread as well.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-25 14:45:13
Quedid the link I posted leads to a download that can be opened in 7zip. That has the js file with the url SquirrelScript is hosting the php file at. The details of the php file are in the thread as well.


Ah.. okay, I just tried it in Firefox and worked fine... Quess I have to register myself there, then.

Edit: Just asked SquirrelScript if we could use his script. Thanks again, icedtea for pointing that out.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: FelixIvory on 2010-08-25 16:07:11
I'm waiting for it for a long time. I think it's the best lyrics-getting plugin.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-25 16:30:05
I'm waiting for it for a long time. I think it's the best lyrics-getting plugin.


What do you mean? Maintaining this plugin? Or adding Lyricsplugin to the list of providers?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-25 18:52:34
Hi Folks,
it's me again

I've just used Hitchhiker's information about Leo's Lyrics to include it to the list of providers.
I hope it works as it should...
The funny thing is, I've used only for Leo's Lyrics the HTTP_API of Foobar, because CURL wouldn't want to resolve the host properly... which also means, that Leo's Lyrics won't work with Proxy.. if anyone could give me any information how to use a proxy with Foobar's HTTP_API. Thanks!

Greetings,

Qudeid
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-25 19:41:47
Awesome news!  I just tried it out and it seems to work great.

EDIT: Oh, one quick thing.  Sometimes some of the providers don't have the full lyrics (problem on their end), and truncate the lyrics with "[...]" (and I believe LyricWiki provides a message saying that they're not allowed to carry the full lyrics).  Is it possible to parse the downloaded lyrics for "[...]" and discard them if present (allowing the "search all" to query the next source instead)?  Thanks.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-25 20:38:41
Awesome news!  I just tried it out and it seems to work great.

EDIT: Oh, one quick thing.  Sometimes some of the providers don't have the full lyrics (problem on their end), and truncate the lyrics with "[...]" (and I believe LyricWiki provides a message saying that they're not allowed to carry the full lyrics).  Is it possible to parse the downloaded lyrics for "[...]" and discard them if present (allowing the "search all" to query the next source instead)?  Thanks.


Sure, I can add that. But only for "Search All"...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Yaroxx on 2010-08-26 01:18:09
Qudeid can you add plyrics script? http://plyrics.com/ (http://plyrics.com/)

plyrics would be great - I hope this is possible
Title: Lyricsgrabber2 Feedback & Discussion
Post by: MuffPotter on 2010-08-26 07:26:35
*bump* (Nah.. just kidding )

I do have an update to announce, so no unnecessary thread bumping here...

To the topic:

From now on Lyricsgrabber 2 will be available through the official components website (additionally still on google code, especially for the source code).
Another new thing is, that from now on, there is no foo_grabber_python.dll anymore. I've merged them together in to only one dll (which is surprisingly called foo_lyricsgrabber2). This helps preventing version issues, as they now really belong together, and easier to update, as there is only one file/package to update.
I've also updated the Install.txt, which is hopefully better to understand. Feel free help improving that file in telling me

All in all only little changes... Oh.. and please make sure to remove any foo_grabber_python files! I don't want your foobar to crash unnecessarily.

About the other suggested things.. I will look into it. Especially trying to get Leo's Lyrics up and running. (Later this week, hopefully)


I'm not sure how this new update function in foobar should work. But isn't it so that if i have foobar 1.1 and lyrics grabber 0.5 installed i just have to click on "get updates" to start the process to get lyrics grabber 0.5.5? In my case it says "No updates are available at this time."
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-26 08:26:49
Honestly, I don't know. I wondered the same.

I don't think the "beta" word is the problem, as in the SDK it says, that it should be fine... Really, I don't now


About plyrics... I'll look into it. But in my opinion I don't want to add too many providers. 1-2 more is fine. (I still hope I can add Lyricsplugin again)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Jny on 2010-08-26 10:01:52
no news about lyricsplugin.com?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-26 10:06:37
no news about lyricsplugin.com?


Sorry, no, not yet.
I could use the website, SquirrelScript has provided, but I won't do without his consent. So we'll have to wait on that...


On the other hand. I see a few Crashdumps that crash when querying "Search All".. specifically (as you could see in the text file) with azlyrics... Is there anyone experiencing this? I would like to know which Song it was you were looking for, because otherwise I couldn't prevent that crash or find the cause. It would be really great!
Thank you
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-27 10:23:02
I did a quick maintenance release (0.5.5.1 beta), that will show me a bit more in the crash dump about the issue with azlyrics making foobar crash.

So please update
Title: Lyricsgrabber2 Feedback & Discussion
Post by: The Link on 2010-08-27 23:42:48
"Search all" doesn't seem to work with the latest version. I immediately get status "failed" for all selected songs.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-28 02:44:40
I can confirm The Link's problem.  The individual providers seem to work fine.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Solitair on 2010-08-28 06:53:23
It doesnt work. I always get the Status "Failed"

(and I have the scripts updated in the optional settings)

Foobar200 v 1.1
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-28 08:16:00
Sorry guys,
I was testing something and made a mistake when reverting. It should now work, and thanks to Kode54 you can now get the update inside Foobar!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-08-28 08:17:38
Every time I look at this page there is a new version  Thanks Qudeid ^^
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-28 08:22:08
Every time I look at this page there is a new version  Thanks Qudeid ^^


Lol...
Well, which doesn't necessarily only mean good, but at least it shows that something is being done
Btw. the new version is still uploading... (And with 9 kb Upstream, this takes a little while)

Edit: It's up  And tried updating it myself in Foobar, and it did it
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hitchhiker427 on 2010-08-28 12:49:58
Thanks for the latest update.

Though, I just wanted to add something.  I tried to update using foobar's new component manager, but it wiped out all of my scripts.  This may be unavoidable due to the way the component installer works, but I'll be manually updating in the future.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-28 13:35:45
Thanks for the latest update.

Though, I just wanted to add something.  I tried to update using foobar's new component manager, but it wiped out all of my scripts.  This may be unavoidable due to the way the component installer works, but I'll be manually updating in the future.


I could make it so, that you can optionally put your scripts into the profile folder. That one wouldn't be deleted when updating.

Next Release has it.

(folder structure is the same.. pygrabber\scripts\ and pygrabber\libs)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: FormerlyDFox on 2010-08-29 00:24:33
Current Version: 0.5.5.2 beta

Introduction:

foo_lyricsgrabber2 (and foo_grabber_python) is a plugin originally developed by T.P.Wang (unfortunately not maintained for a long time). It is designed to download lyrics from the web for specified songs.



What do you mean not updated in a long time? It is showing that it was updated today?

By the way how does this compare to Lyric Show Panel 2?


THANKS
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Nemphael on 2010-08-29 00:28:17
I believe foo_lyricsgrabber2 was updated, not foo_lyricsgrabber.

As you can see here, the original plugin was last updated in February.
http://code.google.com/p/lyricsgrabber/downloads/list (http://code.google.com/p/lyricsgrabber/downloads/list)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-08-29 07:56:43
Thank you for explaining Nemphael. And let me add, it wasn't this February but last year, so more than 1,5 years. Maybe the use of words is wrong.
Point is, the original plugin, created by T.P.Wang, was last updated in February 2009. Then I took over a month or so ago, and first only updated it so it is Foobar 1.0 compliant (and foremost, not context menu items in "Legacy Commands (unsorted)"). After a few changes and new features I branched, so to speak, the development. That was also because I had no access to the google code project, T.P.Wang has opened.

About your other question, DasFox... I must honestly say, that I have no idea. I have never used it. So someone else must explain differences. Sorry.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: thorbeck on 2010-09-03 18:43:31
It would be nice if there could be setting for files that have been searched for.

Say if you search 50 tracks and only find lyrics for 20.
At some later point you will probably try those missing 30 again.

However, it would be nice if you could "mark" attempted files somehow.
Just add a weird text value to the lyrics field.

Then when I try to update 100 songs and 30 of those have been attempted before I would get a prompt like:
"You have 30 songs that you tried finding lyrics for at an earlier point. Do you want to include these now?"

Probably need a setting for this prompt as well. Like the "silent" option existing today.

If you really want to go further you could use a numeric value which would tell how many times you actually have tried getting lyrics for that track and weigh that into the whole shebang.
Like:
"Don't attempt to download lyrics if it has been tried 10 times or more before".

Finally I'd just like to add that these are mere suggestions.
I love the plugin as it is all ready.

</thorbeck>
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-09-03 18:57:44
Thank you Thorbeck.
As it is, at the moment, I can't spare much time to work on this plugin as I have stated earlier, my Job started, so there really isn't much time to include such time consuming features.
But thank you for the idea, I will take this in consideration, in the future.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: phantagor on 2010-09-27 16:57:07
Hi there guys,

i have installed the newest version of the lyricsgrabber 2 (0.5.5.2. beta) in my portable foobar 1.1 version (via the preferences - components - install-thingy) but i cant update any of my lyrics.

when i right click on any song and go lyricsgrabber and do "search all" "darklyrics" or whatever, nothing happens...totally nothing...no window opens, no crash...it just goes on as if i didnt do anything..

what did i do wrong?^^
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-09-27 18:15:45
Hi there guys,

i have installed the newest version of the lyricsgrabber 2 (0.5.5.2. beta) in my portable foobar 1.1 version (via the preferences - components - install-thingy) but i cant update any of my lyrics.

when i right click on any song and go lyricsgrabber and do "search all" "darklyrics" or whatever, nothing happens...totally nothing...no window opens, no crash...it just goes on as if i didnt do anything..

what did i do wrong?^^


Check if there is an empty <lyrics> tag in the song. That is the only case I can imagine when this happenes.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: phantagor on 2010-09-27 20:03:19
ah yeah..that was the problem....lyricsvip.com was in the lyrics tag^^


thx ^^
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2010-09-27 20:08:40
ah yeah..that was the problem....lyricsvip.com was in the lyrics tag^^


thx ^^


That was probably an old problem with Lyricsplugin.
Glad I could be of help
Title: Lyricsgrabber2 Feedback & Discussion
Post by: bigglerest on 2010-10-27 17:05:50
I just found this plugin - this is great!

However, I get a strange error occasionally.  Upon completion of a search, for some files that report "success", I get "Could not update tags (Unsupported format or corrupted file)" when I try to update the tag.  The file seems fine in every way and not actually corrupted.  This seems to occur just on some of my FLAC files - maybe on 5% of them.    I've successfully run this plugin on many mp3 and flac files, and for the flac files on which I get the error, the mp3 version of the song updates successfully.

Anyone have any idea what is happening?  Thanks!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Der Internet on 2010-10-29 00:30:50
@bigglerest
i have the same "problem", but just with MP3-Files. it says "Could not update tags (Sharing violation) on:" but all files seems to work proper and the lyrics are saved, too.

Another bug i have sometimes on just a few files..maybe 1 out of 10.000 that the search stops and i cannot abort or do anything... is this a know bug? i could upload some of these files somewhere to the creepy world wibe web
Title: Lyricsgrabber2 Feedback & Discussion
Post by: bigglerest on 2010-10-29 13:33:24
I found that if you re-run the plugin again on the failed files, you can usually get it to work - try several times.  I think both my and your errors are stability issues with the plugin. 

This is still the best lyrics tool I've seen, but I found you shouldn't run it on too many files at once (maybe 100 or so maximum), because it does tend to crash.  I hope someone continues to develop it or something like it!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Der Internet on 2010-10-29 14:48:52
rescan wont work :/

i scan file amounts larger than 5000 files  i usually mark a letter in the file browser and part them in 5 packages, so the search goes 5 times faster i guess. Never experienced a crash @ large scans. Just on the few files which seems to be broken...and a stream-rebuild wont work
Title: Lyricsgrabber2 Feedback & Discussion
Post by: n0thng2bd0ne on 2010-11-08 22:29:58
thanks for this plugin. using the latest version, and have an issue:

preferences-quiet mode
it looks like this preference isn't saved after a restart.  have to recheck it each time.  can anyone confirm?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: n0thng2bd0ne on 2010-11-13 19:22:12
1 i do get crashes on large scans
2 when lookup fails, console stops updating
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Yaroxx on 2010-12-02 20:53:41
1 i do get crashes on large scans
2 when lookup fails, console stops updating

i have the same issue
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hayden54 on 2010-12-05 06:46:09
Thanks for updating this great plugin!

Slightly unrelated question.....what are people using to view their lyrics?
uie_lyrics2 is still labelled as crashware, and other solutions (e.g. item details on columnsUI) don't scroll automatically.
Any other plugins i should try out?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: n0thng2bd0ne on 2010-12-05 13:12:30
Thanks for updating this great plugin!

Slightly unrelated question.....what are people using to view their lyrics?
uie_lyrics2 is still labelled as crashware, and other solutions (e.g. item details on columnsUI) don't scroll automatically.
Any other plugins i should try out?


foo_textdisplay
http://www.hydrogenaudio.org/forums/index....showtopic=64478 (http://www.hydrogenaudio.org/forums/index.php?showtopic=64478)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Hayden54 on 2010-12-06 03:54:07
foo_textdisplay
http://www.hydrogenaudio.org/forums/index....showtopic=64478 (http://www.hydrogenaudio.org/forums/index.php?showtopic=64478)


I'm using Columns UI, so textdisplay doesn't work with that.
I guess foo_uie_lyrics2 is the only real option for scrolling lyrics
Title: Lyricsgrabber2 Feedback & Discussion
Post by: samat on 2010-12-09 10:19:53
Hello!
I have a new album in cue+flac and I cant create lyrics tag for songs in it.
Lyrics grabber also can't.
Is it impossible by design of cue files or is this a bug?
P.S. I can change tags that are present already, but cant add new.
Thank you!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: n0thng2bd0ne on 2010-12-09 14:22:42
Hello!
I have a new album in cue+flac and I cant create lyrics tag for songs in it.
Lyrics grabber also can't.
Is it impossible by design of cue files or is this a bug?
P.S. I can change tags that are present already, but cant add new.
Thank you!


i think you need to use the masstagger component to create new fields
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2010-12-19 15:36:26
Darklyrics isn't working, haven't worked in a while. Any lyrics search returns as 'Failed'.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: doanxem on 2011-01-01 04:12:43
Darklyrics isn't working, haven't worked in a while. Any lyrics search returns as 'Failed'.

me too,plz tell my why??and biograp too,not search ...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Cantello on 2011-01-12 16:05:37
I have the same problem as bigglerest:

However, I get a strange error occasionally.  Upon completion of a search, for some files that report "success", I get "Could not update tags (Unsupported format or corrupted file)" when I try to update the tag.  The file seems fine in every way and not actually corrupted.  This seems to occur just on some of my FLAC files - maybe on 5% of them.    I've successfully run this plugin on many mp3 and flac files, and for the flac files on which I get the error, the mp3 version of the song updates successfully.


However, for my it occurs with MP3s as well and the files are otherwise normal, playable and the tags are editable (id3v2.3 for iTunes compatability).

Any ideas what could wrong with these files?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lavacano201014 on 2011-01-18 14:38:58
I get crashes if I try to tell it to fetch lyrics for most/all of my collection.

From the recent events, it gets to about "Fl", then reaches a timeout and goes "kersplat". I get some interesting character spam though, and some "Unable to reach host" errors - possibly a bug with my MP3 files, checking now...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: FelixIvory on 2011-01-22 15:08:52
I use some old scripts from Lyricsgrabber 1 and they work well. But I can't use any scripts from the lastest one. The default datebases can't work,too.
this is one script from the old one which can work well:
# -*- coding: utf-8 -*-
import encodings.utf_8
import math
import urllib, urllib2
import random
import unicodedata
from xml.dom import minidom
from LevenshteinDistance import LevenshteinDistance
from grabber import LyricProviderBase


class TTPlayerCNC(LyricProviderBase):
    def GetName(self):
        return "千千静听(LRC)"
   
    def GetDescription(self):
        return "从千千静听服务器下载歌词(LRC)"

    def GetURL(self):
        return "http://www.ttplayer.com"

    def GetVersion(self):
        return "0.3"

    def Query(self, handles, status, abort):
        result = []

        for handle in handles:
            status.Advance()

            if abort.Aborting():
                return result

            try:
                artist = handle.Format("[%artist%]")
                title = handle.Format("[%title%]")
                s = urllib.urlopen("http://lrccnc.ttplayer.com/dll/lyricsvr.dll?sh?Artist=%s&Title=%s&Flags=0" % (self.ToQianQianHexString(artist), self.ToQianQianHexString(title))).read()
                doc = minidom.parseString(s)
                m = 0xFFFFFFFFFFFFFFFF
                best = None
               
                for e in doc.getElementsByTagName("lrc"):
                    i = LevenshteinDistance(artist, e.getAttribute("artist")) + LevenshteinDistance(title, e.getAttribute("title"))
                   
                    if m > i:
                        m = i
                        best = e.getAttribute("id"), e.getAttribute("artist"), e.getAttribute("title")

                if best == None:
                    result.append('')
                    continue
               
                Id, artist, title = best
                code = self.CreateQianQianCode(Id, artist, title)
                txheaders =  {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'}
                req = urllib2.Request("http://lrccnc.ttplayer.com/dll/lyricsvr.dll?dl?Id=%s&Code=%s&uid=01&mac=%012x" % (Id, code, random.randint(0,0xFFFFFFFFFFFF)), None, txheaders)
                lyric = urllib2.urlopen(req).read()
               
                if lyric.find("Search ID or Code error!") >= 0:
                    result.append('')
                    continue
                else:
                    result.append(lyric)
            except Exception, e:
                traceback.print_exc(file=sys.stdout)
                result.append('')
                continue

        return result

    def RemoveAccents(self, str):
        nfkd_string = unicodedata.normalize('NFKD', unicode(str))
        return u"".join([c for c in nfkd_string if not unicodedata.combining©])

    def ToHexStringUnicode(self, string):
       s = self.RemoveAccents(string)
        s = s.lower()
        print s.encode('utf_8')
        for c in " ,./<>?`~!@#$%^&*()-_=+\\|[]{};':\"":
            s = s.replace(c, '')
        tmp = ''
        for c in s:
            dec = ord©
            tmp += "%02X" % (dec & 0xff)
            tmp += "%02X" % (dec >> 8)
        return tmp

    def ToHexString(self, string):
        #s = string.lower()
        #s = s.replace(' ', '')
        #s = s.replace("'", '')
        tmp = ''
        for c in string:
            tmp += "%02X" % ord©
        return tmp

    def ToQianQianHexString(self, string, RequireConvertToUnicode = True):
        if RequireConvertToUnicode:
            return self.ToHexStringUnicode(unicode(string, 'utf_8'))
        else:
            return self.ToHexString(string.encode('utf_8'))

    def Conv(self, i):
        r = 0
        r = i % 4294967296
        if (i >= 0 and r > 2147483648):
            r -= 4294967296
        elif (i < 0 and r < 2147483648):
            r += 4294967296
        return r

    def CreateQianQianCode(self, lrcId, artist, title):
        lrcId = int(lrcId)
        ttstr = self.ToQianQianHexString(artist + title, False)
        length = len(ttstr) >> 1
        song = []

        for i in xrange(length):
            song.append(int(ttstr[i*2:i*2+2], 16))
        t1 = 0
        t2 = 0
        t3 = 0
        t1 = (lrcId & 0x0000FF00) >> 8
        if (lrcId & 0x00FF0000) == 0:
            t3 = 0x000000FF & ~t1
        else:
            t3 = 0x000000FF & ((lrcId & 0x00FF0000) >> 16)

        t3 |= (0x000000FF & lrcId) << 8
        t3 <<= 8
        t3 |= 0x000000FF & t1
        t3 <<= 8

        if (lrcId & 0xFF000000) == 0:
            t3 |= 0x000000FF & (~lrcId)
        else:
            t3 |= 0x000000FF & (lrcId >> 24)

        j = length - 1
       
        while j >= 0:
            c = song[j]
            if c >= 0x80:
                c -= 0x100
            t1 = (c + t2) & 0xFFFFFFFF
            t2 = (t2 << (j % 2 + 4)) & 0xFFFFFFFF
            t2 = (t1 + t2) & 0xFFFFFFFF
            j -= 1

        j = 0
        t1 = 0

        while j <= length - 1:
            c = song[j]
            if c >= 0x80:
                c -= 0x100
            t4 = (c + t1) & 0xFFFFFFFF
            t1 = (t1 << (j % 2 + 3)) & 0xFFFFFFFF
            t1 = (t1 + t4) & 0xFFFFFFFF
            j += 1

        t5 = 0
        t5 = self.Conv(t2 ^ t3)
        t5 = self.Conv(t5 + (t1 | lrcId))
        t5 = self.Conv(t5 * (t1 | t3))
        t5 = self.Conv(t5 * (t2 ^ lrcId))
       
        if (t5 > 2147483648):
            t5 -= 4294967296
        return str(t5 & 0xFFFFFFFF)

if __name__ == "__main__":
    LyricProviderInstance = TTPlayerCNC()
Title: Lyricsgrabber2 Feedback & Discussion
Post by: grymie on 2011-01-30 17:23:11
Hi,
nice plugin, but i get crashes on lage scans too.

And foobar 1.1.2 reproducible crashes when using Lyricsgrabber2 on a track with no title-tag.
Tested on my normal installation and an freshly installed portable one on another computer, just standard components and Lyricsgrabber2.

I used 2 copys of a mp3-file.
First correctly taged: Lyrics found and written.
Second without %title% -> crash [1]

Crashreport:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 5ABFAD00h
Access violation, operation: read, address: 00000000h

Call path:
threaded_process thread=>lyric_lookup_task::run=>lookup=>provider_searchall::lookup=>provider_lyrdb::lookup_one

Code bytes (5ABFAD00h):
5ABFACC0h:  5A B8 78 DA C9 5A C3 CC CC CC CC CC CC CC CC CC
5ABFACD0h:  B8 01 00 00 00 C3 CC CC CC CC CC CC CC CC CC CC
5ABFACE0h:  8B 09 85 C9 74 06 8B 01 8B 10 FF E2 C3 CC CC CC
5ABFACF0h:  55 8B 6C 24 0C 56 8B C5 57 8D 50 01 8D 64 24 00
5ABFAD00h:  8A 08 40 84 C9 75 F9 8B 7C 24 10 2B C2 8B F0 53
5ABFAD10h:  83 C7 04 8D 5E 01 8B C7 E8 93 E0 00 00 8B 07 5B
5ABFAD20h:  85 F6 76 17 8B CD 2B C8 8B EE 8D 9B 00 00 00 00
5ABFAD30h:  8A 14 01 88 10 40 83 ED 01 75 F5 8B 44 24 10 8B

Stack (044FF448h):
044FF428h:  807C2120 00000000 FFFFFD34 000002E4
044FF438h:  FFFFFD34 000002CC 00000018 00000000
044FF448h:  FFFFFFFF 00000000 044FF6E8 5ABF66E6
044FF458h:  044FF5E0 00000000 A91E77E8 02439428
044FF468h:  00000000 00000003 00000000 00000000
044FF478h:  00000000 00000003 5AC8CFB4 5AC8CDA0
044FF488h:  00000000 00000000 00000000 00000000
044FF498h:  5AC8CDA0 00000000 00000000 00000000
044FF4A8h:  00000000 5AC8CDA0 00000000 00000000
044FF4B8h:  00000000 00000000 5AC8CDA0 00000000
044FF4C8h:  00000000 00000000 00000000 5AC8CDA0
044FF4D8h:  00000000 00000000 00000000 00000000
044FF4E8h:  5AC8CDA0 00000000 00000000 00000000
044FF4F8h:  00000000 5AC8CFB4 00000000 00000000
044FF508h:  00000000 00000000 00000000 00000000
044FF518h:  00000000 00000000 00000000 00000000
044FF528h:  00000000 00000000 00000000 00000000
044FF538h:  00000000 00000000 00000000 00000000
044FF548h:  00000000 00000000 00000000 00000000
044FF558h:  00000000 00000000 00000000 00000000

Registers:
EAX: 00000000, EBX: 00000000, ECX: 044FF5E0, EDX: 00000001
ESI: 00000000, EDI: FFFFFFFF, EBP: 00000000, ESP: 044FF448

Crash location:
Module: foo_lyricsgrabber2
Offset: AD00h

Loaded modules:
foobar2000                       loaded at 00240000h - 00430000h
ntdll                            loaded at 77050000h - 7718C000h
kernel32                         loaded at 76CE0000h - 76DB4000h
KERNELBASE                       loaded at 75250000h - 7529A000h
COMCTL32                         loaded at 740F0000h - 7428E000h
msvcrt                           loaded at 76930000h - 769DC000h
GDI32                            loaded at 76520000h - 7656E000h
USER32                           loaded at 756C0000h - 75789000h
LPK                              loaded at 77190000h - 7719A000h
USP10                            loaded at 76670000h - 7670D000h
SHLWAPI                          loaded at 754B0000h - 75507000h
DSOUND                           loaded at 5ADD0000h - 5AE42000h
ADVAPI32                         loaded at 76C40000h - 76CE0000h
sechost                          loaded at 76910000h - 76929000h
RPCRT4                           loaded at 76470000h - 76511000h
ole32                            loaded at 76EF0000h - 7704C000h
WINMM                            loaded at 712A0000h - 712D2000h
POWRPROF                         loaded at 746F0000h - 74715000h
SETUPAPI                         loaded at 75510000h - 756AD000h
CFGMGR32                         loaded at 75350000h - 75377000h
OLEAUT32                         loaded at 769E0000h - 76A6F000h
DEVOBJ                           loaded at 75330000h - 75342000h
UxTheme                          loaded at 73F70000h - 73FB0000h
SHELL32                          loaded at 75790000h - 763D9000h
zlib1                            loaded at 5A4C0000h - 5A4D4000h
shared                           loaded at 5F9F0000h - 5FA1B000h
imagehlp                         loaded at 77250000h - 7727A000h
dbghelp                          loaded at 6B710000h - 6B7FB000h
COMDLG32                         loaded at 763E0000h - 7645B000h
Secur32                          loaded at 75090000h - 75098000h
SSPICLI                          loaded at 750B0000h - 750CA000h
CRYPT32                          loaded at 75380000h - 7549C000h
MSASN1                           loaded at 75210000h - 7521C000h
gdiplus                          loaded at 73DE0000h - 73F70000h
IMM32                            loaded at 771A0000h - 771BF000h
MSCTF                            loaded at 76E20000h - 76EEC000h
TfWah                            loaded at 10000000h - 10074000h
WS2_32                           loaded at 76C00000h - 76C35000h
NSI                              loaded at 756B0000h - 756B6000h
CRYPTBASE                        loaded at 75120000h - 7512C000h
CLBCatQ                          loaded at 771C0000h - 77243000h
MMDevApi                         loaded at 73C60000h - 73C99000h
PROPSYS                          loaded at 73FB0000h - 740A5000h
dwmapi                           loaded at 73C40000h - 73C53000h
foo_ui_std                       loaded at 5ACB0000h - 5ADC8000h
MSIMG32                          loaded at 73700000h - 73705000h
foo_lyricsgrabber2               loaded at 5ABF0000h - 5ACAC000h
WLDAP32                          loaded at 76A70000h - 76AB5000h
python25                         loaded at 1E000000h - 1E208000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_input_std                    loaded at 5AA90000h - 5ABE5000h
foo_albumlist                    loaded at 5F990000h - 5F9ED000h
AUDIOSES                         loaded at 6D740000h - 6D776000h
_socket                          loaded at 02AE0000h - 02AED000h
CRYPTSP                          loaded at 74C20000h - 74C36000h
rsaenh                           loaded at 749B0000h - 749EB000h
RpcRtRemote                      loaded at 75190000h - 7519E000h
explorerframe                    loaded at 6FFE0000h - 7014F000h
DUser                            loaded at 73CF0000h - 73D1F000h
DUI70                            loaded at 73D20000h - 73DD2000h
mswsock                          loaded at 74BE0000h - 74C1C000h
wshtcpip                         loaded at 74730000h - 74735000h

Stack dump analysis:
Address: 5ABF66E6h (foo_lyricsgrabber2+66E6h)
Address: 5AC8CFB4h (foo_lyricsgrabber2+9CFB4h), symbol: "curl_formget" (+45284h)
Address: 5AC8CDA0h (foo_lyricsgrabber2+9CDA0h), symbol: "curl_formget" (+45070h)
Address: 5AC8CDA0h (foo_lyricsgrabber2+9CDA0h), symbol: "curl_formget" (+45070h)
Address: 5AC8CDA0h (foo_lyricsgrabber2+9CDA0h), symbol: "curl_formget" (+45070h)
Address: 5AC8CDA0h (foo_lyricsgrabber2+9CDA0h), symbol: "curl_formget" (+45070h)
Address: 5AC8CDA0h (foo_lyricsgrabber2+9CDA0h), symbol: "curl_formget" (+45070h)
Address: 5AC8CDA0h (foo_lyricsgrabber2+9CDA0h), symbol: "curl_formget" (+45070h)
Address: 5AC8CFB4h (foo_lyricsgrabber2+9CFB4h), symbol: "curl_formget" (+45284h)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CFB4h (foo_lyricsgrabber2+9CFB4h), symbol: "curl_formget" (+45284h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 003E5B40h (foobar2000+1A5B40h)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 5AC8CFB4h (foo_lyricsgrabber2+9CFB4h), symbol: "curl_formget" (+45284h)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 003E5B40h (foobar2000+1A5B40h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC8CFB4h (foo_lyricsgrabber2+9CFB4h), symbol: "curl_formget" (+45284h)
Address: 5AC8044Ah (foo_lyricsgrabber2+9044Ah), symbol: "curl_formget" (+3871Ah)
Address: 5AC8E678h (foo_lyricsgrabber2+9E678h), symbol: "curl_formget" (+46948h)
Address: 770A22AEh (ntdll+522AEh), symbol: "RtlAllocateHeap" (+211h)
Address: 770A2149h (ntdll+52149h), symbol: "RtlAllocateHeap" (+ACh)
Address: 770A209Dh (ntdll+5209Dh), symbol: "RtlAllocateHeap" (+0h)
Address: 0024E6D5h (foobar2000+E6D5h)
Address: 00378B3Dh (foobar2000+138B3Dh)
Address: 00272E00h (foobar2000+32E00h)
Address: 770A1FAFh (ntdll+51FAFh), symbol: "RtlFreeHeap" (+7Eh)
Address: 76D2F1CCh (kernel32+4F1CCh), symbol: "HeapFree" (+14h)
Address: 5AC5D3DAh (foo_lyricsgrabber2+6D3DAh), symbol: "curl_formget" (+156AAh)
Address: 5AC5D3F9h (foo_lyricsgrabber2+6D3F9h), symbol: "curl_formget" (+156C9h)
Address: 5ABF1C26h (foo_lyricsgrabber2+1C26h)
Address: 5F9F2826h (shared+2826h), symbol: "uCallStackTracker::~uCallStackTracker" (+0h)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 5AC8CD00h (foo_lyricsgrabber2+9CD00h), symbol: "curl_formget" (+44FD0h)
Address: 5AC7FB41h (foo_lyricsgrabber2+8FB41h), symbol: "curl_formget" (+37E11h)
Address: 5AC9D854h (foo_lyricsgrabber2+AD854h), symbol: "curl_formget" (+55B24h)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 5AC8D11Ch (foo_lyricsgrabber2+9D11Ch), symbol: "curl_formget" (+453ECh)
Address: 5AC8D020h (foo_lyricsgrabber2+9D020h), symbol: "curl_formget" (+452F0h)
Address: 5AC8DF60h (foo_lyricsgrabber2+9DF60h), symbol: "curl_formget" (+46230h)
Address: 5F9F27EDh (shared+27EDh), symbol: "uCallStackTracker::uCallStackTracker" (+0h)
Address: 5AC14F4Bh (foo_lyricsgrabber2+24F4Bh), symbol: "initgrabber" (+4CBBh)
Address: 5AC7DF12h (foo_lyricsgrabber2+8DF12h), symbol: "curl_formget" (+361E2h)
Address: 0031CB56h (foobar2000+DCB56h)
Address: 5F9F27D8h (shared+27D8h), symbol: "uPrintCrashInfo_OnEvent" (+B1h)
Address: 003B9C78h (foobar2000+179C78h)
Address: 0038D4E8h (foobar2000+14D4E8h)
Address: 0031CAE7h (foobar2000+DCAE7h)
Address: 0038A3F9h (foobar2000+14A3F9h)
Address: 76D31194h (kernel32+51194h), symbol: "BaseThreadInitThunk" (+12h)
Address: 770AB3F5h (ntdll+5B3F5h), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 73F569E5h (gdiplus+1769E5h), symbol: "GdipCreateSolidFill" (+12F994h)
Address: 76D42B55h (kernel32+62B55h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 76D42B55h (kernel32+62B55h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 7706D74Dh (ntdll+1D74Dh), symbol: "RtlAddMandatoryAce" (+5B1h)
Address: 770AB3C8h (ntdll+5B3C8h), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 0031CAB0h (foobar2000+DCAB0h)
Address: 0031CAB0h (foobar2000+DCAB0h)

Environment:
App: foobar2000 v1.1.2
OS: Windows 6.1.7600 x86
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+, features: 3DNow!ex MMX SSE SSE2 SSE3
Audio: Lautsprecher (Realtek AC'97 Audio); Realtek Digital Output (Realtek AC'97 Audio)
UI: Default User Interface 0.9.5

Components:
Core (2011-01-22 00:03:02 UTC)
    foobar2000 core 1.1.2
foo_albumlist.dll (2011-01-22 00:01:28 UTC)
    Album List 4.5
foo_input_std.dll (2011-01-22 00:00:58 UTC)
    Standard Input Array 1.0
foo_lyricsgrabber2.dll (2011-01-30 16:56:41 UTC)
    Lyrics Grabber 2 0.5.5.2 beta
foo_ui_std.dll (2011-01-22 00:00:58 UTC)
    Default User Interface 0.9.5

Recent events:
Album List refreshed in: 0:00.000453
Startup time : 0:00.186510
Properties dialog refresh: 0:00.000074
Properties dialog display refresh: 0:00.002266
Properties dialog refresh: 0:00.001393
Properties dialog display refresh: 0:00.009907



Bye, Grymie

Title: Lyricsgrabber2 Feedback & Discussion
Post by: foolver on 2011-02-15 21:42:52
hi. appreciate the work on this plugin!

just one discrepancy i'd like to report. while fetching lyrics from lyricdb, it adds extra space after every line, and if there's already a space present, it results in a double space. this doesn't happen when i use lyricwiki for example, however, a lot of lyrics there tend to be unavailable, so you would only get "we are not licensed to display blablahblah", therefore i need to use lyricdb.


also, a heads up information for other users, you might want to check your files, especially if you mass tag files with lyricwiki, if you do a search through your lyrics for "licensed to dispay full lyrics" you'll find a lot of files with only a small part of lyrics, or even none.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Triple Sick on 2011-02-21 00:01:20
So how do you guys display your lyrics in foobar?

I tried the "Item Details" panel, but it formats the lyrics with really large line spacing.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: crazyneo on 2011-03-01 23:56:28
Is there any way to make it search automatically without navigating the menu? Like, just automatically checking if the <LYRICS> field is present, and if not query the databases in the background?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Siong90 on 2011-03-16 21:37:07
Am I doing something wrong? I can't seem to search for chinese songs' lyrics. Please Help. Thanks in advanced.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: vujo55 on 2011-03-21 11:24:39
strange,

every time i restarted or starting again foobar2k  i lose "quiet mode" setting for lyricsgrabber2
i have darkone v.3 skin but it's same with default standard UI
any solution?

tnx in advance
Title: Lyricsgrabber2 Feedback & Discussion
Post by: vujo55 on 2011-03-21 11:29:35
thanks for this plugin. using the latest version, and have an issue:

preferences-quiet mode
it looks like this preference isn't saved after a restart.  have to recheck it each time.  can anyone confirm?


same with me
please, mail or replay if you find a soultion
Title: Lyricsgrabber2 Feedback & Discussion
Post by: hal9001 on 2011-03-26 03:24:37
Hi.
Could you please add another source: http://www.shiron.net/ (http://www.shiron.net/)
(Hebrew)

As far as I can see the search string is http://www.shiron.net/searchSongs?q=%s&type=lyrics (http://www.shiron.net/searchSongs?q=%s&type=lyrics) (%s is the search string, naturally).
Thanks.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: s01ipsist on 2011-04-23 00:47:17
What is the rationale behind having LYRICS as the default lyric field ID3 tag?

All the default lyrics providers return UNSYNCED LYRICS as specified by the Foobar and ID3 standards.
http://wiki.hydrogenaudio.org/index.php?ti...ID3_Tag_Mapping (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:ID3_Tag_Mapping)
http://www.id3.org/id3v2.3.0 (http://www.id3.org/id3v2.3.0)

Wouldn't it make more sense to have UNSYNCED LYRICS as the default tag?


One small different suggestion.
The "Skip tracks which contain lyric field already" is wonderful when bulk loading lyrics. Occasionally I want to re-search for lyrics for one particular track. Currently I would have to delete the lyrics tag to try again. How about, if you call lyricsgrabber with just one track, the "Skip tracks..." checkbox is ignored? This would still seem a sensible intuitive interface.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Kougeru on 2011-04-28 21:09:14
is it possible to add a custom provider? very few of my foreign songs are getting results on the current providers


edit: and while im here I thought I'd ask.....I have songs that have no lyric metatag but still contain lyrics. How is this possible? Where are the lyrics stored for these songs? (lyrics came WITH the song when I dled them)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: seNes on 2011-06-11 23:08:08
Great plugin, appreciated.

However LyricWiki lyrics with Gracenote fails. Like this one (http://lyrics.wikia.com/Gracenote:Corroded:Leave_Me_Alone)

Possibly because of the "Gracenote:%artist%:%song%" url?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: godrick on 2011-06-22 15:49:20
With the lastest version of Foobar and components, this now only writes lyrics to a blank tag for me (it used to write to my specified tags just fine).  Reinstalls of all did nothing to address the issue.

Anyone else expereince this, and if so, did you find a fix or workaround?  thanks
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Shemuel on 2011-07-01 11:59:16
So how do you guys display your lyrics in foobar?

I tried the "Item Details" panel, but it formats the lyrics with really large line spacing.

Sometimes there does seem to be double spacing, probably from the source. I find the spacing disappears when I copy the lyrics into a word processor and then copy back.

Item details is the easiest, but you can apparently modify biography panel to display lyrics.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: orchid on 2011-07-01 13:00:47
Item details is the easiest, but you can apparently modify biography panel to display lyrics.


I recommend Br3tt's lyrics script (http://pastebin.com/eVfJ2Ss8). Just copy/paste or import it into a wsh panel mod window (untick safe mode from wsh panel preferences).
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Dexter_prog on 2011-07-26 19:29:49
Darklyrics isn't working, haven't worked in a while. Any lyrics search returns as 'Failed'.

I wonder if they are ever gonna fix that
Title: Lyricsgrabber2 Feedback & Discussion
Post by: JJForums on 2011-08-04 20:17:33
I don't know how to use it, I installed it, how do I put it in my layout?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Erich_2 on 2011-08-04 20:49:05
I don't know how to use it, I installed it, how do I put it in my layout?

See Post #1:

Instructions:
Right-Click a song and choose in the menu "Lyrics Grabber" the provider to download the lyrics from.

Layout (DUI) with foo_textdisplay (=static, no scrolling) and %lyrics% 
Title: Lyricsgrabber2 Feedback & Discussion
Post by: JJForums on 2011-08-06 22:26:16
I see now, but it do not download synced lyrics...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: fobside on 2011-08-15 00:38:43
Every query I've attempted has given me the "failed" status.  Any ideas on what I may have done wrong?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: lokioki on 2011-08-18 13:31:20
Is there any alternative plug-in for fetching lyrics ? just need a similar plugin, simple one, which just fetches the lyrics and saves them to id3-tags, but this keeps crashing foobar all the time.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: db1989 on 2011-08-18 14:11:31
You might find useful this recent thread on the same question: Reliable/stable lyrics plugin (http://www.hydrogenaudio.org/forums/index.php?showtopic=88773), and there may be others discoverable via a search.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: Vittorio on 2011-08-18 22:33:16
Hi, I always get a "Failed" message on the Dark Lyrics search, but when checking the website manually all the lyrics I've searched for are there.
I also tried an older version of the Dark Lyrics Script from this site: lyricsgrabber google code page (http://code.google.com/p/lyricsgrabber/source/browse/trunk/foo_grabber_python/dist/grabber_python/DarkLyrics.py?r=42) but on some (/most) tracks I also get the "Failed" message.

Is there any newer version of this script or will there be some bugfixes in Lyricsgrabber 2 ?

Besides, many lyrics can not be found because of some reasons, e.g.:
- track is listed under different name on the site
- ID3 has typos

I think this should be considered in future releases
Title: Lyricsgrabber2 Feedback & Discussion
Post by: q-stankovic on 2011-08-18 23:02:16
Is there any newer version of this script or will there be some bugfixes in Lyricsgrabber 2 ?
As Qudeid started with his work on this mod of lyricsgrabber he also had announced that he won't have time when his first job starts. So the answer is "no" as long as nobody picks up the available source. I like this component and its easy-to-use concept so it would be a shame if that component dies.

Title: Lyricsgrabber2 Feedback & Discussion
Post by: Qudeid on 2012-09-18 15:39:12
Thanks Stankovic for clarifying that in my name,

and my sincere apologies for all who like this plugin. I still use it myself and am also annoyed if something isn't working right.

The problem is, besides the time issue, that I can't get the sources to compile, as I didn't make any notes on what dependencies I need or how they are to be compiled. And trust me, this is also really annoying for me.
As I am mainly a C# developer and until I find the time to look into foobar plugin development again, if ever possible, I am currently considering a standalone application, where you can drag/drop your music (even folders) and search for lyrics like this. This is a lot easier for me to develop and a whole lot less time consuming so I am able to do this in my free time. (I'm currently looking into the specifications of Tags, like ID3/FLAC/APE so I can add Lyrics to them.)
I'm also considering some kind of API to give the ability to develop "plug-ins" (rather additions) to the application so that other lyrics websites can be easily scanned for lyrics.

But, as already mentioned, it is a project I do on my own free time so no promises made as I am currently a full employee. Also I am aware that this isn't as easy to use like the context menu in foobar.. BUT, maybe I add a command line usage possibility so that someone who has more experience in C++ and Foobar Plugin development can just send the files over to my application.

Yet again, I am really sorry I couldn't fix those bugs and wasn't able to respond for most of the passed time.

Greetings,

Qudeid

PS: if someone should consider fixing those bugs etc. Please contact me here or via PN. I will gladly add you to the google code project!
Title: Lyricsgrabber2 Feedback & Discussion
Post by: dag0 on 2013-01-19 18:08:47
the usage is simple, when putting a button to the button-bar as I did. Mark tracks or album(s), klick button. If you want use "silent mode".

I first installed "lyrics grabber" plus "lyrics grabber2" it kept crashing. I removed both installed only "lyrics grabber2" just today and it seems to work (knock on wood...)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: mire777 on 2013-03-21 23:15:47
works well for me, but is it possible to get synced lyrics?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: WilB on 2013-03-21 23:48:05
No, not with lyricsgrabber2  - you would need to use foo_uie_lyrics3. If you particularly wanted the batch facility lyricsgrabber2 offered then I afraid that's not currently available as such in foo_uie_lyrics3 but there are workarounds with foo_uie_lyrics3. See:
http://www.hydrogenaudio.org/forums/index....st&p=783626 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=90338&view=findpost&p=783626)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: romor on 2013-03-22 13:38:37
For reference, timestamped lyrics in lyrics3 plugin are:

Timestamped1 = Cicyzone
Timestamped2 = TTPlayer
Timestamped3 = MiniLyrics

Resource 1 doesn't seem to work here, while resource 2 is available in Lyrics grabber as last entry in 'scripts' context menu.

Now resource 3, or MiniLyrics, with no comments by vern, uses exotic feature of HTTP 1.1 server that's not implemented in Python HTTP library and is not doable w/o additional module.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: mire777 on 2013-03-22 14:43:24
No, not with lyricsgrabber2  - you would need to use foo_uie_lyrics3. If you particularly wanted the batch facility lyricsgrabber2 offered then I afraid that's not currently available as such in foo_uie_lyrics3 but there are workarounds with foo_uie_lyrics3. See:
http://www.hydrogenaudio.org/forums/index....st&p=783626 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=90338&view=findpost&p=783626)


Thank's script works great.That's what I wanted...
Only one problem, you have to wait some seconds if you don't find lyrics, (10 sec to me).
It would be good if there is a possibility to write something like this :

if( fb.TitleFormat(''%search_progress%).Eval() ''then wait until End''.

Else

if( fb.TitleFormat( "%lyric_exists%" ).Eval() )
          fb.Next();

I don't know how to write this...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: WilB on 2013-03-22 21:31:00
I had a quick look. As far as I can tell, %search_progress% and %search_state% are not globally provided by lyrics3 and are only available within lyrics3, so unfortunately I do not believe you can do what you suggest - but it was a nice idea.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: mire777 on 2013-03-23 12:14:19
Thanks i did all the songs now, i had some 7000 without lyrics. and this also work ok...
Title: Lyricsgrabber2 Feedback & Discussion
Post by: onanboy on 2015-04-10 21:15:00
I realize that this is an old thread and a somewhat dead component but I want to ask anyway.

About a year ago maybe (?) I started to get the following added to all lyrics that I downloaded from LyricWiki using Lyricgrabber2:

Code: [Select]
');var c=function(){cf.showAsyncAd(opts)};if(window.cf)c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tonefuse.com/showads/showad.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)};}})();

I would guess that something about the LyricWiki site changed enough to make some puncuation of the LyricWiki script that the grabber used to be wrong.  Since then, whenever I download lyrics from there I have to manually remove the above manually.  I know, tough cookies. 

I tried to figure out where the script was to see if I could modify it myself. I failed.

Anyone run into this?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: klonuo on 2015-04-10 22:31:56
It seems like pity that no one cares to link this plugin against Python 2.7 (VS2008) as there won't be any 2.8.x or even better today to 3.4 (VS2010) because it's not just the lyrics, but anyone can automate filling of arbitrary tags. Although it still seems to work fine here as it is.

@onanboy, I can't help you, but your provider is built-in in component itself (I assume using it's API that is now changed). But you can make yourself lyricswiki scrapper with basic Python knowledge.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: loft on 2015-05-19 15:08:07
@onanboy, did you manage to solve this problem?
I am currently trying to look over the code and see if I can fix it. I am no Python expert (can't even call myself a programmer) but I'll give it a try.

PS: Din you manage somehow to sort the affected files. Because of the abundance of special characters in extra bad string, I didn't manage to evidentiate in the playlist the affected files.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: phot0nic on 2015-05-23 05:04:55
I realize that this is an old thread and a somewhat dead component but I want to ask anyway.

About a year ago maybe (?) I started to get the following added to all lyrics that I downloaded from LyricWiki using Lyricgrabber2:

[...]

I would guess that something about the LyricWiki site changed enough to make some puncuation of the LyricWiki script that the grabber used to be wrong.  Since then, whenever I download lyrics from there I have to manually remove the above manually.  I know, tough cookies. 

I tried to figure out where the script was to see if I could modify it myself. I failed.

Anyone run into this?

Yeah, LyricWiki changed something on their site a while ago, and the built-in scraper doesn't work anymore.  The great thing about this component is that it's compatible with external "scripts" so that it's easy to make/edit your own when sites change their code.  Here's a replacement LyricWiki script that works for me:

Code: [Select]
# -*- coding: utf-8 -*-
  import encodings.utf_8
  import urllib
  from xml.dom import minidom
  from LevenshteinDistance import LevenshteinDistance
  from unescape import unescape
  from grabber import LyricProviderBase
 
  class LyricWiki(LyricProviderBase):
      def GetName(self):
          return "LyricWiki"
     
      def GetVersion(self):
          return "1.0"
     
      def GetURL(self):
          return "[url=http://lyrics.wikia.com/]http://lyrics.wikia.com/[/url]"
     
      def Query(self, handles, status, abort):
          result = []
         
          for handle in handles:
              status.Advance()
             
              if abort.Aborting():
                  return result
             
              artist = handle.Format("[%artist%]")
              song = handle.Format("[%title%]")
             
              try:
                  string = urllib.urlopen("[url=http://lyrics.wikia.com/api.php?artist=%s&song=%s&fmt=xml]http://lyrics.wikia.com/api.php?artist=%s&...=%s&fmt=xml[/url]" % (urllib.quote(artist), urllib.quote(song))).read()
                  doc = minidom.parseString(string)
                  child = doc.getElementsByTagName("LyricsResult")[0]
                  url = child.getElementsByTagName("url")[0]
                  url = url.childNodes[0].data.encode('utf_8')               
                  found_artist = child.getElementsByTagName("artist")[0]
                  found_song = child.getElementsByTagName("song")[0]
                  found_artist = found_artist.childNodes[0].data.encode('utf_8')
                  found_song = found_song.childNodes[0].data.encode('utf_8')
                  artist = artist.lower()
                  song = song.lower()
                  found_artist = found_artist.lower()
                  found_song = found_song.lower()
                 
                  if (LevenshteinDistance(artist, found_artist) < 5) and (LevenshteinDistance(song, found_song) < 7):
                      string2 = urllib.urlopen(url).read()
                      start = string2.find("<div class=\'lyricbox") + 22
                      start = string2.find("</script>",start) + 9
                      end = string2.find("<!--", start)
                      lyric = string2[start:end].replace("
  ","\r\n").replace("<i>","").replace("</i>","")
                      lyric = unescape(lyric).encode('utf8')
                      if (lyric.find("<script>") == -1 and lyric.find("</noscript>") == -1 and lyric.find("Unfortunately, we are not licensed to display the full lyrics for this song at the moment") == -1):
                          result.append(lyric)
                      else: result.append('')
                  else: result.append('')
                     
 
              except:
                  traceback.print_exc(file=sys.stdout)
                  result.append('')
                  continue
         
          return result
 
  if __name__ == "__main__":
      LyricProviderInstance = LyricWiki()
 

You should just be able to save those contents into a *.py file and place it in your pygrabber\scripts directory.  You'll now have to access LyricWiki using the "scripts" submenu.

---

While typing up this response, I just noticed that copying and pasting from a codebox on this forum doesn't seem to retain the indentations, which will break the script.  I've uploaded the script code here:
http://codeviewer.org/view/code:5143 (http://codeviewer.org/view/code:5143)
Just use the dropdown in the upper-right to download the code with indentations intact.  Again, rename it to *.py and place it in the appropriate directory.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: onanboy on 2015-06-11 04:49:01
@onanboy, did you manage to solve this problem?
I am currently trying to look over the code and see if I can fix it. I am no Python expert (can't even call myself a programmer) but I'll give it a try.

PS: Din you manage somehow to sort the affected files. Because of the abundance of special characters in extra bad string, I didn't manage to evidentiate in the playlist the affected files.


No I haven't solved this yet. I want to try phot0nics script but when I copied the LyricWiki.py script to the proper folder it will not show up as one of the available scripts.  I restarted the program but did not reboot my computer yet. Maybe that will be next.

The affected files =  all files.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: onanboy on 2015-06-11 12:52:11
Got the file in the correct Scripts folder this time but when I go to refresh my list of scripts for LyricGrabber2 I get the following:

Code: [Select]
foo_grabber_python: Traceback (most recent call last):
  File "C:\Users\Gonzo\AppData\Roaming\foobar2000\user-components\foo_lyricsgrabber2\pygrabber\scripts\LyricWiki.py", line 6, in <module>
    from unescape import unescape
ImportError: No module named unescape


What should I do next?
Title: Lyricsgrabber2 Feedback & Discussion
Post by: onanboy on 2015-06-18 18:50:29
Got the file in the correct Scripts folder this time but when I go to refresh my list of scripts for LyricGrabber2 I get the following:

Code: [Select]
foo_grabber_python: Traceback (most recent call last):
  File "C:\Users\Gonzo\AppData\Roaming\foobar2000\user-components\foo_lyricsgrabber2\pygrabber\scripts\LyricWiki.py", line 6, in <module>
    from unescape import unescape
ImportError: No module named unescape


What should I do next?

It would load but not work it I removed the line about importing unescape.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: phot0nic on 2015-06-22 05:26:11
It would load but not work it I removed the line about importing unescape.

Sorry about that.  I thought the unescape function came with the component.  Here's the code for that function:
http://codeviewer.org/view/code:5289 (http://codeviewer.org/view/code:5289)

Save the code as unescape.py, and store it in your "C:\Users\Gonzo\AppData\Roaming\foobar2000\user-components\foo_lyricsgrabber2\pygrabber\system\" directory.

For future reference (in case the codeviewer link breaks), here's the unescape function:
Code: [Select]
import re, htmlentitydefs

##
# Removes HTML or XML character references and entities from a text string.
#
# @param text The HTML (or XML) source text.
# @return The plain text, as a Unicode string, if necessary.

def unescape(text):
    def fixup(m):
        text = m.group(0)
        if text[:2] == "&#":
            # character reference
            try:
                if text[:3] == "&#x":
                    return unichr(int(text[3:-1], 16))
                else:
                    return unichr(int(text[2:-1]))
            except ValueError:
                pass
        else:
            # named entity
            try:
                text = unichr(htmlentitydefs.name2codepoint[text[1:-1]])
            except KeyError:
                pass
        return text # leave as is
    return re.sub("&#?\w+;", fixup, text)


Title: Lyricsgrabber2 Feedback & Discussion
Post by: klonuo on 2015-06-22 08:15:32
There is no need for special function...

You can unescape html/xml entities with standard library:

Code: [Select]
import HTMLParser
escape = '&copy; %s666;' % '&#'  # complicated escape sting example because of the stupid code parser on this forum
print HTMLParser.HTMLParser().unescape(escape)
Title: Lyricsgrabber2 Feedback & Discussion
Post by: onanboy on 2015-06-22 12:46:34
It would load but not work it I removed the line about importing unescape.

Sorry about that.  I thought the unescape function came with the component.  Here's the code for that function:
http://codeviewer.org/view/code:5289 (http://codeviewer.org/view/code:5289)

Save the code as unescape.py, and store it in your "C:\Users\Gonzo\AppData\Roaming\foobar2000\user-components\foo_lyricsgrabber2\pygrabber\system\" directory.

For future reference (in case the codeviewer link breaks), here's the unescape function:
Code: [Select]
import re, htmlentitydefs

##
# Removes HTML or XML character references and entities from a text string.
#
# @param text The HTML (or XML) source text.
# @return The plain text, as a Unicode string, if necessary.

def unescape(text):
    def fixup(m):
        text = m.group(0)
        if text[:2] == "&#":
            # character reference
            try:
                if text[:3] == "&#x":
                    return unichr(int(text[3:-1], 16))
                else:
                    return unichr(int(text[2:-1]))
            except ValueError:
                pass
        else:
            # named entity
            try:
                text = unichr(htmlentitydefs.name2codepoint[text[1:-1]])
            except KeyError:
                pass
        return text # leave as is
    return re.sub("&#?\w+;", fixup, text)
  Thanks very much.

I will try it very soon.  Leaving on a business trip this morning but I am eager to try it.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: onanboy on 2015-06-30 12:41:01
It would load but not work it I removed the line about importing unescape.

Sorry about that.  I thought the unescape function came with the component.  Here's the code for that function:
http://codeviewer.org/view/code:5289 (http://codeviewer.org/view/code:5289)

Save the code as unescape.py, and store it in your "C:\Users\Gonzo\AppData\Roaming\foobar2000\user-components\foo_lyricsgrabber2\pygrabber\system\" directory.

For future reference (in case the codeviewer link breaks), here's the unescape function:
Code: [Select]
import re, htmlentitydefs

##
# Removes HTML or XML character references and entities from a text string.
#
# @param text The HTML (or XML) source text.
# @return The plain text, as a Unicode string, if necessary.

def unescape(text):
    def fixup(m):
        text = m.group(0)
        if text[:2] == "&#":
            # character reference
            try:
                if text[:3] == "&#x":
                    return unichr(int(text[3:-1], 16))
                else:
                    return unichr(int(text[2:-1]))
            except ValueError:
                pass
        else:
            # named entity
            try:
                text = unichr(htmlentitydefs.name2codepoint[text[1:-1]])
            except KeyError:
                pass
        return text # leave as is
    return re.sub("&#?\w+;", fixup, text)


That worked!  Of course when I tried to copy and paste the code I got an indent error but when I just downloaded the text it worked beautifully!  Gracias, phot0nic
Title: Lyricsgrabber2 Feedback & Discussion
Post by: djvasco on 2015-08-17 00:47:19
---

While typing up this response, I just noticed that copying and pasting from a codebox on this forum doesn't seem to retain the indentations, which will break the script.  I've uploaded the script code here:
http://codeviewer.org/view/code:5143 (http://codeviewer.org/view/code:5143)
Just use the dropdown in the upper-right to download the code with indentations intact.  Again, rename it to *.py and place it in the appropriate directory.



Could you please re-upload the code? The link is broken and I couldn't make it work with the indentation problem.
Title: Lyricsgrabber2 Feedback & Discussion
Post by: phot0nic on 2015-09-05 18:51:55
LyricWiki made a small change to their API and the script I posted before stopped working.  I fixed my script, and included the unescape function so that you don't need two files (klonuo's suggestion didn't work for me).  I have attached the updated script to this post:

http://www.hydrogenaud.io/forums/index.php?showtopic=110032 (http://www.hydrogenaud.io/forums/index.php?showtopic=110032)