Adds audio in Core
This commit is contained in:
parent
eeed2973f1
commit
ef950a5e15
@ -279,7 +279,7 @@ class RootCommand(Command):
|
||||
mixer = self.start_mixer(config, mixer_class)
|
||||
audio = self.start_audio(config, mixer)
|
||||
backends = self.start_backends(config, backend_classes, audio)
|
||||
core = self.start_core(mixer, backends)
|
||||
core = self.start_core(mixer, backends, audio)
|
||||
self.start_frontends(config, frontend_classes, core)
|
||||
loop.run()
|
||||
except (exceptions.BackendError,
|
||||
@ -360,9 +360,9 @@ class RootCommand(Command):
|
||||
|
||||
return backends
|
||||
|
||||
def start_core(self, mixer, backends):
|
||||
def start_core(self, mixer, backends, audio):
|
||||
logger.info('Starting Mopidy core')
|
||||
return Core.start(mixer=mixer, backends=backends).proxy()
|
||||
return Core.start(mixer=mixer, backends=backends, audio=audio).proxy()
|
||||
|
||||
def start_frontends(self, config, frontend_classes, core):
|
||||
logger.info(
|
||||
|
||||
@ -42,7 +42,7 @@ class Core(
|
||||
"""The tracklist controller. An instance of
|
||||
:class:`mopidy.core.TracklistController`."""
|
||||
|
||||
def __init__(self, mixer=None, backends=None):
|
||||
def __init__(self, mixer=None, backends=None, audio=None):
|
||||
super(Core, self).__init__()
|
||||
|
||||
self.backends = Backends(backends)
|
||||
@ -59,6 +59,8 @@ class Core(
|
||||
|
||||
self.tracklist = TracklistController(core=self)
|
||||
|
||||
self.audio = audio
|
||||
|
||||
def get_uri_schemes(self):
|
||||
futures = [b.uri_schemes for b in self.backends]
|
||||
results = pykka.get_all(futures)
|
||||
@ -105,20 +107,18 @@ class Core(
|
||||
CoreListener.send('mute_changed', mute=mute)
|
||||
|
||||
def tags_changed(self, tags):
|
||||
# Should return only one audio instance
|
||||
audios = pykka.ActorRegistry.get_by_class(audio.Audio)
|
||||
|
||||
# Validity checks
|
||||
if audios is None or len(audios) != 1:
|
||||
if not self.audio:
|
||||
return
|
||||
if self.playback.current_tl_track is None:
|
||||
return
|
||||
|
||||
audio_proxy = audios[0].proxy()
|
||||
tags = self.audio.get_current_tags().get()
|
||||
if not tags:
|
||||
return
|
||||
|
||||
# Request available metadata and set a track
|
||||
future = audio_proxy.get_current_tags()
|
||||
mt_track = convert_tags_to_track(future.get())
|
||||
mt_track = convert_tags_to_track(tags)
|
||||
|
||||
# Merge current_tl_track with metadata in current_md_track
|
||||
c_track = self.playback.current_tl_track.track
|
||||
|
||||
Loading…
Reference in New Issue
Block a user