Hello Planet KDE, I am Matthieu Gallien. I am a software developer mainly working with C++ and PHP. I am passionate about free software in general and KDE in particular.
Elisa Music Player
I have been working on a music player for some time. I have decided to try to implement a design made by KDE VDG and especially Andrew Lake (Design for a Music Player). I had this idea after I saw this article from Thomas Pfeiffer (Phoronix offers some criticism of KDE software, and this is how KDE deals with it).
I would like to thank them for being a source of inspiration and the high quality of their work.
Elisa is using Baloo indexer in order to get all music indexed by it without needing any configuration by the user. This also means that support for other indexers or platforms is not yet done.
Goals
- being easy to setup (ideally, one would not setup anything before being able to use it) ;
- being fully usable off-line (or in privacy mode) ;
- being open to leverage on-line services but not a development priority (the experience should not be degraded when you are off-line) ;
- being focused on satisfying users’ goals ;
- being focused on music player (managing your music collection is not a development priority). This means that it is not a direct fulfillment for people needing that. This seems that a dedicated application would be more appropriate ;
- being as much as possible bug free (meaning stability has higher priority than feature development) ;
- targets Linux Plasma Workspace, other Linux desktop environments, Android and Windows ;
- being able to leverage UPnP DLNA.
In addition, KDE VDG have done a lot of design work that I am trying to follow (KDE Visual Design Group/Music Player).
Current State
You can browse music by albums or by artists. More navigation possibilities will be added latter (Genre, All tracks, …).
The playlist is always shown to allow feedback when inserting tracks in it. You can also display it maximized. In this case, extra information will be shown related to the currently playing track.
It is already usable but I still need to do a first release. There is at least one problem that need to be fixed before a release. If you move tracks inside directories indexed by Baloo, they will disappear from Elisa until you restart the application.
It is using some KDE Frameworks 5 libraries (Baloo, KFileMetaData, …), Qt Quick Controls 1 and QtMultimedia. Writing a music player on top of those foundations have been a real pleasure.
Some design points are still open:
- trying to combine an interface to be used with the mouse and with the touchscreen commonly found on laptops ;
- how to decide what is done by single click, double click or single long click.
I welcome all kind of feedback on it. Especially any bug reports would be much appreciated.
My available time being limited, any help would be also very much appreciated.
Development is happening in KDE infrastructure and can be followed from the workboard in KDE’s Phabricator (Elisa Workboard).
I would also like to thank the KDE community and especially all those that have helped me during the development of Elisa.
I really have to say THANK YOU only for using Baloo. While it’s a great “tool”, it’s so in need of a real world application that it uses it to iron out things and pushes development effort to it.
Other than that I’m very excited for Elisa (I dont like that name because of an Ex-girlfriend tho xD). Thanks for that work.
and now I wish a happy
pacaur -Sy elisa-git
to everyone (:
LikeLike
In the case of Baloo, I am not sure the needs of a music player are necessarily the same than other applications. Anyway, Baloo is integrated in the Plasma Desktop and this the main reason for using it as the first supported indexer.
For sure, a tool is always better when used by more people.
There have also been a great work done on a bridge between Baloo client APIs and Tracker ( https://cgit.kde.org/clones/baloo/cullmann/tbaloo.git/ ). I have not yet been able to test it but this is definitely planned.
LikeLike
MTP sync planned?
LikeLike
Not really. I believe desktop environments have good support for it nowadays.
LikeLike
Download link? Target KDE Applications release?
How can we try this out, now?
This is all very exciting and I applaud the work done here.
LikeLike
In its current state, I am using it as my main audio player on Plasma. I am not yet using it on Windows. There are still blocking bugs for a release.
It is available from an AUR archive as far as I know. You can also get it from git. There are not yet binary packages for it.
LikeLike
“from git” – I was kinda looking for links… found them though.
https://cgit.kde.org/elisa.git/
https://github.com/KDE/elisa
LikeLike
Wondering why a simple “All tracks” view got out of fashion.
LikeLike
I am planning to implement one. Its priority relative to the work I already did was lower.
LikeLiked by 1 person
Nice! This is exactly what KDE needs. A directory/folder view would be most welcome!
LikeLike
Thanks for working on that. I’m really in favor to keep it simple but I have one question. Will it support simple music streams (online radio), I do not need any other fancy music stuff :-).
LikeLike
Yes support for that is on the roadmap. Probably not in the first release.
LikeLike
Thanks. We miss a good music player in Qt5, I’m currently using Clementine, but development seems to have stalled. Also, I tried to use tomahawk, but development also stalled. There wasBangarang, but development also stalled, and Amarok also stalled.
I’m not sure what happened with all of the nice music players for the linux word, but I hope yours fills the gap.
I’m downloading it and if I managed to, I’ll try to iron some bugs too.
LikeLike
I know a few people invested time on bringing new life to Amarok. You could ask them.
I am using Tomahawk on Windows and tried it on Android. Not sure what is its current status.
LikeLike
Try Sayonara. Using it now, and has a PPA for easy Buntu-based distro installation and updates. I’ve also used Tomahawk but it lacks a genre filter and the development looks basically dead.
LikeLike
Charles is right. Listen to him. During the weekend a new version of sayonara will come out. And it will be great!
LikeLike
I am happy for you that you are a sayonara user. I do not see how this is related to my blog though. Please try to stay on topic. I am not comparing different music player.
LikeLike
Your help will always be welcome.
Did you eventually compile it ?
LikeLike
Firstly, thank you for your efforts. As a dev (embeded industrial stuff) I always appreciate the thought and work that goes into these projects. Also note I’m a long term fan and user of KDE/Plasma.
Can I throw my £.02 into the mix? For ME music player usability peaked with KDE3’s noatun, simple playlist on, player interface “off”. Just a simple playlist to drag files into. No on-line ability at all (important), no album cover dispaly or discovery, no dancing visualiser. No wasted screen space, bandwidth, or cycles….even though I lack none of these. No metadata driven database collection, which may or may not be complete/correct/consistant.
I fully realise this is as welcome in “modern” interfaces as a lumpy fart is in a bath, but this is a post about music player design ;-).
Does anyone know for such an animal? I’ve been looking but EVERYTHING seems to want to do and reveal too much via external services.
😉
LikeLike
I can think of pogo (jendrikseipp), but this might not be the place to discuss.
LikeLike
What about DLNA support so far? Just for accessing media servers or can we finally also control DLNA Media renderer?
LikeLike
DLNA support at this moment is broken.
In a first time, I will bring back browsing.
In a second time, I want to have control of external media renderer such that I can use it for that purpose.
LikeLike
Appreciate very much the VDG-conform design. Though personally I’m not attracted to the workflow as I like to play files from a directory (Qmmp is my player). No idea how many users like me would be happy about a default KDE player “Elisa” that offers an additional minimal design without MTP/Baloo or other indexing. Great work anyway!
LikeLike
It started almost like that but for UPnP DLNA shares.
I may revive this code and look at the possibility to allow browsing local folders also.
Still, I am not sure if a dedicated UI would not be better. I may experiment with the idea integrated in Elisa. I fear the users comfortable with file system hierarchies are not necessarily the same liking the current UI.
Thanks
LikeLike
Let’s hope it’s not another Amarok and Clementine. I am very discomforted when we create a new project when old ones are already bleeding.
I wish you good luck.
LikeLike
Congrats on the accomplishment! It is certainly a welcome sight. While my efforts on Bangarang necessarily came to an end, I’m grateful you had the motivation and skill to step up to the plate and deliver something for this new generation of Plasma and KDE applications. For what little it is worth, you’ve got my complete support for this project. Keep on keeping on. 🙂
LikeLike
I also plan to make a simple music player for KDE, but focus on metadata and lyrics. It should be:
1. Download album cover picture automatically if it is missing. And write to audio file.
2. Download lyrics from internet, prefer those with time stamps.
3. Complete metadata from Brainz and other online services.
4. Reduce those music management functions and online stream supports. Just play.
5. Can be use in a very small window.
I hope I can make something really simple, like Dragon Player replaced Kaffine. Use it out of box. Just do what it should do.
LikeLiked by 1 person
When i first open elisa i see this Screen: http://i68.tinypic.com/2d6si81.png and it says that there is no music in my list yet and i can use the left menue, but i can nit see a menu to add some title into the list. This is not intuitive for me 😦
LikeLike
If you understood what I mean, feel free to propose a better wordings as a basic help message for newcomers.
LikeLike
Excuse my ignorance, but now that it seems there are (again) two actively developed KDE music players – how do Elisa and Babe¹ differ?
Very happy to Elisa (and Babe) develop so nicely, BTW! 😀
1 https://babe.kde.org/
LikeLike
We have exchanged some mails with Camilo. Some of our goals are definitely not the same.
For example, I will work on support for Windows and Android (I have an Android phone and am using Windows at work).
As far as I have understood this is not a goal for Babe and Camilo.
Anyway, I really hope Babe and Elisa provide good options for people to use with a Plasma desktop.
LikeLike
It’s great to hear that you’re in touch with each other.
I don’t see any problem of having two KDE music players, as long as they serve different use-cases and don’t cannibalise each other’s development resources. As was pointed out before, we used to have Noatun, Juk and Amarok co-exist already.
It would be great to see a comparison of goals between the two.
LikeLike
Congrats! It’s a great work, well done, tanks!!
LikeLike
Hi, will the android app be developed in java? Where can i find the repo for it?
LikeLike
Hello, the Android version will mainly be the same c++ code with a dedicated user interface. Some native platform integration code will require some java code. The quantity will probably be quite small.
LikeLike
So will it be using NDK or Qt?
LikeLike
It is going to use Qt and qml like the desktop builds.
LikeLike
This is awesome guys! When it supports radio stream and podcast I’ll jump on board right away!
LikeLike
Thanks for your comment.
LikeLike