musicScroll: Supply your tunes info without leaving your music player.

[ gpl, library, music, program ] [ Propose Tags ]

Automatically retrive the lyrics of of your current song on SMPlayer/VLC and update it on each change. See the lyrics on a really elegant GTK app.

[Skip to Readme]
Versions [faq],,,,,,,,,,,
Change log
Dependencies async, base (<4.13), bytestring, containers, dbus, gi-gtk, gi-gtk-hs, mtl, musicScroll, req, stm, tagsoup, text, transformers [details]
License GPL-3.0-only
Author Ruben Astudillo
Category Music
Home page
Bug tracker
Source repo head: git clone
Uploaded by RubenAstudillo at 2020-02-01T23:05:44Z
Distributions NixOS:
Executables music-scroll
Downloads 1670 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2020-02-02 [all 2 reports]


  • MusicScroll
    • MusicScroll.AZLyrics
    • MusicScroll.ConnState
    • MusicScroll.DBusNames
    • MusicScroll.DBusSignals
    • MusicScroll.MPRIS
    • MusicScroll.RealMain
    • MusicScroll.TagParsing
    • MusicScroll.TrackInfo
    • MusicScroll.UI


Maintainer's Corner

For package maintainers and hackage trustees

Readme for musicScroll-

[back to package description]


Basic program for basic needs

I don't like having to fire up a browser to get the lyrics of the songs I am currently hearing. I got basic needs, I download songs with good metadata and use SMPlayer/VLC to open the playlists. It would be nice if somehow I could get a basic windows with the lyrics of the song.

MusicScroll does this. When you run the command music-scroll a window is opened with the lyrics of the song your are playing on SMPlayer/VLC and each change of song will retrieve new lyrics without your intervention.

This works by getting the MPRIS info on your song, specifically the title and artists fields. After some clean up it will retrieve the lyrics from a lyrics website, clean the HTML a little and put it as text on a GTK window. Ideally it ought be not invasive so you can read only if you want.

This was done as an excuse to learn more of gi-gtk & glade. But I am happy with the result so I am sharing. On the future I would like do write the lyrics to a SQLite database for offline usage and handle other videoplayers (this ought to be really easy, send a patch, currently supporting VLC and smplayer).

I want to thanks to the haskell-gi and haskell dbus authors. I didn't know much about graphics programming or dbus, but the documentation, types and code samples helped me a lot on understanding how they ought to be organized. If I see you guys on a conference I will buy you a beer :-) . The d-feet program was really helpful for see how the data was layout on DBus.