I’ve talked about other music players in the past. I’ve done some hacking on Rhythmbox and worked on some iPod-related stuff. I’ve tried many different players and found myself wanting something more. I like bits and pieces of each player, but none that I think are great (no offense).
I decide that I’d write my own. Big surprise there, eh? I also wanted to brush up my C skills and get a better handle on GTK. This is a win-win.
There are some key features that I want:
- Playlists, Playlists, and more Playlists
- Smart Playlists
- DAAP support (both as a client and server)
- Album artwork integration
- Streaming Radio support
- Fast loading of music library
- Minimal, clean playback interface – simple is good
- iPod support
- Whatever else I think makes sense
Okay, one could argue that X, Y, and Z players do this and more. Other players do these things, but not necessarily well (or my interpretation of well). So, in a sense I am re-inventing the wheel but with good intentions. If anything, I’ll have a music player to fit my tastes and I’ll have brushed up a few of my technical skills.
I’m using gstreamer for music playback, and shared libraries when possible and feasible. Write them when necessary (like libipod). Make it easy to use, hence the name.
Enough of the boring stuff. I’m still a bit away from a release, but I’ve got a nice screenshot of the playlist manager to show off.
Create a playlist, add your music (drag and drop, or a context menu to add to playlist) and you’re ready to rock and roll.
Can’t find what you’re looking for? The advanced filter lets you dig down deeper and do a more refined search.
Okay, so a pretty window doesn’t mean much if it doesn’t do anything. I still have much work ahead of me. I have gstreamer functioning. I have an xml document containing my music library (lots of cut and paste of AC/DC in there), and that’s loading into memory just fine. I’m making a little progress every day, so a 0.1 release will be coming by Christmas.
Great stuff!! I’m really looking forward to a usable release.
How about podlet? Is that still going on, or was it just to trie some things?
Podlet is still coming, but may end up relying on libipod, which I’ll be finishing for emp. I have a semi-functional perl version of podlet, but the perl version of the iTunesDB parser is pretty CPU-intensive. I think I can streamline that and make it perform well enough for everyday use.
How about gtkpod? That probably has a iTunesDB parser build in, and it works pretty fast…
No offense, but gtkpod is definitely not the answer I’m looking for. I’ve used it, looked at the code a bit, and tried to make it useful. It isn’t cross-compatible with iTunes (I should have mentioned that in my post), which is a goal of my libipod. I have an old PowerMac that I run iTunes on, and I want to be able to sync between them. Gtkpod doesn’t allow for that. The perl modules for iTunesDB will actually let you toggle between gtkpod-format and iTunes-format databases. I will probably refer back to that when building libipod, because I like having a choice in which format to use.
I’m not quite sure I understand what you are talking about: gtkpod does not use and perl. It also does not provide a toggle between gtkpod-format and iTunes-format databases. Last: there are people using iTunes and gtkpod in parallel. Are you sure we are talking about the same thing?
I didn’t mean to imply gtkpod uses perl. I was referring at my own meage attempts at creating a iPod sync tool, that would toggle between the two formats.
How are people getting iTunes and gtkpod working in parallel? When I’ve tried (and others I know), after syncing with gtkpod iTunes no longer recognizes the iPod and wants to re-syncronize it, i.e., erasing the device and re-copying all music.
For what it’s worth, I just installed the latest version of gtkpod. It’s quite featureful. I wouldn’t call it the most user-friendly application, though. Here’s why: the typical user that I know wants to manage their playlist in one place, typically their preferred music player, like Rhythmbox, Muine, or even EMP, and don’t want to have to use another application just to sync their iPod.
Basically, I see gtkpod as being syncronization and library management. The problem is that there are other applications to handle library management. That leaves syncronization and I’d prefer to see a stand-alone solution to that.
I see what you mean now.
Well, when I read the iPod contents with iTunes under Windows (about three times so far) nothing strange happened. I’ve also added additional music using iTunes, and again — nothing strange.
Anyway, if you are interested in code for reading and writing the iTunesDB — have a look into the CVS repository (see http://sourceforge.net/cvs/?group_id=67873). The itdb*.[ch] files provide a clean(er) interface and allow to read/write an entire iTunesDB with just one command which returns a pointer to the data. It can easily be made into an independent library. This is new code (around two weeks old).