Hacker News new | past | comments | ask | show | jobs | submit login
Clementine: modern music player and library organizer (clementine-player.org)
105 points by based2 on April 20, 2016 | hide | past | favorite | 57 comments



Clementine: all the good bits from Amarok before it began to degenerate.

I love it just for the indexed metadata searching of my local library... I know no other player that lets me search a big heap of files that fast.

While listening to music, it usually give me ideas about further music I want to listen to... The playlist in right pane and search-instant filtered library in the left one is exactly the interface that suits that.

Also, the context panes with lyrics and band's Wikipedia page automatically loaded during play are nice.


Exactly. Amarok was one of the few pieces of software I looked at and thought, from a feature perspective... that's perfect. Was so glad Clementine appeared on the scene and rescued the player from its well intentioned fall from grace.


> I know no other player that lets me search a big heap of files that fast.

foobar2000?


foobar is only for windows..


It runs perfectly fine in wine, I am doing this for years.


I've done the same, on OS X yet, and had no trouble.

Unfortunately, fb2k ended up being unsuitable for my purposes for other reasons - namely, that it can't handle self-signed TLS certificates, and probably never will be able to because the developer doesn't care about that use case. I still use it at home, but for remote streaming I've found Subsonic to be an amazingly effective solution, not least thanks to the excellent iSub app.


Supporting self-signed certs is typically done by ignoring cert chain and trust issues which is a major component of TLS.

A better option is for you to explicitly trust the authority that signed the cert.


Well, yes, I'm not completely ignorant of how TLS works, so that was of course my first thought on discovering fb2k lacked any interface by which I could tell it to trust my server cert. That's why, in the process of investigating the issue, I added the root CA cert I'd created, and used to sign the server cert, to the Windows certificate store.

That was enough to stop applications using the Windows TLS stack, such as Internet Explorer, from complaining any longer about being unable to verify the certificate. It didn't change anything about fb2k's behavior, though, which led me to surmise that fb2k was doing something wonky in its TLS implementation.

On the other hand, there's a forum thread from late last year [1] in which the fb2k developer appears to have addressed the issue at least in part, by making it possible to whitelist hosts and thus bypass certificate validity checking. That's...hardly ideal, but it would probably have solved my problem, if it existed four years ago when I last tried to get this working.

The same thread includes more information on the same kind of problem I was having; from it I can surmise that if I'd created an empty CRL and had my root CA cert point to it, I probably would've been able to get it working. Would've been nice to know that four years ago, too. But it looks like I'd have needed to hook the process with a debugger and monitor system calls to find out about it, and I wanted to listen to music more than I wanted to use unfamiliar tools to debug unfamiliar API calls made by an opaque binary blob.

In any case, if I'd gotten fb2k working four years ago, I probably wouldn't have been motivated to keep hunting for a solution until I found Subsonic, which serves my remote-streaming purposes better than fb2k ever will. So however frustrating it was at the time, it's been all to the good in the long run.

[1] https://hydrogenaud.io/index.php/topic,110065.0.html


try deadbeef ?


You just don't want to use Clementine on a laptop if you value your battery life. I tried to use Clementine for a while, but on my MacBook it was using 20-30% CPU just for playing a simple MP3, where iTunes could manage with 2%.


In terms of library management, I think Beets is pretty hard to beat! I also like the UNIX philosophy, which this seems to violate. I yearn for the ability to use a Beets library as a source for streaming, along with the ability to combine with other sources (e.g. Amazon, Pandora) The closest to this I've seen is mopidy-beets, but it is now unmaintained and doesn't seem to have the ability to manage playlists from multiple sources.


Seconded. There's nothing that even comes close to Beets in terms of metadata management. Thanks to MusicBrainz, not only does it get metadata right most of the time, it keeps it right by syncing from MusicBrainz to the tags when you tell it to (mbsync).

Plus it'll (reliably) find and embed album art and do transcodes if you want it to.

> I yearn for the ability to use a Beets library as a source for streaming

Beets + MadSonic [0] blows everything else out of the water for me. I use DSub on Android and the web UI on desktop (although JamStash and Polysonic are good too).

