MPRIS: Rename self.backend to self.core

This commit is contained in:
Stein Magnus Jodal 2012-09-27 20:18:35 +02:00
parent 2fb878df2e
commit 5a628a4150

View File

@ -84,8 +84,7 @@ class MprisObject(dbus.service.Object):
return bus_name return bus_name
@property @property
def backend(self): def core(self):
# TODO: Rename property to 'core'
if self._core is None: if self._core is None:
core_refs = ActorRegistry.get_by_class(core.Core) core_refs = ActorRegistry.get_by_class(core.Core)
assert len(core_refs) == 1, \ assert len(core_refs) == 1, \
@ -162,7 +161,7 @@ class MprisObject(dbus.service.Object):
return os.path.splitext(os.path.basename(settings.DESKTOP_FILE))[0] return os.path.splitext(os.path.basename(settings.DESKTOP_FILE))[0]
def get_SupportedUriSchemes(self): def get_SupportedUriSchemes(self):
return dbus.Array(self.backend.uri_schemes.get(), signature='s') return dbus.Array(self.core.uri_schemes.get(), signature='s')
### Player interface methods ### Player interface methods
@ -173,7 +172,7 @@ class MprisObject(dbus.service.Object):
if not self.get_CanGoNext(): if not self.get_CanGoNext():
logger.debug(u'%s.Next not allowed', PLAYER_IFACE) logger.debug(u'%s.Next not allowed', PLAYER_IFACE)
return return
self.backend.playback.next().get() self.core.playback.next().get()
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def Previous(self): def Previous(self):
@ -181,7 +180,7 @@ class MprisObject(dbus.service.Object):
if not self.get_CanGoPrevious(): if not self.get_CanGoPrevious():
logger.debug(u'%s.Previous not allowed', PLAYER_IFACE) logger.debug(u'%s.Previous not allowed', PLAYER_IFACE)
return return
self.backend.playback.previous().get() self.core.playback.previous().get()
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def Pause(self): def Pause(self):
@ -189,7 +188,7 @@ class MprisObject(dbus.service.Object):
if not self.get_CanPause(): if not self.get_CanPause():
logger.debug(u'%s.Pause not allowed', PLAYER_IFACE) logger.debug(u'%s.Pause not allowed', PLAYER_IFACE)
return return
self.backend.playback.pause().get() self.core.playback.pause().get()
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def PlayPause(self): def PlayPause(self):
@ -197,13 +196,13 @@ class MprisObject(dbus.service.Object):
if not self.get_CanPause(): if not self.get_CanPause():
logger.debug(u'%s.PlayPause not allowed', PLAYER_IFACE) logger.debug(u'%s.PlayPause not allowed', PLAYER_IFACE)
return return
state = self.backend.playback.state.get() state = self.core.playback.state.get()
if state == PlaybackState.PLAYING: if state == PlaybackState.PLAYING:
self.backend.playback.pause().get() self.core.playback.pause().get()
elif state == PlaybackState.PAUSED: elif state == PlaybackState.PAUSED:
self.backend.playback.resume().get() self.core.playback.resume().get()
elif state == PlaybackState.STOPPED: elif state == PlaybackState.STOPPED:
self.backend.playback.play().get() self.core.playback.play().get()
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def Stop(self): def Stop(self):
@ -211,7 +210,7 @@ class MprisObject(dbus.service.Object):
if not self.get_CanControl(): if not self.get_CanControl():
logger.debug(u'%s.Stop not allowed', PLAYER_IFACE) logger.debug(u'%s.Stop not allowed', PLAYER_IFACE)
return return
self.backend.playback.stop().get() self.core.playback.stop().get()
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def Play(self): def Play(self):
@ -219,11 +218,11 @@ class MprisObject(dbus.service.Object):
if not self.get_CanPlay(): if not self.get_CanPlay():
logger.debug(u'%s.Play not allowed', PLAYER_IFACE) logger.debug(u'%s.Play not allowed', PLAYER_IFACE)
return return
state = self.backend.playback.state.get() state = self.core.playback.state.get()
if state == PlaybackState.PAUSED: if state == PlaybackState.PAUSED:
self.backend.playback.resume().get() self.core.playback.resume().get()
else: else:
self.backend.playback.play().get() self.core.playback.play().get()
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def Seek(self, offset): def Seek(self, offset):
@ -232,9 +231,9 @@ class MprisObject(dbus.service.Object):
logger.debug(u'%s.Seek not allowed', PLAYER_IFACE) logger.debug(u'%s.Seek not allowed', PLAYER_IFACE)
return return
offset_in_milliseconds = offset // 1000 offset_in_milliseconds = offset // 1000
current_position = self.backend.playback.time_position.get() current_position = self.core.playback.time_position.get()
new_position = current_position + offset_in_milliseconds new_position = current_position + offset_in_milliseconds
self.backend.playback.seek(new_position) self.core.playback.seek(new_position)
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def SetPosition(self, track_id, position): def SetPosition(self, track_id, position):
@ -243,7 +242,7 @@ class MprisObject(dbus.service.Object):
logger.debug(u'%s.SetPosition not allowed', PLAYER_IFACE) logger.debug(u'%s.SetPosition not allowed', PLAYER_IFACE)
return return
position = position // 1000 position = position // 1000
current_cp_track = self.backend.playback.current_cp_track.get() current_cp_track = self.core.playback.current_cp_track.get()
if current_cp_track is None: if current_cp_track is None:
return return
if track_id != self._get_track_id(current_cp_track): if track_id != self._get_track_id(current_cp_track):
@ -252,7 +251,7 @@ class MprisObject(dbus.service.Object):
return return
if current_cp_track.track.length < position: if current_cp_track.track.length < position:
return return
self.backend.playback.seek(position) self.core.playback.seek(position)
@dbus.service.method(dbus_interface=PLAYER_IFACE) @dbus.service.method(dbus_interface=PLAYER_IFACE)
def OpenUri(self, uri): def OpenUri(self, uri):
@ -264,13 +263,13 @@ class MprisObject(dbus.service.Object):
return return
# NOTE Check if URI has MIME type known to the backend, if MIME support # NOTE Check if URI has MIME type known to the backend, if MIME support
# is added to the backend. # is added to the backend.
uri_schemes = self.backend.uri_schemes.get() uri_schemes = self.core.uri_schemes.get()
if not any([uri.startswith(uri_scheme) for uri_scheme in uri_schemes]): if not any([uri.startswith(uri_scheme) for uri_scheme in uri_schemes]):
return return
track = self.backend.library.lookup(uri).get() track = self.core.library.lookup(uri).get()
if track is not None: if track is not None:
cp_track = self.backend.current_playlist.add(track).get() cp_track = self.core.current_playlist.add(track).get()
self.backend.playback.play(cp_track) self.core.playback.play(cp_track)
else: else:
logger.debug(u'Track with URI "%s" not found in library.', uri) logger.debug(u'Track with URI "%s" not found in library.', uri)
@ -286,7 +285,7 @@ class MprisObject(dbus.service.Object):
### Player interface properties ### Player interface properties
def get_PlaybackStatus(self): def get_PlaybackStatus(self):
state = self.backend.playback.state.get() state = self.core.playback.state.get()
if state == PlaybackState.PLAYING: if state == PlaybackState.PLAYING:
return 'Playing' return 'Playing'
elif state == PlaybackState.PAUSED: elif state == PlaybackState.PAUSED:
@ -295,8 +294,8 @@ class MprisObject(dbus.service.Object):
return 'Stopped' return 'Stopped'
def get_LoopStatus(self): def get_LoopStatus(self):
repeat = self.backend.playback.repeat.get() repeat = self.core.playback.repeat.get()
single = self.backend.playback.single.get() single = self.core.playback.single.get()
if not repeat: if not repeat:
return 'None' return 'None'
else: else:
@ -310,14 +309,14 @@ class MprisObject(dbus.service.Object):
logger.debug(u'Setting %s.LoopStatus not allowed', PLAYER_IFACE) logger.debug(u'Setting %s.LoopStatus not allowed', PLAYER_IFACE)
return return
if value == 'None': if value == 'None':
self.backend.playback.repeat = False self.core.playback.repeat = False
self.backend.playback.single = False self.core.playback.single = False
elif value == 'Track': elif value == 'Track':
self.backend.playback.repeat = True self.core.playback.repeat = True
self.backend.playback.single = True self.core.playback.single = True
elif value == 'Playlist': elif value == 'Playlist':
self.backend.playback.repeat = True self.core.playback.repeat = True
self.backend.playback.single = False self.core.playback.single = False
def set_Rate(self, value): def set_Rate(self, value):
if not self.get_CanControl(): if not self.get_CanControl():
@ -329,19 +328,19 @@ class MprisObject(dbus.service.Object):
self.Pause() self.Pause()
def get_Shuffle(self): def get_Shuffle(self):
return self.backend.playback.random.get() return self.core.playback.random.get()
def set_Shuffle(self, value): def set_Shuffle(self, value):
if not self.get_CanControl(): if not self.get_CanControl():
logger.debug(u'Setting %s.Shuffle not allowed', PLAYER_IFACE) logger.debug(u'Setting %s.Shuffle not allowed', PLAYER_IFACE)
return return
if value: if value:
self.backend.playback.random = True self.core.playback.random = True
else: else:
self.backend.playback.random = False self.core.playback.random = False
def get_Metadata(self): def get_Metadata(self):
current_cp_track = self.backend.playback.current_cp_track.get() current_cp_track = self.core.playback.current_cp_track.get()
if current_cp_track is None: if current_cp_track is None:
return {'mpris:trackid': ''} return {'mpris:trackid': ''}
else: else:
@ -370,7 +369,7 @@ class MprisObject(dbus.service.Object):
return dbus.Dictionary(metadata, signature='sv') return dbus.Dictionary(metadata, signature='sv')
def get_Volume(self): def get_Volume(self):
volume = self.backend.playback.volume.get() volume = self.core.playback.volume.get()
if volume is None: if volume is None:
return 0 return 0
return volume / 100.0 return volume / 100.0
@ -382,32 +381,32 @@ class MprisObject(dbus.service.Object):
if value is None: if value is None:
return return
elif value < 0: elif value < 0:
self.backend.playback.volume = 0 self.core.playback.volume = 0
elif value > 1: elif value > 1:
self.backend.playback.volume = 100 self.core.playback.volume = 100
elif 0 <= value <= 1: elif 0 <= value <= 1:
self.backend.playback.volume = int(value * 100) self.core.playback.volume = int(value * 100)
def get_Position(self): def get_Position(self):
return self.backend.playback.time_position.get() * 1000 return self.core.playback.time_position.get() * 1000
def get_CanGoNext(self): def get_CanGoNext(self):
if not self.get_CanControl(): if not self.get_CanControl():
return False return False
return (self.backend.playback.cp_track_at_next.get() != return (self.core.playback.cp_track_at_next.get() !=
self.backend.playback.current_cp_track.get()) self.core.playback.current_cp_track.get())
def get_CanGoPrevious(self): def get_CanGoPrevious(self):
if not self.get_CanControl(): if not self.get_CanControl():
return False return False
return (self.backend.playback.cp_track_at_previous.get() != return (self.core.playback.cp_track_at_previous.get() !=
self.backend.playback.current_cp_track.get()) self.core.playback.current_cp_track.get())
def get_CanPlay(self): def get_CanPlay(self):
if not self.get_CanControl(): if not self.get_CanControl():
return False return False
return (self.backend.playback.current_track.get() is not None return (self.core.playback.current_track.get() is not None
or self.backend.playback.track_at_next.get() is not None) or self.core.playback.track_at_next.get() is not None)
def get_CanPause(self): def get_CanPause(self):
if not self.get_CanControl(): if not self.get_CanControl():