Displaying Lyrics
Note: Georgia can only display lyrics. It cannot retrieve or save them in any way. If you need a component to download lyrics I recommend the Lyric Show Panel 3 (foo_uie_lyrics3) component.
Georgia can display lyrics that have been saved to your disk, or that have been written to tag fields in your files. The entire lyrics display engine was re-written from scratch in v2.0. It is faster than the 1.x version, has more features, requires half the lines of code as the old version and is considerably less buggy.
To enable the lyrics view, click on the lyrics icon in the upper right.
Lyrics File types
Georgia can handle both .lrc
or .txt
files containing lyrics. .lrc
files typically contain time-stamped lyrics and .txt
files typically do not, but the theme doesn’t care. It will read in the first lyrics file it finds, and process it the same regardless of file type. Be aware that if a file is matched but does not contain valid lyrics, Georgia will also not care and will just display whatever contents it finds.
Synced Lyrics
Synced lyrics (whether in a .lrc file or not) will display with current line highlighting, similar to something you might see when doing karaoke. Seeking through the file will cause the “active” line to instantly update. If the .lrc file is out of sync with the actual song being played (i.e. lines appear a second or two before or after the line is sung) there’s is currently no way to adjust this, although it’s on my Todo list.
Where does Georgia look for Lyrics?
Georgia will first look for lyrics stored in the file itself. By default, the following metadata fields will be searched in order:
- %synced lyrics%
- %syncedlyrics%
- %lyrics%
- %lyric%
- %unsyncedlyrics%
- %unsynced lyrics%
If your files have lyrics saved to a different tag, just edit the value of title_format_strings.lyrics
in the configuration file.
If no lyrics tags are found, Georgia will then look for files saved on disk using the patterns specified in the lyricFilenamePatterns
array in georgia-config.json
. These are patterns are title-formatting strings of various common lyric naming patterns. Everyone file pattern will be tested in the following (currently) non-configurable locations:
- local folder the currently playing song is in.
- a folder called
\lyrics
inside fb.ProfilePath. This typically evaluates to%appdata%\local\roaming\foobar2000\lyrics
. - a folder called
\lyrics
inside fb.FoobarPath. This typically evaluates toC:\Program Files (x86)\foobar2000\lyrics
.
If a file matching one of the patterns is found, all further file tests will stop.
Example
You are listening to Enter Sandman by Metallica. The file contains no lyrics tags. The folder the song is in will first be searched for a file matching one of the lyricFilenamePatterns
. If none are found it will net check %appdata%\local\roaming\foobar2000\lyrics
which is next in the list. This folder contains a file called Metallica - Enter Sandman.txt
. This file will be loaded by Georgia and its contents displayed and searching will stop. If you have a file called Metallica - Enter Sandman.lrc
inside C:\Program Files (x86)\foobar2000\lyrics
it will not be loaded.