Make core_queue available for backends

This commit is contained in:
Stein Magnus Jodal 2010-03-20 01:20:21 +01:00
parent e5be3ea640
commit aa8b67a327
2 changed files with 7 additions and 2 deletions

View File

@ -9,12 +9,17 @@ from mopidy.models import Playlist
logger = logging.getLogger('backends.base')
class BaseBackend(object):
def __init__(self, mixer=None):
def __init__(self, core_queue=None, mixer=None):
self.core_queue = core_queue
if mixer is not None:
self.mixer = mixer
else:
self.mixer = get_class(settings.MIXER)()
#: A :class:`multiprocessing.Queue` which can be used by e.g. library
#: callbacks to send messages to the core.
core_queue = None
#: The current playlist controller. An instance of
#: :class:`BaseCurrentPlaylistController`.
current_playlist = None

View File

@ -11,7 +11,7 @@ class CoreProcess(multiprocessing.Process):
self.core_queue = core_queue
def run(self):
backend = get_class(settings.BACKENDS[0])()
backend = get_class(settings.BACKENDS[0])(core_queue=self.core_queue)
frontend = get_class(settings.FRONTEND)(backend=backend)
while True:
message = self.core_queue.get()