core: Use new mixer API
This commit is contained in:
parent
14d0433aae
commit
6d6bc4b808
@ -269,7 +269,7 @@ class RootCommand(Command):
|
||||
audio = self.start_audio(config)
|
||||
mixer = self.start_mixer(config, audio, mixer_classes)
|
||||
backends = self.start_backends(config, backend_classes, audio)
|
||||
core = self.start_core(audio, mixer, backends)
|
||||
core = self.start_core(mixer, backends)
|
||||
self.start_frontends(config, frontend_classes, core)
|
||||
loop.run()
|
||||
except KeyboardInterrupt:
|
||||
@ -316,9 +316,9 @@ class RootCommand(Command):
|
||||
logger.info('Starting Mopidy mixer: %s', mixer_class.__name__)
|
||||
return mixer_class.start(config=config, audio=audio).proxy()
|
||||
|
||||
def start_core(self, audio, mixer, backends):
|
||||
def start_core(self, mixer, backends):
|
||||
logger.info('Starting Mopidy core')
|
||||
return Core.start(audio=audio, backends=backends).proxy()
|
||||
return Core.start(mixer=mixer, backends=backends).proxy()
|
||||
|
||||
def start_frontends(self, config, frontend_classes, core):
|
||||
logger.info(
|
||||
|
||||
@ -32,7 +32,7 @@ class Core(pykka.ThreadingActor, audio.AudioListener, backend.BackendListener):
|
||||
"""The tracklist controller. An instance of
|
||||
:class:`mopidy.core.TracklistController`."""
|
||||
|
||||
def __init__(self, audio=None, backends=None):
|
||||
def __init__(self, mixer=None, backends=None):
|
||||
super(Core, self).__init__()
|
||||
|
||||
self.backends = Backends(backends)
|
||||
@ -40,7 +40,7 @@ class Core(pykka.ThreadingActor, audio.AudioListener, backend.BackendListener):
|
||||
self.library = LibraryController(backends=self.backends, core=self)
|
||||
|
||||
self.playback = PlaybackController(
|
||||
audio=audio, backends=self.backends, core=self)
|
||||
mixer=mixer, backends=self.backends, core=self)
|
||||
|
||||
self.playlists = PlaylistsController(
|
||||
backends=self.backends, core=self)
|
||||
|
||||
@ -13,8 +13,8 @@ logger = logging.getLogger(__name__)
|
||||
class PlaybackController(object):
|
||||
pykka_traversable = True
|
||||
|
||||
def __init__(self, audio, backends, core):
|
||||
self.audio = audio
|
||||
def __init__(self, mixer, backends, core):
|
||||
self.mixer = mixer
|
||||
self.backends = backends
|
||||
self.core = core
|
||||
|
||||
@ -88,15 +88,15 @@ class PlaybackController(object):
|
||||
"""Time position in milliseconds."""
|
||||
|
||||
def get_volume(self):
|
||||
if self.audio:
|
||||
return self.audio.get_volume().get()
|
||||
if self.mixer:
|
||||
return self.mixer.get_volume().get()
|
||||
else:
|
||||
# For testing
|
||||
return self._volume
|
||||
|
||||
def set_volume(self, volume):
|
||||
if self.audio:
|
||||
self.audio.set_volume(volume)
|
||||
if self.mixer:
|
||||
self.mixer.set_volume(volume)
|
||||
else:
|
||||
# For testing
|
||||
self._volume = volume
|
||||
@ -107,16 +107,16 @@ class PlaybackController(object):
|
||||
"""Volume as int in range [0..100] or :class:`None`"""
|
||||
|
||||
def get_mute(self):
|
||||
if self.audio:
|
||||
return self.audio.get_mute().get()
|
||||
if self.mixer:
|
||||
return self.mixer.get_mute().get()
|
||||
else:
|
||||
# For testing
|
||||
return self._mute
|
||||
|
||||
def set_mute(self, value):
|
||||
value = bool(value)
|
||||
if self.audio:
|
||||
self.audio.set_mute(value)
|
||||
if self.mixer:
|
||||
self.mixer.set_mute(value)
|
||||
else:
|
||||
# For testing
|
||||
self._mute = value
|
||||
|
||||
@ -20,7 +20,7 @@ class CoreActorTest(unittest.TestCase):
|
||||
self.backend2.uri_schemes.get.return_value = ['dummy2']
|
||||
self.backend2.actor_ref.actor_class.__name__ = b'B2'
|
||||
|
||||
self.core = Core(audio=None, backends=[self.backend1, self.backend2])
|
||||
self.core = Core(mixer=None, backends=[self.backend1, self.backend2])
|
||||
|
||||
def tearDown(self):
|
||||
pykka.ActorRegistry.stop_all()
|
||||
@ -37,7 +37,7 @@ class CoreActorTest(unittest.TestCase):
|
||||
self.assertRaisesRegexp(
|
||||
AssertionError,
|
||||
'Cannot add URI scheme dummy1 for B2, it is already handled by B1',
|
||||
Core, audio=None, backends=[self.backend1, self.backend2])
|
||||
Core, mixer=None, backends=[self.backend1, self.backend2])
|
||||
|
||||
def test_version(self):
|
||||
self.assertEqual(self.core.version, versioning.get_version())
|
||||
|
||||
@ -30,7 +30,7 @@ class CoreLibraryTest(unittest.TestCase):
|
||||
self.backend3.has_library().get.return_value = False
|
||||
self.backend3.has_library_browse().get.return_value = False
|
||||
|
||||
self.core = core.Core(audio=None, backends=[
|
||||
self.core = core.Core(mixer=None, backends=[
|
||||
self.backend1, self.backend2, self.backend3])
|
||||
|
||||
def test_browse_root_returns_dir_ref_for_each_lib_with_root_dir_name(self):
|
||||
|
||||
@ -36,7 +36,7 @@ class CorePlaybackTest(unittest.TestCase):
|
||||
Track(uri='dummy1:b', length=40000),
|
||||
]
|
||||
|
||||
self.core = core.Core(audio=None, backends=[
|
||||
self.core = core.Core(mixer=None, backends=[
|
||||
self.backend1, self.backend2, self.backend3])
|
||||
self.core.tracklist.add(self.tracks)
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ class PlaylistsTest(unittest.TestCase):
|
||||
self.pl2b = Playlist(name='B', tracks=[Track(uri='dummy2:b')])
|
||||
self.sp2.playlists.get.return_value = [self.pl2a, self.pl2b]
|
||||
|
||||
self.core = core.Core(audio=None, backends=[
|
||||
self.core = core.Core(mixer=None, backends=[
|
||||
self.backend3, self.backend1, self.backend2])
|
||||
|
||||
def test_get_playlists_combines_result_from_backends(self):
|
||||
|
||||
@ -21,7 +21,7 @@ class TracklistTest(unittest.TestCase):
|
||||
self.library = mock.Mock(spec=backend.LibraryProvider)
|
||||
self.backend.library = self.library
|
||||
|
||||
self.core = core.Core(audio=None, backends=[self.backend])
|
||||
self.core = core.Core(mixer=None, backends=[self.backend])
|
||||
self.tl_tracks = self.core.tracklist.add(self.tracks)
|
||||
|
||||
def test_add_by_uri_looks_up_uri_in_library(self):
|
||||
|
||||
@ -30,7 +30,7 @@ class LocalTracklistProviderTest(unittest.TestCase):
|
||||
self.audio = audio.DummyAudio.start().proxy()
|
||||
self.backend = actor.LocalBackend.start(
|
||||
config=self.config, audio=self.audio).proxy()
|
||||
self.core = core.Core(audio=self.audio, backends=[self.backend])
|
||||
self.core = core.Core(mixer=None, backends=[self.backend])
|
||||
self.controller = self.core.tracklist
|
||||
self.playback = self.core.playback
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user