IPB

Welcome Guest ( Log In | Register )

11 Pages V  « < 8 9 10 11 >  
Reply to this topicStart new topic
Lyricsgrabber2 Feedback & Discussion
JJForums
post Aug 4 2011, 20:17
Post #226





Group: Members
Posts: 88
Joined: 31-January 08
Member No.: 50934



I don't know how to use it, I installed it, how do I put it in my layout?
Go to the top of the page
+Quote Post
Erich_2
post Aug 4 2011, 20:49
Post #227





Group: Members
Posts: 245
Joined: 10-September 08
Member No.: 58107



QUOTE (JJForums @ Aug 4 2011, 21:17) *
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% sad.gif

This post has been edited by Erich_2: Aug 4 2011, 21:21
Go to the top of the page
+Quote Post
JJForums
post Aug 6 2011, 22:26
Post #228





Group: Members
Posts: 88
Joined: 31-January 08
Member No.: 50934



I see now, but it do not download synced lyrics...
Go to the top of the page
+Quote Post
fobside
post Aug 15 2011, 00:38
Post #229





Group: Members
Posts: 1
Joined: 15-August 11
Member No.: 93031



Every query I've attempted has given me the "failed" status. Any ideas on what I may have done wrong?
Go to the top of the page
+Quote Post
lokioki
post Aug 18 2011, 13:31
Post #230





Group: Members
Posts: 181
Joined: 16-December 08
Member No.: 64571



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.

This post has been edited by lokioki: Aug 18 2011, 13:33
Go to the top of the page
+Quote Post
db1989
post Aug 18 2011, 14:11
Post #231





Group: Super Moderator
Posts: 5275
Joined: 23-June 06
Member No.: 32180



You might find useful this recent thread on the same question: Reliable/stable lyrics plugin, and there may be others discoverable via a search.
Go to the top of the page
+Quote Post
Vittorio
post Aug 18 2011, 22:33
Post #232





Group: Members
Posts: 63
Joined: 25-January 09
Member No.: 65972



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 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

This post has been edited by Vittorio: Aug 18 2011, 22:42
Go to the top of the page
+Quote Post
q-stankovic
post Aug 18 2011, 23:02
Post #233





Group: Members
Posts: 1748
Joined: 28-May 06
From: Düsseldorf
Member No.: 31251



QUOTE (Vittorio @ Aug 18 2011, 23:33) *
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.



--------------------
german support forum: www.foobar-users.de / user: qwert73
Go to the top of the page
+Quote Post
Qudeid
post Sep 18 2012, 15:39
Post #234





Group: Developer
Posts: 113
Joined: 28-March 08
From: Dornbirn
Member No.: 52369



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!
Go to the top of the page
+Quote Post
dag0
post Jan 19 2013, 19:08
Post #235





Group: Members
Posts: 44
Joined: 6-March 09
From: Germany
Member No.: 67657



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...)
Go to the top of the page
+Quote Post
mire777
post Mar 22 2013, 00:15
Post #236





Group: Members
Posts: 508
Joined: 9-June 12
Member No.: 100550



works well for me, but is it possible to get synced lyrics?
Go to the top of the page
+Quote Post
WilB
post Mar 22 2013, 00:48
Post #237





Group: Members
Posts: 347
Joined: 20-July 06
Member No.: 33113



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

This post has been edited by WilB: Mar 22 2013, 00:51
Go to the top of the page
+Quote Post
romor
post Mar 22 2013, 14:38
Post #238





Group: Members
Posts: 717
Joined: 16-January 09
Member No.: 65630



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.


--------------------
scripts: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
mire777
post Mar 22 2013, 15:43
Post #239





Group: Members
Posts: 508
Joined: 9-June 12
Member No.: 100550



QUOTE (WilB @ Mar 22 2013, 01:48) *
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


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...

This post has been edited by mire777: Mar 22 2013, 15:58
Go to the top of the page
+Quote Post
WilB
post Mar 22 2013, 22:31
Post #240





Group: Members
Posts: 347
Joined: 20-July 06
Member No.: 33113



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.
Go to the top of the page
+Quote Post
mire777
post Mar 23 2013, 13:14
Post #241





Group: Members
Posts: 508
Joined: 9-June 12
Member No.: 100550



Thanks i did all the songs now, i had some 7000 without lyrics. and this also work ok...
Go to the top of the page
+Quote Post
onanboy
post Apr 10 2015, 21:15
Post #242





Group: Members
Posts: 18
Joined: 4-January 06
Member No.: 26850



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
');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?
Go to the top of the page
+Quote Post
klonuo
post Apr 10 2015, 22:31
Post #243





Group: Members
Posts: 281
Joined: 29-April 10
Member No.: 80274



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.

This post has been edited by klonuo: Apr 10 2015, 22:34
Go to the top of the page
+Quote Post
loft
post May 19 2015, 15:08
Post #244





Group: Members
Posts: 122
Joined: 2-March 05
From: Tirgu-Mures
Member No.: 20278



@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.
Go to the top of the page
+Quote Post
phot0nic
post May 23 2015, 05:04
Post #245





Group: Members
Posts: 2
Joined: 9-February 15
From: Ohio
Member No.: 118595



QUOTE (onanboy @ Apr 10 2015, 15:15) *
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
# -*- 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 "http://lyrics.wikia.com/"

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("http://lyrics.wikia.com/api.php?artist=%s&...=%s&fmt=xml" % (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
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.
Go to the top of the page
+Quote Post
onanboy
post Jun 11 2015, 04:49
Post #246





Group: Members
Posts: 18
Joined: 4-January 06
Member No.: 26850



QUOTE (loft @ May 19 2015, 08:08) *
@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.
Go to the top of the page
+Quote Post
onanboy
post Jun 11 2015, 12:52
Post #247





Group: Members
Posts: 18
Joined: 4-January 06
Member No.: 26850



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
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?
Go to the top of the page
+Quote Post
onanboy
post Jun 18 2015, 18:50
Post #248





Group: Members
Posts: 18
Joined: 4-January 06
Member No.: 26850



QUOTE (onanboy @ Jun 11 2015, 05:52) *
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
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.
Go to the top of the page
+Quote Post
phot0nic
post Jun 22 2015, 05:26
Post #249





Group: Members
Posts: 2
Joined: 9-February 15
From: Ohio
Member No.: 118595



QUOTE (onanboy @ Jun 18 2015, 12:50) *
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

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
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)



Go to the top of the page
+Quote Post
klonuo
post Jun 22 2015, 08:15
Post #250





Group: Members
Posts: 281
Joined: 29-April 10
Member No.: 80274



There is no need for special function...

You can unescape html/xml entities with standard library:

CODE
import HTMLParser
escape = '&copy; %s666;' % '&#'  # complicated escape sting example because of the stupid code parser on this forum
print HTMLParser.HTMLParser().unescape(escape)


This post has been edited by klonuo: Jun 22 2015, 08:18
Go to the top of the page
+Quote Post

11 Pages V  « < 8 9 10 11 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 5th September 2015 - 12:35