view vixm/player.py @ 35:a7d370f326df master

Implement song playing
author Josef "Jeff" Sipek <jeffpc@josefsipek.net>
date Fri, 03 Nov 2006 23:49:29 -0500
parents 8028f2addb00
children c6a3a4d09a9a
line wrap: on
line source

import time
from threading import Thread

import mad, ao

class playerThread(Thread):
	def __init__(self):
		Thread.__init__(self)

		self.shutdown = False
		self.playing  = False

		self.current  = None

		self.dev      = ao.AudioDevice("raw", \
					filename="/tmp/foo", \
					overwrite = 1)

	def play(self, s):
		self.playing = True
		self.current = s

		mf = mad.MadFile(s["file"])

		while True:
			buf = mf.read()
			if buf is None:
				break
			self.dev.play(buf, len(buf))

		self.playing = False

	def run(self):
		while not self.shutdown:
			time.sleep(0.5)