My Site
Categories
Blogs
Useful Links
Exaile 0.3
Written by: Adam Olsen (synic)

Exaile is currently undergoing an almost complete rewrite. Why? Because the codebase could be better. Recently, thanks to Aren Olson, the 0.3 branch has been taking off. Already the code is a lot better, and will be a lot easier to add things to in the future.

As of this writing, you can create a collection, based on different libraries (directories). For each one of these directories, you can set a rescan interval, and/or have the library be watched by pyinotify for changes. You can create playlists, smart playlists, play these playlists in order or shuffle and/or on repeat. I am currently using it as my default player.

However: none of this can be done using a gui yet. This can all be done easily by using Exaile 0.3's pretty good looking internal API. Here is an example:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python

import exaile as ex
from xl.playlists import Playlist
from xl.collection import Library

ex.main()
exaile = ex.exaile

# scan my music directory
exaile.collection.add_library(Library("/home/synic/media/music"))
exaile.rescan_libraries()

# Create a playlist with the artist Thievery Corporation, but exclude anything
# from the Versions album

pl = Playlist()
tracks = exaile.collection.search('artist=="Thievery Corporation" NOT '
    'album="Versions"')

pl.add_tracks(tracks)
pl.toggle_random()  # I usually play my music on shuffle :)

exaile.queue.set_current_playlist(pl)
exaile.queue.next() # start playback of the playlist

# ok, let's quit.  This will save the collection to the database, settings,
# etc.
exaile.quit()


Developing this way will make it much easier to add a gui (or even more than one type of gui. Someone could create a wxPython gui while we're creating the familiar pygtk gui).

We're also adding a test suite which should make for stabler releases once the first 0.3 release is ready.

If you'd like to track the status of 0.3 developing, you can watch this file: PLANNING. This is the planning document that we will be using until we're ready to start adding tickets to launchpad.

I'm excited, and if you're an Exaile fan, you should be too. Exaile 0.3 will be pretty awesome.

P.S. Thanks Aren :)

File under: Exaile, Programming
Comments:
From moondowner on June 8 @ 5:25 a.m.

Dugg this ;)

I really love this media player, and I use it in everyday basis. Though I have few comments.
When it's put in minimode (via the plugin) the 'next' button expands when the whole windows expands, and the other buttons stay the same.
Other thing, a tight integration with last.fm (as in BMPx) which means not only subbmitting tracks, but also subbmitting tags for songs and sending recommendations to friends to be enabled. :)

As a fan of exaile, damn I'm excited. And I hope You will have lots of fun while finishing the new version :) :)
From synic on June 8 @ 9:15 a.m.

Thanks for the Digg!

As for the minimode bug, I'd post something on the bug tracker with a screenshot.

Hopefully we'll be able to do a lot more with last.fm in the near future. We're going to have to figure out where to put everything in the UI. Please post suggestions regarding that (if you have a UI mockup or something) on the forum.

Thanks!
From spidernik84 on July 30 @ 10:51 a.m.

Lol, i'm suspecting you posted this after my shout on your Last.fm page! :D
Glad to have you back :P
From Berteh on July 31 @ 12:30 a.m.

Hello,

I really like your exaile player, for it's lightweight and useable!

Maybe its too late, but speed-wise you might want to look at the tracker indexing engine as a backend: termendous speed on my old PC and it allows for additional metadata that would nicely fit onto your score, collections and any other rating kind of information: http://www.gnome.org/projects/tracker/

Then a feature request: provide means to control exaile from outside the program... for instance thru FoxyTunes: http://www.foxytunes.com/


Thumbs up and wish you the best for the remaining work.

Berteh.
From Olivia Cond on July 31 @ 9:14 p.m.

"have the library be watched by pyinotify for changes"
FINALLY, i've been waiting for this feature :)
From bung on Aug. 3 @ 8:10 a.m.

yep, i am pretty exited as well about what you guys will accomplish in version 0.3.

i must admit that after testing exaile for a while i returned to amarok, even though i am using gnome and have a permanent struggle with the disk space on my eee pc 900. :/

basically, there are two reasons for this decision:
first, some issues with soundquality using audiopulse (cracks, lags), probably because of the poor cpu power of my eee.
second, the lack of possibility to group various artists-compilations into a separat column.

despite that: great work! :)
From Antony Williams on Aug. 3 @ 10:55 a.m.

please use some code from Amarok 2.
I've always considered exaile to be the Amarok gtk+ alternative.

i hope you keep up with Amarok, cause Amarok 2 is going to be amazing. (but i use gnome :) )
From Anonymous on Aug. 3 @ 10:46 p.m.

Hope you will also be saving the playlist (and the current song in it) on a more regular basis, not just on exaile close. Because in my xfce installation, I have to manually close exaile before shutting down to save the playlist.
anyway - good work, you've made my favourite player on linux.
From Gufo on Aug. 22 @ 1:05 p.m.

Can't wait for Exaile 0.3 is getting out to the World.
Why?
Cause i like the actual Version very much but ist ab bit to Buggy. If it would work as it should, I wouldn't need 0.3 ;) .
Thx anyway for this realy nice piece of work
From Prakash on Aug. 25 @ 8:57 a.m.

thanks for this wonderful music player.:) may the spirit of FOSS be eternal.
From Olavjunior on Sept. 7 @ 8:02 a.m.

I'm missing one thing in Exaile, and I would love to see this feature in 0.3: The player being able to follow a track and remember it's rating ect when it's been moved. Ex I download some songs to a local download-folder, and then later want to move it to an server or external drive, then everything's lost. (the next amarok wil have this feature I think)

Add a comment:

Name:
Type Vim Here:   (It's a human test)
Email Address:   (optional for reply subscription)
Comment:   
 
Note: If you enter your email address, you will be subscribed to this article and will recieve comment updates via email. This is the only thing your address will be used for. A link will be provided at the end of each email that will allow you to unsubscribe should you need to, or you can go to http://www.vimtips.org/unsubscribe to unsubscribe from any/all updates.