Whole Album/Directory Lyrics Tool

So I just changed to ID3v2.4 lyrics under my XP, SP3 box.
My Windows XP STILL natively pulls all the information, lets you sort detailed view on track, title, artist, album, length, whatever.

If the only differences are that you guys have a version of Windows that comes without Internet Explorer or WMP or some other setting, and for some reason you can't have a detailed view of Music-settings folders sortable by all those columns I natively have, then I at least understand why my tool isn't working for you. I do NOT understand why you can't have the detailed view with the same columns, but that would be why the tool fails. So you cannot make Windows do natively what I've attached below?

Also, I see some of you using MP3Tag 2.46d. I'm using 2.46a. Is there a difference in how it writes the ID3v2.4 tags?

I may make a test exe later today that attempts to read the title and artist a different way, without caring about lyrics or anything, and tell you what it found. But I'm assuming most of you are tired of dealing with this :stuck_out_tongue:

You also have ID3v1 tags, it will read these.

I cannot see the benefit of starting 10,724 processes at once, even if 10,723 of them just add their parameters to the queue and then kill themselves. 1 Process can and does handle this. All I'm trying to hash out is to make a way for my Euro friends there to retrieve the title and artist of each song in a directory or each song passed in. The version from 2 years ago DID do more like what you were saying, eventually, calling upon ProcessesRunning and querying whether it was the first or a second instance, and then pooling all the information. It was SLOOOOOOW for more than 20, 40, 60 files maximum.

Do you know of a way MP3tag.exe can be told to 'Run on each file selected' but do them one at at time?

so you guys don't embed all lower versions? Now I understand!
Thanks Dano!!!!!!! my head can stop hitting the brick wall.

if I may ask... what's the benefit to not having ID3v1 tags up through ID3v2?

Hmm, I can collect all data given as parameters in the commandline of a cmd batch file into one text file - for all selected files - from within Mp3tag.

Usage description from my "collect.cmd" file:

REM Usage:

REM Collect all parameters from the commandline of this batch command file into an external text list file.
REM Afterwards the external text list file can be used as input file for an external application, which can be called from within this batch command file.
REM
REM When using option /C each call of this batch command file creates a new line in the external text list file.
REM When using option /R an external application will be called using the externsl text list file.
REM When using option /L the content of externsl text list file will be displayed to console out.
REM When using option /D the external text list file will be deleted.
REM ©20100926.Detlev Dalitz.

Well, I've tested this with a list of 100 files but not with a list of 10000 files.
Mp3tag pumps out the data as far as possible (depends on the batch file).
It was just a study how to overcome Mp3tag's limited "run external app" feature.

If Florian could implement better support for running external applications, life would be much easier.
For example:
Run( program-name, parameters )
Runs a program as a normal window.

RunHide( program-name, parameters )
Runs a program as a hidden window.

RunHideWait( program-name, parameters )
Runs a program in a hidden window and waits for it to close.

RunIcon( program-name, parameters )
Runs a program as an icon.

RunIconWait( program-name, parameters )
Runs a program as an icon and waits for it to close.

RunShell( program-name, params, directory, displaymode, waitflag )
An advanced form of the Run function that even allows the specification of a working directory, along with the window view mode and whether or not to wait for completion of the run program in a single function.

RunWait( program-name, parameters )
Runs a program as a normal window and waits for it to close.

RunZoom( program-name, parameters )
Runs a program in a maximized window.

RunZoomWait( program-name, parameters )
Runs a program in a maximized window and waits for it to close.

ShellExecute ( program-name, params, directory, display mode, operation )
Runs a program via the Windows ShellExecute command.

Most important is to have a "wait" option.

DD.20101107.1758.CET

Very large changes to create a good solution for us all.
Version .10 includes new instructions.

Basically, you need an 'Export for Lyrics' action that exports currently selected songs from MP3Tag. The export's MTE file should read:
$filename(txt,utf-8)$loop(%_path%)%_path%|%artist%|%title%
$loopend()

Secondly, the Export File Name parameter of the Export for Lyrics action is now used as the Parameter for the Lyrics Tool under MP3Tag

The zip includes a PDF explaining how to set it up from scratch, but you testers probably can figure it out from the info above.

I appreciate all your patience and hard work and time. This has been an incredible bit of stubbornness on all our parts to get it working.

