[gnome-music/wip/jfelder/simplify-player-model: 2/2] player: Refactor currentTrackUri attribute
- From: Jean Felder <jfelder src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/jfelder/simplify-player-model: 2/2] player: Refactor currentTrackUri attribute
- Date: Tue, 20 Feb 2018 07:50:56 +0000 (UTC)
commit 9d5093dba2910b6d168bb89a931adf0dbea8c1cf
Author: Jean Felder <jean felder gmail com>
Date: Thu Feb 15 18:04:30 2018 +0100
player: Refactor currentTrackUri attribute
Rename currentTrackUri to _current_track_uri.
Add a getter and a _set_current_track_uri method.
gnomemusic/player.py | 42 +++++++++++++++++++++-------------------
gnomemusic/views/playlistview.py | 2 +-
gnomemusic/views/songsview.py | 2 +-
3 files changed, 24 insertions(+), 22 deletions(-)
---
diff --git a/gnomemusic/player.py b/gnomemusic/player.py
index 7155828..d2a8aff 100644
--- a/gnomemusic/player.py
+++ b/gnomemusic/player.py
@@ -109,7 +109,7 @@ class Player(GObject.GObject):
self.playlistId = None
self.playlist_field = 5
self.currentTrack = None
- self.currentTrackUri = None
+ self._current_track_uri = None
self._missingPluginMessages = []
Gst.init(None)
@@ -143,6 +143,20 @@ class Player(GObject.GObject):
self._lastfm = LastFmScrobbler()
+ @property
+ @log
+ def current_track_uri(self):
+ return self._current_track_uri
+
+ @log
+ def _set_current_track_uri(self):
+ if self.currentTrack and self.currentTrack.valid():
+ iter_ = self.playlist.get_iter(self.currentTrack.get_path())
+ uri = self.playlist[iter_][self.playlist_field].get_url()
+ self._current_track_uri = uri
+ else:
+ self._current_track_uri = None
+
@log
def _on_replaygain_setting_changed(self, settings, value):
self.replaygain = settings.get_value('replaygain') is not None
@@ -357,9 +371,7 @@ class Player(GObject.GObject):
currentTrack = self.playlist.get_path(self.playlist.get_iter_first())
if currentTrack:
self.currentTrack = Gtk.TreeRowReference.new(self.playlist, currentTrack)
- iter_ = self.playlist.get_iter(self.currentTrack.get_path())
- self.currentTrackUri = self.playlist.get_value(
- iter_, self.playlist_field).get_url()
+ self._set_current_track_uri()
else:
self.currentTrack = None
self.load(self.get_current_media())
@@ -375,10 +387,7 @@ class Player(GObject.GObject):
@log
def _on_glib_idle(self):
self.currentTrack = self.nextTrack
- if self.currentTrack and self.currentTrack.valid():
- iter_ = self.playlist.get_iter(self.currentTrack.get_path())
- self.currentTrackUri = self.playlist.get_value(
- iter_, self.playlist_field).get_url()
+ self._set_current_track_uri()
self.play()
@log
@@ -690,10 +699,8 @@ class Player(GObject.GObject):
self.stop()
self.currentTrack = self.nextTrack
- if self.currentTrack and self.currentTrack.valid():
- iter_ = self.playlist.get_iter(self.currentTrack.get_path())
- self.currentTrackUri = self.playlist.get_value(
- iter_, self.playlist_field).get_url()
+ self._set_current_track_uri()
+ if self._current_track_uri:
self.play()
@log
@@ -713,10 +720,8 @@ class Player(GObject.GObject):
self.stop()
self.currentTrack = self._get_previous_track()
- if self.currentTrack and self.currentTrack.valid():
- iter_ = self.playlist.get_iter(self.currentTrack.get_path())
- self.currentTrackUri = self.playlist.get_value(
- iter_, self.playlist_field).get_url()
+ self._set_current_track_uri()
+ if self._current_track_uri:
self.play()
@log
@@ -741,10 +746,7 @@ class Player(GObject.GObject):
self.playlistType = type
self.playlistId = id
self.currentTrack = Gtk.TreeRowReference.new(model, model.get_path(iter))
- if self.currentTrack and self.currentTrack.valid():
- iter_ = self.playlist.get_iter(self.currentTrack.get_path())
- self.currentTrackUri = self.playlist.get_value(
- iter_, self.playlist_field).get_url()
+ self._set_current_track_uri()
self.discovery_status_field = discovery_status_field
if old_playlist != model:
diff --git a/gnomemusic/views/playlistview.py b/gnomemusic/views/playlistview.py
index 4f9ea7f..56b9300 100644
--- a/gnomemusic/views/playlistview.py
+++ b/gnomemusic/views/playlistview.py
@@ -252,7 +252,7 @@ class PlaylistView(BaseView):
if model[_iter][11] == DiscoveryStatus.FAILED:
cell.set_property('icon-name', self._error_icon_name)
cell.set_visible(True)
- elif model[_iter][5].get_url() == self.player.currentTrackUri:
+ elif model[_iter][5].get_url() == self.player.current_track_uri:
cell.set_property('icon-name', self._now_playing_icon_name)
cell.set_visible(True)
else:
diff --git a/gnomemusic/views/songsview.py b/gnomemusic/views/songsview.py
index 4e10e41..229b253 100644
--- a/gnomemusic/views/songsview.py
+++ b/gnomemusic/views/songsview.py
@@ -219,7 +219,7 @@ class SongsView(BaseView):
cell.set_property('text', utils.get_album_title(item))
def _on_list_widget_icon_render(self, col, cell, model, itr, data):
- track_uri = self.player.currentTrackUri
+ track_uri = self.player.current_track_uri
if not track_uri:
cell.set_visible(False)
return
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]