Well, you're both correct in that it's not a huge amount of code to make this happen. Though there isn't any "test case" code in emphatic to do this, I actually started out "Doing The Right Thing." The only code to read LRC-style lyrics is in lrc2sylt/lrctool, and they both are just there to convert it into ID3v2 tag data. Reading a timestamp in [xx:yy] (or possibly [xx:yy.zzz]) format isn't quite as neat as reading a 32-bit integer. I am using a Perl-style regular-expression library for this parsing these timestamps in lrctool, I would not want to absorb that kind of bloat if it were done on the player. But really, this could be done in less time than it took me to implement, say, custom info modes.

That being said, I'm not sure it's a great idea. It's actually one I thought about when I was dealing with all of this business with lrctool and such. There are drawbacks, though.

1) If this were implemented, emphatic would need to do two different things to find the lyrics. First it's trying to pull the info out of the ID3v2 tag, which it also needs to open to get fields for the custom info display. So after it's done doing that, and it finds no lyrics, it's got to open another file, which is possibly on another filesystem. I'm thinking this can add a significant amount of delay to the process of reading lyrics. Since the player is already reading the file from disk at the same time, I thought that maybe having the lyric data in the file might be saving us some precious time. But, depending on how caching is working, this may not be the case. I just thought that reading one file instead of two would be quicker, and after all the complaints about speed (esp. when changing tracks) I kinda wanted to do everything I can to make things faster. I would at the very least have to provide an option to turn this off for those who don't use this lyrics-in-a-separate-file mechanism, and don't want to pay the performance penalty of trying to stat another file.

2) Is an MP3 file's FID number set in stone for the duration of that file's life on the player? Or are there conditions under which FID numbers change? I personally have no idea. Having the lyrics in the music FID itself isolates us from the possibility that the number changes. Though it'd certainly be amusing to have Cyndi Lauper lyrics popping up during Rage Against the Machine song.

3) Is this solution really any easier than tagging the MP3? You've got to go figure out what the FID number of your various songs is, which requires that you play the file and note its FID from the hijack vital signs screen, or find it on disk somehow. Then you need to name each LRC file with that FID. Is that any easier than just tagging the file? I'll give you that my command-line program sucks, but the idea was that we'd eventually have a WinAmp plugin (or, less ideally, a separate GUI program) to tag the files.

I dunno, I will think about this more, but I would never really use this, because I wouldn't want to have to first sync my MP3's, then go find the FID, then rename LRC files to that FID, and then FTP them over. If enough people can convince me it's a good idea, I could give it a shot.
_________________________
- Tony C
my empeg stuff