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