Mercurial > vixm
diff vixm/song.py @ 30:860c891de6bb master
Remove lots of xmms-related code & get ready to make the whole program a
standalone player
author | Josef "Jeff" Sipek <jeffpc@josefsipek.net> |
---|---|
date | Fri, 03 Nov 2006 22:49:09 -0500 |
parents | dfcf1a46fc56 |
children |
line wrap: on
line diff
--- a/vixm/song.py Mon Sep 04 21:34:27 2006 -0400 +++ b/vixm/song.py Fri Nov 03 22:49:09 2006 -0500 @@ -6,14 +6,46 @@ # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. -import xmms +import ID3 class song(dict): - def __init__(self, pos): - self["file"] = xmms.control.get_playlist_file(pos) - self["time"] = xmms.control.get_playlist_time(pos) + def __init__(self, filename, pos): + id3 = ID3.ID3(filename) + + self["file"] = filename + + try: + self["album"] = id3["ALBUM"] + except KeyError: + self["album"] = "unknown" + + try: + self["artist"] = id3["ARTIST"] + except KeyError: + self["artist"] = "unknown" + + try: + self["title"] = id3["TITLE"] + except KeyError: + print "%s doesn't have a title!..using filename" % (filename,) + self["title"] = filename + + try: + self["year"] = id3["YEAR"] + except KeyError: + self["year"] = "unknown" + + try: + self["genre"] = id3["GENRE"] + except KeyError: + self["genre"] = "unknown" + + self["time"] = 0 self["pos"] = pos - self["title"] = xmms.control.get_playlist_title(pos) def __str__(self): - return self["title"] + return "%s - %s" % (self["artist"], self["title"]) + + def play(self): + # play the actual song + pass