diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index d20b6c50..14b3a40b 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -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 diff --git a/mopidy/core.py b/mopidy/core.py index 374945d4..54d1e37b 100644 --- a/mopidy/core.py +++ b/mopidy/core.py @@ -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()