This doesn't meet your "combine with other sources" requirement though. For that you'd need Tomahawk (which supports Beets and Amazon but not Pandora) [1].

[0]: http://madsonic.org

[1]: https://www.tomahawk-player.org

And EDIT: You can actually use Clementine with Beets through Subsonic/Madsonic as well.


I tried DSub the other day as an alternative to the standard Subsonic player on Android since it can play podcasts. I set it to wifi only streaming, but it still somehow managed to use 1.5G of my 300M data plan even though I only played a single 60M track with it; so caveat emptor …

I like Tomahawk so far for the "other sources" part (also I find the UI easy on the eyes compared to … just about anything else out there), but of course I can't get it to stream from my Subsonic collection :-/

Why do you use Madsonic instead of plain Subsonic? (Does it work with Tomahawk?)


> I set it to wifi only streaming, but it still somehow managed to use 1.5G of my 300M data plan even though I only played a single 60M track with it; so caveat emptor …

That's really odd. Perhaps it was precaching extra tracks? I haven't had any issues with it, certainly not 1.5GB of data (although I have unlimited so likely wouldn't notice anyway).

> Why do you use Madsonic instead of plain Subsonic? (Does it work with Tomahawk?)

I found that regular Subsonic just wasn't moving much at all. Madsonic seemed to have active development.

I haven't tried regular Subsonic with Tomahawk but Madsonic certainly works for me. I also hooked it into a Beets server without any issues.


What's the actual difference between Subsonic and Madsonic? I haven't been able to find any more detailed description than "[Madsonic] adds features and bug fixes", which is hardly helpful.


That's basically it. SubSonic hasn't seen much major work in years while MadSonic seems to be an active project adding features and support.


What features? What bugs? I haven't been able to find any substantive answer to either question. Until I do, I see no reason to care about Madsonic.


There's a comparison page for features here: http://beta.madsonic.org/pages/compare.jsp

And a changelog here: http://beta.madsonic.org/pages/changelog.jsp


Neat, thanks.

If you're anything to do with Madsonic development, you might think about making that comparison page a lot easier to find. It doesn't seem to be linked anywhere very much.

I'm also uncertain how "optional video player" isn't listed as a Subsonic feature, when 5.x (and I think later 4.x as well) can stream video. I mean, I've actually streamed video from my Subsonic 5 instance, so...


I really like Clementine as a streaming music player and use it quite extensively for playing and discovering Digitally Imported's streams without having to browse through the site. I really like DI's downtempo station for work, and I like that Clementine is cross-platform so I can use the same player on my work and home systems. Kudos to the team for having such a broad and deep selection of streaming providers integrated into it.

My one complaint is that the music library paradigm in Clementine doesn't feel cohesive, so unfortunately it is relegated to streaming music for me. I really don't like that I can't play music directly from the library and have to make a playlist: it feels very cluttering. This is even (or especially) true for streaming stations, in order to try a new one out it must be added to a playlist. If I could change one thing about Clementine, it would be to allow playing of music directly from the library.


Clementine was originally created as a fork of Amarok 1.4 series and this very layout was my absolute favorite feature of it. I've never felt comfortable in a media player without it. It also has dynamic playlist for people who are more into that. That library and playlist system is the entire purpose of Clementine and the reason it was created.


> I really don't like that I can't play music directly from the library and have to make a playlist: it feels very cluttering.

> If I could change one thing about Clementine, it would be to allow playing of music directly from the library.

I've always used Clementine (and Amarok before it) with the whole library selected and shuffle enabled. To browse, I can use the search bar; to force a song to play, I can double-click it; but mostly I'd right-click -> add to queue. I've never had to add items to a playlist.

Maybe the whole library view is buried under a "dynamic playlist" menu or something, but once it's been selected it'll appear by default whenever the player is opened.


It seems super likely that you don't want to click on each track as the prior one finishes so a queue is needed.

It would seem then that playing directly from the library would be functionally identifical to adding everything you click on to a transitory playlist.

In fact you can more or less use it like this with a single playlist that you either clear or just keep adding to.

Seems like that would work better if there was an option to start with a blank playlist or trim the playlist automatically so that only the last x tracks were shown.

What is the difference if any between playing as you say directly from the library and a single transitory playlist.


>What is the difference if any between playing as you say directly from the library and a single transitory playlist.

I don't like having a transitory playlist, I find it to be cluttering. It should play the next track in the library (or shuffle). If I make a playlist, it's to group similar music together.

I would like to be able to double-click on a track in my library and then tune out again until I don't like the music it's playing, rather than managing an interim playlist and having to intentionally add the album I want to listen to into it.


I love the "playlists" though I rarely save them. In my preferences I have double clicking from the library add to a new playlist. Usually I just double click a whole album, it immediately starts playing in a new playlist and I can shuffle it or loop it as I see fit. That one song on the album I don't like? I just right click and "remove from playlist", now I don't hear it. Sometimes I'll search for a keyword or artist and select all now I have a playlist with everything that artist worked on. Maybe if I've been adding and removing stuff from the queue and I like the way it's feeling I'll save it for later, or just leave its tab there for a couple months till I'm bored with it. I always keep a "dynamic" playlist tab open for when I just want a shuffle across my whole library. If I see something coming up I don't want to hear I just delete it (or reshuffle the whole thing which doesn't affect the currently playing song).


Unfortunately, for fans of Amarok 1.4, that's a feature, not a bug.


I'm not familiar with the exact history leading to the fork of Amarok. Did the 2.0 version make a change to that effect, or was it just seen as going in a different direction overall than the userbase behind the 1.4 fork liked?


Amarok 2 made major UI changes which many users didn't like, the whole thing just felt more heavy and complex. Clementine is a fairly faithful reproduction of the original Amarok line.

For comparison, look at Clementine screenshots vs this:

https://amarok.kde.org/en/screenshots


This UI is horrible IMO. Open Source projects could really start to embrace UX designers instead of 100% programmers. A slice of orange has a slider...really? :P


Arguably, Clementine is a counterexample to your argument.

Many years ago, the Amarok music player was very popular on Linux; I used it extensively, as did many people I know, even though none of us used KDE (the desktop environment on which it was built).

Then, the Amarok developers decided to revamp the project for version 2; using newer technologies, removing bit-rotten code (apparently, due to the large userbase, there were many "drive-by patches" from one-time contributors, who were never heard from again) and, most significantly, completely rethinking the UI.

If you dig around a little, you can find a lot of documents following this process, e.g. from the (now defunct) Amarok blog https://amarok.kde.org/blog

The result? The snazzy, powerful new music player known as Amarok 2 https://amarok.kde.org

Yet, a huge number (most?) users abandoned it, the Amarok 1 codebase was forked and renamed to Clementine, and years later this "horrible" music player is still going strong; so much that it appears on the front page of Hacker News.

Personally, I tried Amarok 2 for a while, but never really liked it. These days I use cmus ( https://cmus.github.io ) but my non-technical partner prefers Clementine. The only problem we've had with it is trying to use a RaspberryPi as a file server; building the player's database over a networked filesystem is painfully slow. It would be nice if there were some way to create the DB on the RaspberryPi and send it over to the machine running Clementine; but I've since been looking into Beets and MPD.


I used Amarok 2 for a while, but I was outraged by its ridiculously high memory usage (nearly 100 MiB for a library of ~3000 songs at the time). I moved to MPD shortly after.


UX designers are scary IMO. Often they have totally different ideas about a good desktop environment than the rest of us. Might end up annoying lots of your users (Firefox) or even breaking it for a significant chunk of your userbase like Ubuntu did when they decided to imitate a certain fruit company. (Yep, between moving window controls, messing with the menus, breaking alt-tab just the same way as said company and even adding a dock, thats what they did.) Certain users like it, others like me left.

Edit: the thing it seems they don't understand is:

Firefox: the people who prefer Chrome already use Chrome or Chromium. We use FF because for some reason or another we don't like Chrome. (For me, that is extensions.)

Ubuntu: lots of us used Ubuntu because we really liked it, not because we couldn't afford anything else.


Do you know any UX designers who want to volunteer for such a thing? I'll bet you a shiny nickel that the Clementine people would be happy to accept contributions in the form of graphics and patches.

But because they are an all volunteer project, they probably can't accept sketches, wireframes, and color swatches as useful contributions, because you then need to organize people to implement these things.

The gap between "do this, it will work better" and "here's my pull requests" is large.


Yes, but there's also a difference between UX expertise and simple poor taste. And the "A slice of orange as a slider" the grandparent comment refers to should not require UX designers to avoid.


Try lollypop for a modern player with a very good UI. It's still in early development, and pretty fluid, but I'm using it as my day-to-day.

I particularly enjoy its focus on albums as elemental units of playback, as opposed to songs.

https://gnumdk.github.io/lollypop-web/


Another vote for lollypop. I'm not keen on the last update (moving the great album view in a hover menu) but other than that it does nearly everything I need from a media player. The only thing missing for me would be an integrated tag editor.


So much better, thanks for the share.


So you're saying that UX designers apply to OSS projects, but just don't get "embraced" enough?

But as others have pointed out, music players are a highly subjective territory. I for one liked iTunes a lot better before Apple unleashed designers on it and made this new color-adaptive, web-like mess out of it. I like data tables.


I'm just saying that a lot of programmers have bad taste when it comes to UX. I see a lot of very OSS powerful apps but with horrible interfaces that I just can't use. Design is part of a app, not just beautiful code that the end-user doesn't even see.


Clementine comes from an place where software is aimed at all levels of user - without sacrificing expert features. If your idea of UI and UX (I don't know) is the modern trend of hiding features to make software into toys then that won't go well with its users.


I know a lot of expert tools with complex features and with beautiful design/nice to use design. One thing is not a trade-off of the other. That's a fallacy that doesn't help the stigma that OSS tools should continue to do IMO.


I've gone through every music program on linux (including Celementine) and found the only one possessing sanity across the board to be QuodLibet [1]. Everything is simple, customizable and no behavior is forced on the user. I used to use rhythmbox before it was dumbed down for Gnome 3's sake.

[1]: https://quodlibet.readthedocs.org/en/latest/


When I ended up back on Windows for work related reasons a few years back I tried a ludicrous amount of music players.

Not much was better than Winamp, even after all these years, until I found MusicBee. Nothing else comes close. Clementine was OK, but clunky.

When I replace the laptop, at some point this year, and go back to a Mac, I have no idea what I'll use for music. It won't be itunes. I need an OSX Musicbee port!


The "features" section on right of homepage says: "Copy music to your iPod, iPhone, MTP or mass-storage USB player"

The [Github Page](https://github.com/clementine-player/Clementine/wiki/Portabl...) says "iOS (iPod touch, iPhone & iPad)" is unsupported.

Is there any programmatic interface to write tunes to my iPhone and also atleast read (metadata) and delete songs off my iPhone?


Because it's a proprietary undocumented interface we are limited to reverse engineering, but efforts do exist: https://www.theiphonewiki.com/wiki/MobileDevice_Library


The most irritating thing about Clementine (I assume its the same for other players too), aside from its visual ugliness, is that if you play song from Spotify you can't scrub, just play and pause.

Other than that it's still probably the best GUI music manager/player on Linux.


I still haven't found a suitable MusicBee [0] alternative for Linux. It's the only thing preventing me from switching. [0]: http://getmusicbee.com/


How is performance these days? Last time I tried it, the app felt quite sluggish.


Is it just me or is there no way to delete all your playlists all at once?


playlist -> clear all, something like that


Unfortunately, that option is not there.


Ctrl-F "Match" No results found.

Still not usable, sadly.


Pity, no support for Google Music.


I will happily continue using iTunes over anything that uses a slice of citrus as the volume slider.


..and I will happily not use iTunes at all. A music player unable to play FLAC (a free codec) that was released 14 years ago.

A nice operating system with a bad media player.


Not only a bad media player, but one which the OS ties so tightly to the keyboard's media control functions that there seems no reliable way of prying them loose.

Not my biggest OS X annoyance, but easily in the top five.


iTunes isn't an option for those on Linux, or who don't use proprietary software.

I tend to control volume using the system's volume slider, the media keys on my keyboard and the hardware knob on my speakers. If I want per-application volume control, I can do that for all applications with pulseaudio. Clementine's volume control UI is very low in my application-choosing decision tree.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: