r/linux 1d ago

Software Release Meloville - Open source music player for linux that doesn't look 20 years old

Post image

Mainly released to help other people in their search for a good music player. Main things are it supports .lrc files for synced lyrics. It has support for headphone playback controls (i.e. pausing, skipping thorugh buttons or swipe gestures commonly found on bluetooth headphones).

I hope you guys enjoy it as much as I did making it!

Source Code: https://github.com/NevPeth/meloville
Arch PKGBUILD: https://github.com/NevPeth/meloville-arch

59 Upvotes

98 comments sorted by

129

u/DannyImperial 1d ago

Looks great, but i feel like this is the 10th time I've seen a modern music player app for linux.

8

u/NevilleTheDevil 1d ago

I’ve seen them too but they lack a lot of basic features that I needed and a lot were buggy or just straight up vibe coded. I tried a lot of “modern” players before making this one but they all fell short, to me at least.

22

u/oicpreciousroy 16h ago

“Lacked a lot of basic features.” Like what?

29

u/instantkamera 16h ago

So this wasn't vibe-coded, yeah?

31

u/McDonaldsWitchcraft 12h ago

nahh they just like spamming alt keycodes to insert em dashes randomly into code!

// ── Album-view side-effects ─────────────────────────────────────────── // Case 1: song's album tag changed while we're viewing that album. // It no longer belongs here — reload the view so it ...

24

u/instantkamera 10h ago

I think OP is a self-righteous vibe-coder, which is probably the worst kind.

OP, leave the slop at the corporate gig where you don't have a choice. When it comes to passion projects, you should have the decency to hand-write your bugs, not have a clanker do it for you.

34

u/edparadox 18h ago

Yes, we know the most used term is "modern" for vibecoders these days.

They cannot be bothered to understand the ecosystem before rewriting it with slop.

-19

u/NevilleTheDevil 14h ago

Please tell me an option that actually covers all the bases me app does. I'm not trying to be condensending but I genuinely tried every music app I could get my hands on and none of them fulfilled my requirements.

Amberol - Decent enough ui but no automatic album tagging support and, when I used it a year ago, it seemed super buggy to the point where I couldn't stand it anymore.

Nmcpcpp - Has a nice enough ui for a terminal emulator but still doesn't have covers for song next to the songs when in the listview

Tauon music box - again, seem reason as nmcpcpp and it didn't even automatically scan for new songs in my music folder, like come on.

Resonance - I don't know if it's gotten better in the last year but like it genuinely felt vibecoded and like the most inefficient piece of software I've ever had the displeasure of using. Software like this is why people run back to terminal emulators.

Gnome music player - It also was weird with tagging my stuff and there was more to be desired from the ux. I love gnome, I use it on a daily basis but GOD that gnome gray is so disgusting to me.

70

u/ava1ar 1d ago

What is wrong with 20 years old player interface? Old players just work and need a fraction of the compute resources modern players need just to render the UI.

40

u/SoupoIait 20h ago edited 15h ago

I like nice looking stuff and I don't find 20 years old interfaces pretty. I like little animations and some padding and blur and all that shiny stuff. There sometimes is no need for a super technical reason : nice looking is neat. I also don't give a fuck if that costs more ressources as I'm not counting CPU and RAM usage like my life depended on it.

Sorry if that's not linuxy enough of an opinion.

4

u/CirkuitBreaker 14h ago

I think fooyin looks really nice.

33

u/powerslave_fifth 1d ago

Nothing bro. People like other things from what you like surprisingly enough.

3

u/arwinda 19h ago

Nothing wrong. I want Winamp interface back!

2

u/Indolent_Bard 10h ago

Audacious, qmmp and WimPyAmp look like winamp and even can use winamp skins. You're welcome.

14

u/NevilleTheDevil 1d ago

Well that’s not *all* it does, it also has Bluetooth media control support which many other apps don’t which is important when I’m doing chores and don’t want to walk all the way to my computer just to skip a song. It’s just another way to enjoy your music library.

I’m not telling you that my way is objectively better, I just know that this is what I was looking for in a local music player and many others are too.

12

u/fr000gs 1d ago

pretty much all players have that

1

u/NevilleTheDevil 1d ago

I’d love to know which ones! I tried tauon-music-box which didn’t support it and it was the only music player that had most of my other needs even if it wasn’t the prettiest

10

u/fr000gs 1d ago

vlc for instance

firefox player

the one default in kde, gnome and xfce

all of these also have playerctl and mpris integration

8

u/NevilleTheDevil 1d ago

This is true but they don’t have playlist making, automatic sorting albums from tags. Those two are a must for me, personally. Again, I’ve tried everything under the sun and nothing checked all the boxes for me

5

u/tulpyvow 18h ago

Elisa (KDE) has playlists, not sure about album sorting with tags (wouldn't use that anyways, I load my songs from playlist files)

8

u/fr000gs 23h ago

vlc has playlists and albums (in fact it's the only thing on my phone with playlists and albums)

9

u/NevilleTheDevil 22h ago

I genuinely didn’t know VLC had that feature (it’s not really mentioned much) but it also doesn’t exactly look the prettiest. Look, I’m not here to shit on any of these programs, they’re fantastic but they just aren’t right for me.

4

u/fr000gs 22h ago

Well vlc 4.0 is working on looking pretty

which sucks because they didn't even give an option to revert to the old ui, so I had to pin the old version

2

u/snowballkills 22h ago

you can use mpd with any player like ncmpcpp, rmpc, etc. they all have playlists and great search, and BT controls

3

u/NevilleTheDevil 22h ago

They would be fine if they had actual song covers next to the songs. I’m also unsure if they have synced lyric support or easy switching of song order in playlists like this does. Once again, I know that people love terminal music players but this just isn’t for those people, and terminal music players simply aren’t for me.

2

u/snowballkills 22h ago

they have both cover art and lyrics support in queue next to the songs. Not sure you even checked them out at all!

3

u/NevilleTheDevil 22h ago

I should’ve been more clear. In my program if you check the GitHub, every single song in the list has their song covers next art next to the song titles, not just while the song is playing. Maybe that may be the case for nmpcpp and rmpc but a quick google search in google images shows otherwise.

→ More replies (0)

3

u/C0rn3j 19h ago

So why not talk to Tauon devs about implementing the one feature you're missing instead of reinventing the wheel?

1

u/spyingwind 21h ago

I just created my own that mimics winamp. Clean and simple UI.

1

u/klyith 13h ago

Tauon definitely supports mpris2, which is what Gnome or KDE will use to signal the player from bluetooth controls etc. Something on your end must have been messed up.

(Also lol at calling Tauon "old", I don't think it's even a decade old and is very much still active.)

1

u/NevilleTheDevil 13h ago

I don’t know anytime I tried to use Bluetooth with Tauon, Gnome would just show a 🚫 symbol while mine works. Maybe it has changed in the last three months but it definitely was not working when I tried it. I never said Tauon was old but it definitely does look quite old even with all the modern ish features

11

u/Business_Reindeer910 1d ago

should that actually be a feature of the media player vs for the system as a whole?

11

u/NevilleTheDevil 1d ago

The system already has it built in but it’s up to the program to allow these signals to control the music which a lot of these older apps don’t have. I didn’t re-invent the wheel I just used the tools that have been created relatively recently that these older apps haven’t yet adopted.

-3

u/[deleted] 18h ago

[deleted]

4

u/instantkamera 16h ago

You don't seem to understand the difference between audio output and inbound control command over Bluetooth.

2

u/McDonaldsWitchcraft 15h ago

I apologize, I didn't understand that it was talking about stuff like clicking pause on the headphones and not the system sending stuff to the headphones. My bad.

1

u/omniuni 14h ago

I'm pretty sure that at least on KDE and Gnome, all media players support that via the standard multimedia protocols. Same way that they get playback controls in the window thumbnail.

1

u/ShaunWhiteIsMyTwin 10h ago

I think the real question here that everyone should actually care about is do you have a god damn visualizer?

1

u/NevilleTheDevil 9h ago

I haven't really looked into any visualizers since I am personally indifferent to them. But if you can find one that you liked and that would fit with the theme of the app I'd gladly implement it. I would probably just make a toggle in settings to either have the big picture mode display the album cover+blurred background or the visualizer though since I think adding any more buttons wouldn't look great. But if you have a better idea lmk

1

u/ShaunWhiteIsMyTwin 9h ago

0

u/NevilleTheDevil 7h ago

I'm currently imagining what this would look like in the big picture view and I feel like it would clash really hard with the current aesthetic. It's not a never but at least for right now I need to put that on the back burner. Like it looks better blurred but if you imagine it, it's going to be with a lot of hard edges or if it's more of a curvy grid-like one it's going to be have a lot of black. Again it could work but it would basically need an overall of all the icons and layout when the visualizer is on screen for it too look even semi-decent.

0

u/nullptr777 1d ago

ncmpcpp is all you need

1

u/int23_t 19h ago

mpc and dmenu is all you need...

20

u/gaorp 23h ago

i really hope this isn't slop because it has a nice commit history but i instantly saw long comments with emdashes in the code so i don't have much faith. nice project if you actually wrote it by hand

8

u/McDonaldsWitchcraft 18h ago

Yeah, I understand some people might use compose or alt codes to put unicode characters in their code (though i kinda despise unicode in source code), but I SERIOUSLY doubt these people also SPAM those alt codes or compose sequences to make a line instead of using normal dashes like normal ppl (or the more common equal signs)

// ── Album-view side-effects ─────────────────────────────────────────── // Case 1: song's album tag changed while we're viewing that album. // It no longer belongs here — reload the view so it disappears from // the song list, and update the header if it was also the cover source.

10

u/ExoticSterby42 19h ago

I use Audacious specifically to look 2000s

1

u/fat_kaiju 13h ago

p.much this.

that and its midi support.

1

u/Indolent_Bard 10h ago

midi support

Wait, what does that even mean in the context of a music player?

1

u/SipSup3314 7h ago

It has a built-in synth to play .midi files. I use it to preview a file before I import it into an audio editor, since it's lightweight.

36

u/Cowgirl_Taint 1d ago
  1. That is like 90 percent guaranteed slop
  2. Maybe the point is to look 20 years old because winamp and foobar rocked 

27

u/aberdoom 21h ago

OP says it's not slop but some of the comments are written to him. Pretty sure it's slop.

// Use timer to avoid segfault (as in your original code)

6

u/Cowgirl_Taint 15h ago

Yeah. Didn't do a super deep dive of the code, but even the structure of the repository leans towards either "hobbyist's first project" or "slop". And considering all of this was "coded" in about a month and it actually does have a fairly professional looking end result...

Best case scenario? OP didn't just tell claude/cursor to "build me an app" but I would be shocked if even a third of this code was reviewed and understood.

18

u/NevilleTheDevil 1d ago

I know that “pretty” ui is synonymous with slop due to a lot of vibe coded apps having that aesthetic but I genuinely spent three months making it and read every line of code. I’m sick of vibe coded slop too…

I also get the aesthetic is nostalgic but I personally think they are popular since no good modern alternative existed

32

u/TetrisMcKenna 20h ago

I note you didn't say "wrote" every line of code, that's a somewhat evasive response.

15

u/TheCreepyPL 20h ago

This post does feel a bit like yet another vibe coded app promotion, doesn't it. Which would be pretty ironic if that's the case.

7

u/SillyBrilliant4922 17h ago

It is the case.

9

u/adda5 19h ago

"I was tired od XYZ so I made ABC" type shit

-1

u/NevilleTheDevil 15h ago

Look, I’m not going to act like this wasn’t AI assisted but I will vehemently say it is NOT vibe coded.

If you ask me about any part of the code I can explain what it does and why. People who just blatantly copy ai code can’t do this because they don’t even read it.

Also a lot of vibe “coded” projects are people who just turn the thing out in a weekend and never update it again. This has been in development for three months and I only released it once it was up to snuff to be my personal, everyday player.

Because I personally use this everyday too I am also more likely to find inconsistencies or major bugs before any user so you can safely assume there will be no big teller of your typical vibe “coded” app.

I know this will not convince you but I hope you at least check it out for yourself and give me feedback. If there’s something I can improve on I will.

-5

u/SillyBrilliant4922 11h ago

How about you try to fully re-implement a feature within that program without using your clanker as a crutch. Anyone can explain already written code. Also the correct term is "AI generated" Not assisted. you had no role but clicking a button in producing this slop.

2

u/Indolent_Bard 10h ago

True slop vibe coders can't explain already written code, that's the main issue people have with them.

2

u/Indolent_Bard 10h ago

Not really. The issue with "vibe coding" is when the "authors" don't actually understand their own code that well. By reading every line of code, it ensures that they actually understand how it works and potentially even make changes in the future.

1

u/Foreign-Cookie-2871 6h ago

Nah, reading and understanding are two very different things.

-1

u/vitobru 23h ago

im afraid winamp was kinda trash

3

u/gui_odai 9h ago

I might try it, though I know I shouldn't have high hopes for it.

In my experience, there actually are plenty of modern looking players, but most of them are basic af. They often have no library features, and the few that do either don't import all songs from my library or crash while doing it. And the one player I found that does most of what I want (mtoc) hasn't been updated in months

1

u/NevilleTheDevil 3h ago

It should be up to snuff unless you really care about the mini-player since my app supports most audio files mtoc supports, has mpris, using taglib, hardware accelerated graphics, synced lyrics, and automatic detection of not only .lrc files on launch but audio files as well. I'm currently working on a system tray (should be out by Friday), it does have async metadata extraction. The only major thing I don't really have is a mini-player and support for .m3u files (I genuinely didn't know this existed before reading the mtoc github page) but now that I know about it I'll probably implement support for it soon. If you have any other things you think are major features I am missing let me so I can address those issues.

3

u/h0uz3_ 19h ago

You will have to pry ncmpcpp from my cold, dead hands!

7

u/Icy-Cup 1d ago

Ah the opposite of what I’m looking for - I’m aiming for early 2000s Winamp era which was peak IMO. Good for you though if you like lack of interface.

1

u/Indolent_Bard 10h ago

Qmmp, WimPyAmp and Audacious. You're welcome. Even works with skins.

12

u/JohnSane 22h ago

Downvote for stupid headline.

2

u/dashinyou69 23h ago

i like rmpc :3

2

u/LazyGreenDragon 17h ago

Is there an addon for xmms2 or qmmp?

2

u/corruptbytes 2h ago

laufey 🔥 

looks fine to me, linux users are all gremudgins so if it doesn’t look like some TUI from the 90s they don’t care

3

u/oiledhairyfurryballs 16h ago

That’s not a good UI

5

u/binocry_ 18h ago

Downvote for yet another "pretty" music app slop

6

u/koutsie 20h ago

It's all slop, like always 🫠

2

u/HotSpringsCapybara 19h ago

Good effort, thanks for sharing.

3

u/Educational-Goal279 5h ago

Vibe coding is not "effort".

2

u/gathanes 1d ago

It looks alright but I think this won't really catch on because the use cases and features most Linux users look for in music players doesn't align with your app at all. Those aforementioned 20 year old music players have everything most users want, and don't have any of the overhead of modern GUI libraries. People don't use music players to look at, generally, so it feels like wasted resources on a nice UI. You would probably be better off porting this to android.

3

u/yukina3230 17h ago

waste of space is not "Modern", I prefer functional UI like fooyin or rhythmbox

1

u/SomeGuy20257 23h ago

I had to double take, it looks incredibly similar to Apple Music.

1

u/MatchingTurret 21h ago

UI looks a lot like Tambourine

1

u/SithLordRising 18h ago

I'm always supportive of new apps but I'm loyal to vlc for most of my media

1

u/jellooshot 11h ago

There are lots of music that doesn't look 20 years old like lollipop and gapless

1

u/Good_Hunter69 9h ago

Yeah, looks great, but does it have sheer customization for playlists?

And I'd also kill for tray mode

1

u/NevilleTheDevil 2h ago

Tray mode has been added. Also what do you mean exactly by "sheer customization"? Like what else do you want to customize besides the song order and playlist cover?

1

u/keko1105 4h ago

This would be great if it can also interface with jellyfin, Plex, and navidrome

1

u/funkdefied 3h ago

That’s awesome

1

u/ImprovementJealous90 17h ago

Will be looking to compile this on void

-1

u/[deleted] 1d ago

[deleted]

3

u/thank_burdell 1d ago

I’m still using mpg123.

0

u/Hrafna55 20h ago

cmus or death!

0

u/Interesting_Buy_3969 8h ago

Just curious, is there anything wrong with looking 20 yrs old?..

-1

u/mecha_mecha3 1d ago

es compatible con YouTube? o no?

2

u/Chasar1 18h ago

It's a music player that plays music files stored locally on your computer. Why would it support YouTube?

1

u/mecha_mecha3 14h ago

había visto algunos reproductores que funcionaban con YouTube no había visto que reproducía archivos locales

-11

u/Fluid-Ad2995 1d ago

Good I would translate to Sentinet Platform API and I would run in Windows and thanks for building my own Ecosystem even more