Foo_openlyrics - An open-source lyric display panel for foobar2000

Overview

foo_openlyrics

An open-source lyrics plugin for foobar2000 that includes its own UI panel for displaying and sources for downloading lyrics that are not available locally. It is intended to be a replacement for LyricShowPanel3 so it is fully-featured and supports lyric searching, saving and editing directly from within foobar2000.

Features

  • Buttery-smooth lyric scrolling (either horizontally or vertically)
  • Supports retrieving lyrics from local files, ID3 tags or the internet
  • Customise the font & colours to perfectly suite your layout & theme
  • Easily edit lyrics directly inside foobar2000 with built-in support for timestamps
  • Check the saved lyrics of any track in your library (whether it is currently playing or not)
  • Apply common edits (such as removing blank lines) in just 2 clicks
  • ...and more!

Screenshots

Fonts & colours are fully configurable

Horizontal scrolling is also supported

The editor window

How to install foo_openlyrics

  1. Find the latest release on Github.
  2. Download the fb2k-component file attached to the release (don't worry about the debug_symbols zip file).
  3. Double-click on the file you just downloaded. Assuming foobar2000 is installed, it should open up with the installation dialog. Restart foobar2000 when asked.
  4. Add the "OpenLyrics Panel" to your layout.

Why another lyrics plugin?

At the time that I started this, the most widely-used lyrics plugin was foo_uie_lyrics3 which had several built-in sources but those had largely stopped working due to the relevant websites doing down or otherwise becoming generally unavailable. The original developer seemed to be nowhere in sight though and the source for the plugin did not appear to be available anywhere online. There is an SDK for building one's own sources for foo_uie_lyrics3 but building plugins for plugins didn't really take my fancy. Other (more up-to-date) plugins did exist but were mostly distributed by people posting binaries for you to download from their Dropbox on Reddit. Running binaries published via Dropbox by random people on Reddit did not seem like the most amazing idea.

Contributing

Please do log an issue or send a pull request if you have found a bug, would like a feature added. If you'd like to support the project you can also make a small donation.

Comments
  • [Help]show the current in different color

    [Help]show the current in different color

    portable version of foobar2000.

    both in metadata and .lrc file the other plugin works so that is not the problem it something with my config and foo_openlyrics needs to change its defaults

    Tested Results. When Testing only one of these were applied as metadata as you said.

    1. Metadata field SYNCEDLYRICS with timed Lyrics WORKS

    2. LYRICS with timed Lyrics WORKS

    3. even in UNSYBCEDLYRICS metadata field with timed lyrics synced lyrics WORKS

    4. But when using Just .lrc not even unsynced lyrics show

    5. I have .lrc in the same directory with the song both with the same name.

    I wonder, if you edit lyrics (without the tags available, so it doesn't find anything), save them, and then restart foobar or play another track and come back (just so it reloads from fresh), does it find the lyrics you just saved? Does that save to the configuration directory to the expected file?

    No lyrics shows when I deleted the metadata field and played it with foobar2000 but the lyricspanel was showing synced lyrics

    foo_openlyrics can read it if it is in same directory?

    It is a common practice to have .lrc and some in same folder.

    LyricsPanel caches it in the foobar2000 folder iirc

    Now I use [%fillename%] I have "Save to the same directory as the track"

    INFO-OpenLyrics: Failed to read search-avoidance info: Unsupported format or corrupted file
    INFO-OpenLyrics: Searching for lyrics for artist='Taylor Swift', album='Taylor Swift', title='Picture To Burn'...
    INFO-OpenLyrics: Save file name format '[%filename% ]' with directory class 'TrackFileDirectory' evaluated to 'file://X:\xx\#1 Taylor Swift (2006)\Picture To Burn '
    INFO-OpenLyrics: Querying for lyrics in file://X:\xx\#1 Taylor Swift (2006)\Picture To Burn .lrc...
    INFO-OpenLyrics: Querying for lyrics in file://X:\xx\#1 Taylor Swift (2006)\Picture To Burn .txt...
    INFO-OpenLyrics: Found 0 lyrics in local files: file://X:\xx\#1 Taylor Swift (2006)\Picture To Burn 
    INFO-OpenLyrics: Failed to retrieve lyrics from source: Local files
    INFO-OpenLyrics: Searching for lyrics in tag: LYRICS
    INFO-OpenLyrics: Searching for lyrics in tag: SYNCEDLYRICS
    INFO-OpenLyrics: Searching for lyrics in tag: UNSYNCEDLYRICS
    INFO-OpenLyrics: Searching for lyrics in tag: UNSYNCED LYRICS
    INFO-OpenLyrics: Found lyrics in tag: UNSYNCED LYRICS
    INFO-OpenLyrics: Successfully retrieved lyrics from source: Metadata tags
    INFO-OpenLyrics: Parsing lyrics text...
    INFO-OpenLyrics: Loaded lyrics already form a valid UTF-8 sequence
    INFO-OpenLyrics: Parsing LRC lyric text...
    INFO-OpenLyrics: Lyric loading complete
    
    opened by Rexadev 12
  • [FR] Use USLT/SYLT tag instead of the generic TXXX for better compatibility

    [FR] Use USLT/SYLT tag instead of the generic TXXX for better compatibility

    Basically what the title says. I found out that outside fb2k, other music players and even my synced iPod just don't read the generic TXXX tag as a lyrics tag. This can be improved using dedicated tags like USLT for unsynchronized lyrics and SYLT for synchronized lyrics. Songs with these tags have no problems displaying lyrics everywhere you can read it.

    I don't know if this feature is viable, but it will be a great step forward for a better standardized music library.

    More info about the usage of the two tags here: ID3v2.3.0 Informal standard

    feature 
    opened by hondrus31 11
  • Feature request: Ability to search for lyrics from track context menu

    Feature request: Ability to search for lyrics from track context menu

    Hi Jacques,

    I just found your foobar component openlyrics and must say: I am very impressed. Keep up the excellent work, plz!!

    The plugin seems very comprehensible, there is just one thing I miss: there is no way to add a shortcut enabling users to start a search. This would be especially useful for batch processing a big numer of files unattendedly. Is there a chance to implement this?

    For what its worth: I just donated two books on your buymeacoffee site. :)

    Best to you and this great project!!!

    feature 
    opened by rk-kontur 11
  • When lyrics are saved, track number is set to 0

    When lyrics are saved, track number is set to 0

    Strange observation: When a track is played without a track number (%track% doesn't exist), and lyrics a re searched and found, the track number will be set to 0 in the moment the lyrics are saved.

    Steps to reproduce:

    1. Configure OpenLyrics for auto-save to tag
    2. Play a track where
      • %track% (track number) doesn't exist
      • but lyrics exist on one of the sources

    Expected: 3. OpenLyrics searches for lyrics and finds some 4. OpenLyrics saves lyrics to tag 5. No other tags are touched

    Observed: 3. OpenLyrics searches for lyrics and finds some 4. OpenLyrics saves lyrics to tag 5. %track% (track number) is updated and set to 0 (zero)

    bug 
    opened by SpamReceiver 10
  • Add option to get translation from Musixmatch

    Add option to get translation from Musixmatch

    • How you think the new feature/improvement would be helpful, or what problem you think it would solve

    Very obvious but,

    1. Good for listening to music that the user doesn't speak language of.
    2. Help in learning language.

    I found this I don't if will help - https://github.com/Spikatrix/Traly https://github.com/markzhai/LrcCleaner https://github.com/brandonw3612/TranslateLrc https://github.com/slowfog/LrcSpliter https://github.com/marz1877/SyncedLyrics-.lrc_v2

    opened by Rexadev 7
  • Prefer field of metadata in order specified

    Prefer field of metadata in order specified

    image

    When Lyrics are in both Lyrics and SyncedLyrics it plays Lyrics

    Some time it prefers SyncedLyrics too

    ~Maybe for flac and mp3 it prefers SyncedLyrics and for opus Lyrics~

    bug 
    opened by Rexadev 7
  • Add option to add date to lyrics

    Add option to add date to lyrics

    • How you think the new feature/improvement would be helpful, or what problem you think it would solve

    After some time lyrics get improved move accurate, better formatting especially for songs release 1 year ago.

    This song was released in 2016 was in billlboard hot 100 year end and still gets better formatting just 2 weeks after I download it lyrics.

    shocking is now shockin' image image

    feature 
    opened by Rexadev 6
  • Feature request: Remove asian text in brackets

    Feature request: Remove asian text in brackets

    Some sources add information in asian text like this [00:00.00]I Will - Alison Krauss (艾莉森·克劳丝)/Tony Furtado which in this case I suppose is the artist's name in Chinese.

    In any case, those look like double byte characters so they should't be too hard to filter out (space bracket text bracket)

    opened by HeresJonny 6
  • Unable to fetch lyrics from Musixmatch

    Unable to fetch lyrics from Musixmatch

    I can't retrieve lyrics from Musixmatch - I tried retrieving token both automatically and manualy - neither work. As far as I can tell, the token's okay because it works in lyrics-plus. For referrence, using the same token:

    In OpenLyrics: image

    In Spotify: image

    The token's 54 characters long if that helps

    opened by TheMayhem6328 6
  • QQ Music Lyric search is not working

    QQ Music Lyric search is not working

    I set QQ music as one of the source and it used to work. It stopped working since a few days ago. I even tried to do manual search for the lyric of a song, which I've already downloaded the lyric from QQ, and it shows no result from QQ.

    opened by Sevenuno 5
  • Saved file is not loaded

    Saved file is not loaded

    I have a file for a specific song save in the same folder and does not load. I rescanned manually as the error suggested and saved the file again but it always come up with the same error. Clipboard01

    enhancement 
    opened by gabriels1963 5
  • Hide intra-line timestamps

    Hide intra-line timestamps

    The LRC enhanced format supports additional timestamps within a line.

    I'm not convinced its useful to support rendering those (just because its rather niche) but we could probably fairly easily parse them out and not render the timestamps.

    Requested on reddit @ https://www.reddit.com/r/foobar2000/comments/mm70rb/i_made_an_opensource_alternative_to/j0h3dgd/?context=3

    opened by jacquesh 0
  • Lyrics Doesn't Display Properly

    Lyrics Doesn't Display Properly

    Hello,

    I'm planning to migrate from MiniLyrics and foo_uie_lyrics3 to OpenLyrics however I found out that none of my lyrics files are decoded correctly (jumbled text).

    Left is OpenLyrics, middle is foo_uie_lyrics3, and right is MiniLyrics: image This is what's shown on Lyrics Editor window: image

    Steps to reproduce

    1. Play a music file with the lyric file located in the same folder named %filename%.lrc

    Expected behavior

    The lyrics of the song from the lyrics file are displayed with highlights at the right vocal.

    Versions

    • foobar2000 version: 1.6.14
    • OpenLyrics version: 1.4

    Additional information

    Log file: log.log Example lyrics file: 8. Death Stranding.zip

    Hope this can be fixed. Thank you.

    opened by christantoan 1
  • Properties window cropped on scaled display

    Properties window cropped on scaled display

    W10, fb2k 2.0 64-bit beta 13, OpenLyrics 1.3 Using a 4k display with font scaling 125%. The Properties window appears to have the contents scaled as expected, but as the Properties dialog is not resizeable, part of the contents is chopped off.

    Steps to reproduce

    1. Set Windows font scaling to 125% (or anything higher than 100%)
    2. Open foobar Properties
    3. Navigate to the OpenLyrics tab

    Expected behavior

    Either disable font scaling (as many other properties dialogs do) or make the dialog content scrollable. image

    bug 
    opened by PleasantSounds 0
  • Remember the selected sort column in the manual search window

    Remember the selected sort column in the manual search window

    Spawned from #220, we already let you sort by individual columns, but we don't remember that order (partially by design so that the results don't jump around in the list as new results are added).

    If we added a column for "result index" (or something...the number showing the order in which the result was added) then we could trivially let you sort on that as well as any other column, and then we could remember the sort order and if you cared about the consistency you could just leave it sorted by result index. On the other hand if you wanted it sorted by source (or whatever), then you could do that once and it'd remember.

    While we're at it, it'd be nice if we could have the column titles visibly update to show the sort order. Not sure why they don't.

    enhancement 
    opened by jacquesh 0
  • Add option to Fullscreen Lyrics

    Add option to Fullscreen Lyrics

    Thank you jacques for your contribution to the Foobar2000 community. Could you add the option to see the lyrics in full screen mode? And it would be very good if you could see the Album cover at the same time

    opened by lkjdsf65 1
  • Add tracks to a single search queue when requesting a bulk search while one is already in progress

    Add tracks to a single search queue when requesting a bulk search while one is already in progress

    Bulk search exists to allow users to easily collect lyrics for many tracks without having to manually search for each one. Since this presents an easy opportunity to heavily spam web sources, an artificial delay is intentionally introduced between searches for individual tracks. This is acceptable because bulk search is intended to be a mostly-background process.

    However it is currently trivially possible to spawn many small bulk searches in parallel, thereby defeating the point of the artificial delay.

    We should prevent users from trivially spawning many parallel bulk searches, but the naive way of doing that (simply disallowing new searches while one is in progress) gives very bad UX. Instead we should do what the Windows file copy utility does and simply tack the newly-requested tracks onto the end of the existing bulk-search queue. That way the user always has at most one bulk search in-flight at any given time, making it easy to manage without preventing them from adding new tracks to be searched while an existing search is in progress, but without spamming web sources.

    enhancement 
    opened by jacquesh 0
Releases(v1.4)
Owner
Jacques Heunis
Jacques Heunis
A push-button control panel for Zoom

Zoom Control Panel A push-button control panel for Zoom This repo contains files for building a push-button control panel for Zoom.

Elena Long 48 Nov 15, 2022
Yet another alarm (control) panel for Home Assistant.

HASS-YAAP Yet another alarm (control) panel for Home Assistant. Change alarm system mode (away, home, night, disarmed) Welcome people arriving by thei

Paul-Vincent Roll 48 Dec 4, 2021
Display array is a board that sets 6 ST7735 display with a resolution of 80x160px in a linear array sharing the clock, data, rs, backlight pins together

The display array is a board that sets 6 ST7735 display with a resolution of 80x160px in a linear array sharing the clock, data, rs, backlight pins together, and leaving individual access to the cs lines of each display, This board allows you to display images with a resolution of 480x160px.

Josue Alejandro Gutierrez 70 Dec 19, 2022
Next gen. of NekoCal: An open-source hackable and programmable e-paper display

NekoInk NekoInk is an open-source, programmable, and versatile E-paper display platform. It offers connectivity options to various type of E-paper scr

Wenting Zhang 51 Nov 16, 2022
This project seeks to develop a low-cost, open-source braille display

This project seeks to develop a low-cost, open-source braille display. It is estimated that its cost is reduced to more than 90% compared to the cost of the cheapest screens that exist in the market today. // Este proyecto busca desarrollar una pantalla braille de código abierto y de bajo costo. Se estima que su coste se reduce a más de un 90%.

brailletouch 11 Nov 22, 2022
An open collection of tools and experiments for rendering wide-gamut scene-linear data into an image for an SDR or HDR display device.

Open Display Transform An open collection of tools and experiments for rendering wide-gamut scene-linear data into an image for an SDR or HDR display

Jed Smith 127 Dec 29, 2022
Open-source and open-hardware scientific RPN calculator

OpenRPNCalc Open-source and open-hardware scientific RPN calculator Introduction OpenRPNCalc is a scientific calculator based on STM32 microcontroller

Anton Poluektov 152 Dec 23, 2022
A fully-functional open source and open hardware mechanical USB computer keyboard with only three keys!

threeboard threeboard is a fully-functional open source and open hardware mechanical USB computer keyboard with only three keys. It supports multiple

Conor Taylor 98 Dec 9, 2022
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.

Apex-Legends-SDK Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified sou

null 111 Jan 8, 2023
Sourcetrail - free and open-source interactive source explorer

Sourcetrail Important Note: This project was archived by the original autors and maintainers of Sourcetrail by the end of 2021. If you want to know mo

Coati Software 13.1k Jan 1, 2023
Single source file ASTC texture decompression in C++ (derived from Google's open source Android project)

astc_dec astc_dec is a single source file ASTC texture decompressor with the Apache 2.0 license, derived from Google's open source Android sources. Th

Rich Geldreich 29 Dec 5, 2022
Send messages to a LED Matrix display through Telegram. Inspired by a tweet from Smarter Every Day

Send messages to a LED Matrix display through Telegram. Inspired by a tweet from Smarter Every Day

Brian Lough 23 Oct 8, 2022
Split flap display Arduino library

SplitFlapDisplay Split flap display Arduino library Introduction This is a simple high level library to drive split flap display letters with Arduino.

Stefano Guglielmetti 20 Jul 14, 2022
Lotus 1-2-3 R4D Display Driver for DOSEMU

Lotus 1-2-3 R4D Display Driver for DOSEMU2 This is a WIP display driver for Lotus 1-2-3 R4D to enable support for arbitrary text resolutions in DOSEMU

Tavis Ormandy 112 Dec 2, 2022
Breakout game for Raspberry Pi Pico with Pimoroni Pico Display pack

breakout_rpi_pico Breakout game for Raspberry Pi Pico with Pimoroni Pico Display pack Prebuilt binary (breakout.uf2) is here. To build your own binary

null 19 Oct 15, 2022
Using the LilyGo EPD 4.7" display to show OWM Weather Data

LilyGo-EPD-4-7-OWM-Weather-Display Using the LilyGo EPD 4.7" display to show OWM Weather Data Version 2.72 Improved Icon shapes and positioning Adjust

G6EJD 13 Apr 2, 2021
VGA/TV display on Raspberry Pico

PicoVGA - VGA/TV display on Raspberry Pico

Miroslav Nemecek 115 Jan 3, 2023
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.

STM32 Tiny Monitor A super tiny monitor for your PC, suitable for your pet ant. A python script sends the captured screen over USB to the STM32 microc

Avra Mitra 69 Dec 27, 2022
A Flutter Web Plugin to display Text Widget as Html for SEO purpose

SEO Renderer A flutter plugin (under development) to render text widgets as html elements for SEO purpose. Created specifically for issue https://gith

Sahdeep Singh 103 Nov 21, 2022