That being said, I think I shall cry if you can't get it to work this time. :stuck_out_tongue:
(for about 3 minutes, the wrong zip file was uploaded. if you downloaded the link earlier than this post I'm creating right now, re-download)

Stay calm, do not worry, no need to cry.

Offered download version 1.0.0.11 seems to be internally version 1.0.0.10.
Please make the version number obvious on the user interface.

This 3-step version works for me!

Additionally I would like to have the choice to put the incoming text files into a subfolder within the current folder (or freely into some folder anywhere in the system), to be controlled by cmdline parameter or ini file.

DD.20101108.1221.CET

I'm going to quit sniffling now. :wink:

I'll work on version display after work today. When I download the zip, and look at the properties, the version does say 1.0.0.11.
Interesting babbling that isn't very important:

1.0.0.10 is the same as .11, except for a progress bar being shown while reading the Exported file. I tried .10 on 500+ files to see the speed, and I noticed that reading 500+ lines from the export file took a handful of seconds in which nothing was displayed, which made me wonder for a couple seconds whether or not it had locked up. then the progress bar about obtaining the lyrics popped up magically, and I figured out it hadn't locked up, it had just taken a few seconds to read that exported text file. consequently, the .11 shows a progress of reading the export file.

That's what I'm talking about! Now that it worked for you, we've got some more interesting things to talk about, like changes. :slight_smile:

Picky picky picky haha. I'll roll it around in my head and come up with some ideas to try this evening.

Watch out to torture the server not to much.
Code some random time delay here and there into your script.

DD.20101108.1545.CET

Hi,

I tried to install and run this beautiful tool as explained. Everything works as expected, except for one crucial point:

For every song that lyrics are found for, the lyrics are the same:

Upgrade to Lyrics Plugin version 0.4

I tried inspecting the intermediate results. It turns out the second step (running lyrics.exe) actually creates a txt file for every song. But instead of the song's lyrics, the file contains this text above.

Since this works apearantly for you all, I wonder: WHAT AM I DOING WRONG?

Well, apparently the people have changed their website. I will take a look at it this weekend and try to fix it for us.

Thanks for letting me know, and I'm sorry it's not working yet :slight_smile:

They've changed the php and JS behind the scenes indeed! Appears like that just happened in January.

Well, I was tired of not having this tool. I currently have a new tool that does not rely on LyricsPlugin.com, but instead Googles the song and artist, and if it finds MetroLyrics, AZLyrics, Sing365, LyricsMania, LyricsMode, or SongLyrics results in the first page of Google results, it will attempt to parse the lyrics from those sites.

Does anyone have any other recommended sites?

I will be polishing up the tool and documenting the options this week.

After looking it over LyricsWiki (http://lyrics.wikia.com/) seems to have a fairly reliable database. So I am updating the tool to use that site.

I could release modules at a later version that picked up from other sites if LyricsWiki is not doing the trick for your music.

Original Post will be updated.

well, that can be arranged. though the site is certainly slow and inconsistent, today. making coding for it difficult.

Complete. See original post.

Nice work! Thank you for this tool!! :music:

I have some questions:
a ) How can I save the lyrics to a specific path (not the same where the mp3 are stored)?
Example:
I would like to store the lyrics for the 10cc-song '01 - The Wall Street Shuffle' in the path
D:\mp3\Lyrics\1\10cc (01 - The Wall Street Shuffle).txt
(First letter/number of the Band as directory name, no need for the source in the filename)

If this is too complex, I would just be happy with a fixed different lyrics path like:
D:\mp3\Lyrics\AllFoundLyrics\

b ) How can I run the lyrics.exe without the final result windows?
Just the logfile or nothing at all would be enough for me.

c ) How can I export only the files not alread including lyrics? The command in the PDF $filename(txt,utf-8)$loop(%_path%)%_path%|%artist%|%title%

$loopend()exports ALL files, not only the one without lyrics, right?

d) Is there any known limit of number of tracks to get the lyrics? Are the sources banning my IP if I use your tool to many times?

QUOTE (LyricsLover @ Mar 3 2012, 07:44) <{POST_SNAPBACK}>
Nice work! Thank you for this tool!! :music:

Glad you like! :slight_smile:

I have some questions:
a ) How can I save the lyrics to a specific path (not the same where the mp3 are stored)?
...
If this is too complex, I would just be happy with a fixed different lyrics path like:
D:\mp3\Lyrics\AllFoundLyrics
this is a likely option, I suppose. i understand liking options, but do people hang on to the ".txt" files once they embed the lyrics?? i don't usually; that's why I never made many options for the output files

b ) How can I run the lyrics.exe without the final result windows?
Just the logfile or nothing at all would be enough for me.
I will try to remember to include a no-result option next time I compile it

c ) How can I export only the files not alread including lyrics? The command in the PDF $filename(txt,utf-8)$loop(%_path%)%_path%|%artist%|%title%

$loopend()exports ALL files, not only the one without lyrics, right?

correct. i can look to see if there is any clean way to list only non-lyric'd files, but I will be at the mercy of what is possible in the code section.

d) Is there any known limit of number of tracks to get the lyrics? Are the sources banning my IP if I use your tool to many times?
the tool is actually visiting the websites in the background, so their terms are not being violated. they still get hits / generate ads, whatever. i have run this on thousands of files multiple times and never had issues.

QUOTE (LyricsLover @ Mar 3 2012, 15:44) <{POST_SNAPBACK}>
c ) How can I export only the files not alread including lyrics? The command in the PDF $filename(txt,utf-8)$loop(%_path%)%_path%|%artist%|%title%
$loopend()exports ALL files, not only the one without lyrics, right?<!--QuoteEnd--></div><!--QuoteEEnd-->

I don't feel this should be included in the hard code of the tool as the core of the tool would then include a rule based on code which is highly dynamic. Most importantly there currently are two tags for lyrics which are universally considered standard not to mention the tag for lyrics is moderately inconsistent between applications.

LyricsLover,
To run the tool for songs without lyrics you should create a column in mp3tag with the tag(s) mapped to lyrics and simply sort your files by that column making it very simple to choose songs without lyrics.
All files would already have to be loaded into mp3tag for a rule change in the lyrics tool even be applicable and creating a column to sort your files would complicate your experience using this tool very little.

Or apply a filter with something like
%unsyncedlyrics% IS ""
as this works even if there is no column displayed with that data.