stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

parole

  • 5 Devlogs
  • 11 Total hours

Parole is a TUI tool to display lyrics from the song you are currently playing !

Ship #1 Pending review

3… 2… 1… Introducing…

Parole !

When I was a bit younger, I installed Linux and decided to rice it. I loved Cava, and I had the wonderful idea to make an app that could display the current lyrics in my terminal !
Unfortunately, I did not have the competences to make this back then, so I foolishly delegated it to AI… And I never had the courage to rewrite it myself, because it looked sooo scary and hard… And the ai spaghetti code wasn’t here to help me.
But I discovered Stardance, and I thought “Hell yeah, why not trying this ?”. Turns out it was easier than I thought !

Parole is a TUI app to display the lyrics of the current song, compatible with Linux (using mpris) and Windows (using winsdk) !
It fetches the lyrics data from LRCLib and displays them with Textual.

It may not work perfectly on Windows, because Microsoft decided that yes, it’s a good idea to not return the actual position in the song but rather a position that updates not every time + the moment it was updated. So in most apps, if you play/pause, you break it. That kind of choices is a good reason to switch to Linux, if you want my opinion.

Anyway, have fun playing around with it !

  • 5 devlogs
  • 11h
Try project → See source code →
Open comments for this post

2h 16m 51s logged

Devlog 5 - Yayyy i’m going to ship !

This took way much more time than I thought, but everything is set up !
I made a readme, a contributing guide, and even issue templates !
Also I made a release workflow, and I’m soooo tired of the fact that Github Actions has no way of testing them, because it keeeps failing for whatever reason aaaaaah

Well now it’s published so I just need to test !

0
0
15
Open comments for this post

1h 54m 20s logged

Devlog 4 - I haaaate windows omg :microslop:

So I basically rewrote the logic to get song info. It’s not using playerctl anymore, which was not made to work like that and was not multi platform.
Now, I have a little thingy that can provide two “providers”, one for Linux using mpris (dbus-next) and one for Windows using winsdk.
The implementation on Linux was pretty easy, but omg why do people still use Windows ?
Basically, the Windows API do not return the current position on the song, but a position and a time since it was last updated. So in 90% of the players, if you pause, all the timing will get wrong.
And to complement all of this, the experience of using windows is sooo bad, like, wdym the middle mouse button stops working randomly ?
Anyway I think i just need to write docs and I’m ready to ship !

0
0
30
Open comments for this post

2h 37m 25s logged

Devlog 3 - It’s working well !

The program can show multiple lines of lyrics, and there is an argument to choose the number of them !
I also improved the lyrics parsing method, and forced the app to use the ANSI colors from the terminal.

I think now I will change the metadata fetching to MPRIS via Dbus instead of playerctl, and will do that in a separate file for better organization when I will port to windows

0
0
24
Open comments for this post

55m 50s logged

Delvlog 2 - Well, it’s easier than I thought

I knew it would be a small project, but this is reaaaally fast !

In this small update, I added a way to actually parse the lyrics, and show them in the TUI ! For now, there is just one line of lyric, but I will add options to add more lines.

I just need to add customization options, fix some errors, maybe find a way to make this run on windows !

0
0
18
Open comments for this post

2h 49m 8s logged

Devlog 1 - Parole, a nice terminal thing for showing lyrics of your favorite song !

Parole is a TUI tool made for your rice ! It will show the lyrics of the song you are currently listening, using Playerctl :)

I use Subprocess to get the playerctl metadata, then I use Textual to show everything.
For now, it can just get the lyrics and format them in a dict. Not very beautiful for now…

0
0
18

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…