I've always liked Amarok: it does everything I always wanted, and more. It looks perfect in every way ...
But .. it uses the QT library, and although there are tricks to make QT applications more fit in with your gtk desktop/theme it will never fit in perfectly, not only graphically but also because you still need to load the qt libraries when you want to listen to some music and it is built to interact with the KDE desktop environment.
So, I've been looking for an alternative, a GTK application strong enough to actually be able to replace Amarok, the king of all software music players.
::Read from here
First a list of features I would like to see in my new music player. Let's keep it real: I don't think there is any music player out there that does everything listed here, not even Amarok. I can live with some missing features, as long as it has the most important ones. The other features might be added later on anyway, and who knows, maybe I'll start contributing to a project if I really like it...
In order of importance:
Stuff that other people like, but I don't need/want/care about:
(*): I absolutely love Musicbrainz and use it all the time but I don't think it is functionality to be put in a music player. I use the Musicbrainz Picard tagger to organize my collection. Putting all the needed functionality inside the media player would make it very bloated. So in theory I actually wouldn't need any tag editing at all in my music player
(this could be a discussion in it's own merit: why don't we get rid of all tag editing functionality in all music players and use decent, separate utilities such as the Musicbrainz Picard tagger to tag your collection?)
It struck me how many GTK music players there are out there, and especially how similar some of them are.
Description on the Exaile website:
Exaile is a music player aiming to be similar to KDE's Amarok, but for GTK+ and written in Python. It incorporates many of the cool things from Amarok (and other media players) like automatic fetching of album art, handling of large libraries, lyrics fetching, artist/album information via Wikipedia, Last.fm submission support, and optional iPod support via a plugin.
In addition, Exaile also includes a built-in SHOUTcast directory browser, tabbed playlists (so you can have more than one playlist open at a time), blacklisting of tracks (so they don't get scanned into your library), downloading of guitar tablature from fretplay.com, and submitting played tracks on your iPod to Last.fm
The description pretty much sums up all there is about Exaile.
However I want to add it also supports podcasts and streaming radio.
You can also rate all your tracks and it has some smart playlists (depending on ratings, newest, random, top tracks, ...)
It uses sqlite (no MySql support like Amarok, which is not a big miss)
The fact that it allows to have multiple playlists / radio's / ... open in tabs is a killer feature! (Amarok guys: implement this too!)
Another cool thing are the plugins which add even more functionality, and it's very easy to install them from inside the program, enabling goes instantly (without the need of a restart)
Also, it can output via jack, because it uses the GStreamer framework. It does however create a new jack instance for each song, so each time a song changes, it drops the current jack output and creates a new one. I don't like this, because each time have to re-attach my routings, maybe there is some automated way to do this (with qjackctl or something?) but I haven't figured it out yet. If anyone knows more about this, let me know!
When last.fm submission fails (eg when your connection is down) it doesn't keep a queue to resend later like Amarok does, also it currently doesn't offer Last.fm radio streaming.
When searching through your collection the results aren't updated instantly: it takes a second or so (just like when using Amarok, so that's fine)
I don't think Exaile can automatically mount your Ipod for you. But I don't think this is the task of the media player: You can always use a deamon (or your DE) to do that (I use thunar-volman in Xfce for that). The media player should however work well with the device, after it's mounted. In Exaile the Ipod plugin works pretty well, when you mount your Ipod you can make it connect to it, show you the playlists and songs, and you can add songs and playlists just like in Amarok. I couldn't, however, edit the playlist that was on the Ipod and creating and deleting a new playlist was a bit buggy (gui still showing old entry with some random ascii characters instead of not showing the playlist anymore)
As a last negative point, it seems to not support inotify as of yet. You can configure it to systematically re-scan your collection every specific interval which is okay, but doesn't come close to inotify (especially for huge collections)
So, to conclude I would say Exaile is a worthy alternative for Amarok, which is a huge thing to say. It doesn't offer everything Amarok does, but it does have most important features and even offers some - useful ones - that Amarok doesn't have. And I never had it to crash or anything like that, it behaved well and stable.
The project is however pretty young and it is being actively developed. Which is a must because some features still need to be implemented (such as inotify support and Last.fm streaming)
But I see much activity on trac, especially in the domain of Last.fm where I can see that support for Last.fm streams is scheduled for the next minor release (0.2.11) so I'm not worrying and I'm using Exaile full time right now.
I haven't deleted Amarok just yet, but I don't think that will take very long ;-)
Don't take my word for it, but if I ever find the time for it, I would even like to get intimate with the code base and do some contributions.
Great post, I'm having somewhat of the same issue.
I really love how Amarok works and all, but the Qt thing just looks alien, I'll have a look at exaile and see how well it will suit my needs. (I hope no one in #amarok of freenode reads this ;))
Posted by tante on Sun Jul 8 12:08:43 2007
i'm trying out this exaile program but how can u make it connect to jack? (on gentoo)
Posted by mpezza on Sun Jul 8 15:31:58 2007
Making use of jack was a bit tricky, especially on Gentoo.
You need the gst-plugins-bad package. It contains the jack audio output plugin.
On Gentoo you need gstreamer-0.10.13, gst-plugins-bad-0.10.5 and gst-plugins-base-0.10.13.
However the latest versions in portage are 0.10.12, 0.10.4 and 0.10.12 respectively. What I did is bump the ebuilds in my local portage overlay. (copy the ebuilds, put them in the right directories, change their versions and dependencies, then type ebuild *ebuild-name* digest)
Then delete "jack" from the my_gst_plugins_bad variable in the gst-plugins-bad.eclass
Keyword the packages and emerge (--update) them.
If all went well you now have the necessary stuff installed.
Then in ~/.exaile/settings.ini set audio_sink to jackaudiosink
If that all worked out, Exaile will open a jack audio output each time you play a song. Let me know how it worked out :-)
Posted by Dieter_be on Sun Jul 8 16:28:15 2007
I just found out that in ~/.exaile/settings.ini the password for Last.fm is stored encrypted/hashed. I don't know if it can easily be decrypted or something (because I think Exaile needs to know the cleartext password to send it over a http or https (i don't know) channel)
But at least it's better then Amarok, which stores your Last.fm password (and MySql password too) in cleartext in your .kde/share/config/amarokrc !
Posted by Dieter_be on Sun Jul 8 16:38:00 2007
gaim used to have a FAQ page dedicated to that issue, bottom line is: If someone can dig through the files in your ~ folder you have bigger problems than whether someone might pick up your last.fm password ;)
I personally use gnome-keyring whenever I can (I find it really convenient) but to untie programs from the DE they were written for I think the storing of the password in a text file makes sense (even though optional keyring backends would sometimes be neat). exaile needs the password in plaintext so the encryption could be reversed by anyone that wants to (just look into the exaile sources to figure it out) so it's more a security-by-obscurity thing (which is always a bad idea).
Well back on topic, exaile is running here now and not looking too bad, I'm still digging through it to find what's good and what's worse than in amarok (I already miss my moodbars ;))
Posted by tante on Mon Jul 9 10:47:28 2007
Good point about ~ readability, but what about superusers/administrators? (root) I don't trust them either.
(luckily I usually am my own administrator)
But yeah, the application has to be able to send the password, so it must be able to know the cleartext one, and if the application can decyper it, you can too, so such a protection can - by definiton - never be secure. Unless you have to remember & type the key (password) to decypher it but that wouldn't be very convenient either :p
In such cases security by obscurity indeed isn't a good thing. Although imho that should not always be the case. For example for applications where you can safely assume no one will ever see the source code, like in php webapplications.
Posted by Dieter_be on Mon Jul 9 16:05:25 2007
thx man, i got it to work, gentoo is so cool ^^
Posted by mpezza on Sun Jul 15 14:43:30 2007
I am in love python, but I think Music Player with Python is bad idea !
I have Exaile but always crash (know I am listing music with Exaile, but I don't know why tonight works well !)
Posted by Milad on Tue Jan 15 16:26:43 2008
too many bugs for me on initial installation, and not quite enough functionality. as much as i don't want to have the KDE dependencies, i will continue to use amarok until exaile has been developed more fully.
Posted by Anonymous on Fri Jan 9 05:02:27 2009
The stable version (0.2x) works just fine. You must be installing latest alpha (0.3), which is of course work in progress and has not all of the features yet + it crashes often (here at least).
I only wish there was some other lyrics/info plugins available, cause the info tab its ok, but sometimes it fails to fetch the info and theres no way to refresh the tab (maybe just restart the song, close info tab and reopen or even restart exaile).
But all in all... im not using Amarok anymore ;)
Posted by legion1978 on Thu Feb 5 11:13:25 2009
Amarok is always crashing, rhythmbog doesn't have folder structure view...exile is perfect
Posted by Anonymous on Sun Aug 16 07:44:51 2009