From c81a1162a8e8e5964b989033ae2bba98881292d5 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Wed, 11 Aug 2010 22:58:42 +0200 Subject: [PATCH] Instantiate GStreamerOutput. Create a pipe from CoreProcess and Backend to GStreamerOutput. --- mopidy/process.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mopidy/process.py b/mopidy/process.py index f23ba6fc..94da3a58 100644 --- a/mopidy/process.py +++ b/mopidy/process.py @@ -37,6 +37,8 @@ class CoreProcess(BaseProcess): def __init__(self, core_queue): super(CoreProcess, self).__init__() self.core_queue = core_queue + self.output_connection = None + self.output = None self.backend = None self.frontend = None @@ -47,12 +49,15 @@ class CoreProcess(BaseProcess): self.process_message(message) def setup(self): - self.backend = get_class(settings.BACKENDS[0])( - core_queue=self.core_queue) - self.frontend = get_class(settings.FRONTEND)(backend=self.backend) + (recv_end, self.output_connection) = multiprocessing.Pipe(False) + self.output = get_class(settings.OUTPUT)(self.core_queue, recv_end) + self.backend = get_class(settings.BACKENDS[0])(self.core_queue) + self.frontend = get_class(settings.FRONTEND)(self.backend) def process_message(self, message): - if message['command'] == 'mpd_request': + if message.get('to') == 'output': + self.output_connection.send(message) + elif message['command'] == 'mpd_request': response = self.frontend.handle_request(message['request']) connection = unpickle_connection(message['reply_to']) connection.send(response)