iRiver Update

An update on the iRiver after a couple of days usage.

In general, it’s great. I’ve had no trouble loading files onto it and it’s a lot of fun having 40 Gb of music in your pocket at all times. I even got iRipDB working really easily, so it has a database of my music which allows me to browse by artist, album and genre (not that the genre tags on most of my music files have much meaning).

There is, however, one slight problem. And it’s one that I’m only going to be able to fix by a change to the way I work with music files.

Currently I store all my files using the directory structure Artist/Album/track_name.ogg. For each album I also create a .m3u file which contains a list of the tracks on that album in the correct order. When I want to listen to an album I load up the .m3u file in Xmms and off we go.

But the iRiver has pitiful support for .m3u files. Oh, it claims to support them. But they need to be in the format created by Winamp. Practically that seems to mean that they need DOS line endings and backslashes where any sane operating system would use forward slashes. Of course, making those conversions to all of my .m3u files would be trivial. But it’s not worth it as the iRiver only supports 200 .m3u files at a time. So I have a player that currently has 7,000 songs on it – probably about 700 albums – and I can only use .m3u files for 200 of them.

So the alternative is to play each track in an album’s directory in order. All of my music files contain (mostly) accurate tags listing the track number. So if we could play the tracks in a directory ordered by that, then everything would be fine. But the iRiver won’t do that. It will only order the tracks by filename. Which basically means that you’re listening to an album in alphabetical order. Which can be a bit confusing.

The solution is to rename all of my music files so that the filenames start with the track number. Files will look like Artist/Album/xx_track_name.ogg. It’s not a big deal. I can write a program to do that pretty easily, and I’ll need to reload all of the files onto the player (which takes about seven hours).

It’s just a bit annoying that I’m forced into changing the way I’ve been working for years, just because the software has pointless limitations built into it.

Still, the pros of having the iRiver far outweigh the cons.

8 comments

  1. I am constantly annoyed by software performing this alphabetic reordering. It’s as if the developers never listened to albums. I’ve just looked at Pink Floyd’s The Wall, and Jeff Wayne’s War of the Worlds (both topical) alphabetically listed by title, not very clever.That arbitrary 200 .m3u limit also seems very stupid. Luckily, I only have a 256Mb iRiver player :-)

  2. “The Wall” and “The War of the Worlds” were two of the albums that I was considering listening to on the way in this morning. In both cases I decided against it as I didn’t fancy listening to them in alphabetical order.From looking at how other people work, I’ve decided that I’m in the minority. It seems that most people put the track number in their filenames anyway.

  3. Yes, I’ve always used “artist/album/tracknum – trackname.format” as filenames for things. And I don’t even have an iRiver ;)

  4. does iriver read the track number id3 tag. if it does you can simply edit the track number via a script. i use this python script to add track info to all of my audiofilesit is a bit messy because it is cut and pasted from other scripts but is self contained uses audiotag availibe in gentoo to make the changes.#!/usr/bin/env pythonimport osimport sysimport stringdef main():args = sys.argv[1:]playlist = args[0]album = load_album(playlist)cmdlst = process_album(album)for x in cmdlst:print xmap(lambda x :os.system(x),cmdlst)def load_album(x):”””Read the contents of an album”””f = open(x)lst = f.read()lst = string.split(lst, ‘\n’)return lstdef process_album(album):”””Create the commands to prepend the track number before each album.”””cmd = “”r =1lst = []for x in album:lst.append([r,x])r += 1cmdlst = map(lambda x: mkcmd(x[0],x[1]),lst)return cmdlstdef mkcmd(num, file):return “~/bin/album-tracknum-set.sh \”%s\” \”%s\”” % (num, file)if __name__==’__main__’:main()

  5. David,Thanks for the suggestion, but I previously said:

    So the alternative is to play each track in an album’s directory in order. All of my music files contain (mostly) accurate tags listing the track number. So if we could play the tracks in a directory ordered by that, then everything would be fine. But the iRiver won’t do that. It will only order the tracks by filename.

    My files already have track numbers in them (I have a Perl program that does much the same thing as your Python program), but the iRiver completely ignores them.

  6. In defence of Apple and iTunes, it knows about track numbers, and lists albums by track number even when the track number isn’t in the filename (it picks it up from the MD3 tag).You should have just bought an iPod and been done with it – why do techies have to complicate everything! ;-)

  7. Well, the main reason is that the iPod won’t play my Ogg Vorbis files. But also the iRiver has a built-in FM radio and a microphone for recording stuff.On balance it’s just a better player.

  8. But if you weren’t a techie you wouldn’t have the Ogg Vorbis files! :) It’s a fair point about the FM radio and the microphone though. Also, the wheel on my iPod mini is irritating because it doesn’t work very well if your hands are too dry! Very strange.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.