[gnome-music/wip/jfelder/mpris-truly-unique-ids: 10/10] player: Simplify song-changed signal
- From: Jean Felder <jfelder src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-music/wip/jfelder/mpris-truly-unique-ids: 10/10] player: Simplify song-changed signal
- Date: Wed, 29 May 2019 09:30:56 +0000 (UTC)
commit da7fa8df1c84e379f9a79bbec2900185c1e3902e
Author: Jean Felder <jfelder src gnome org>
Date: Tue May 28 17:07:05 2019 +0200
player: Simplify song-changed signal
Now that "current_song_index" is exposed as property, it does not need
to be transmitted when the "song-changed" signal is emitted.
gnomemusic/mpris.py | 2 +-
gnomemusic/player.py | 4 ++--
gnomemusic/views/playlistview.py | 6 +++---
gnomemusic/views/songsview.py | 6 +++---
gnomemusic/widgets/albumwidget.py | 3 +--
gnomemusic/widgets/artistalbumswidget.py | 3 +--
gnomemusic/widgets/playertoolbar.py | 3 +--
7 files changed, 12 insertions(+), 15 deletions(-)
---
diff --git a/gnomemusic/mpris.py b/gnomemusic/mpris.py
index f3efd50d..76f659a5 100644
--- a/gnomemusic/mpris.py
+++ b/gnomemusic/mpris.py
@@ -449,7 +449,7 @@ class MediaPlayer2Service(Server):
return (True, (path, playlist_name, ""))
@log
- def _on_current_song_changed(self, player, position):
+ def _on_current_song_changed(self, player):
self._update_songs_list()
if self.player.props.repeat_mode == RepeatMode.SONG:
self.Seeked(0)
diff --git a/gnomemusic/player.py b/gnomemusic/player.py
index aef78604..25ce9b66 100644
--- a/gnomemusic/player.py
+++ b/gnomemusic/player.py
@@ -544,7 +544,7 @@ class Player(GObject.GObject):
__gsignals__ = {
'playlist-changed': (GObject.SignalFlags.RUN_FIRST, None, ()),
'seek-finished': (GObject.SignalFlags.RUN_FIRST, None, (float,)),
- 'song-changed': (GObject.SignalFlags.RUN_FIRST, None, (int,)),
+ 'song-changed': (GObject.SignalFlags.RUN_FIRST, None, ()),
'song-validated': (GObject.SignalFlags.RUN_FIRST, None, (int, int)),
}
@@ -623,7 +623,7 @@ class Player(GObject.GObject):
self._gst_player.props.url = song.get_url()
- self.emit('song-changed', self.props.current_song_index)
+ self.emit('song-changed')
@log
def _on_eos(self, klass):
diff --git a/gnomemusic/views/playlistview.py b/gnomemusic/views/playlistview.py
index bf1c3b1f..8179e0ed 100644
--- a/gnomemusic/views/playlistview.py
+++ b/gnomemusic/views/playlistview.py
@@ -245,11 +245,10 @@ class PlaylistView(BaseView):
cell.set_visible(False)
@log
- def _update_model(self, player, position):
+ def _update_model(self, player):
"""Updates model when the song changes
:param Player player: The main player object
- :param int position: current song position
"""
if self._current_playlist is None:
return
@@ -260,7 +259,8 @@ class PlaylistView(BaseView):
PlayerPlaylist.Type.PLAYLIST, self._current_playlist.get_id()):
return False
- iter_ = self.model.get_iter_from_string(str(position))
+ index = self.player.props.current_song_index
+ iter_ = self.model.get_iter_from_string(str(index))
self.model[iter_][10] = True
path = self.model.get_path(iter_)
self._view.scroll_to_cell(path, None, False, 0., 0.)
diff --git a/gnomemusic/views/songsview.py b/gnomemusic/views/songsview.py
index 32a8f46d..73c5574e 100644
--- a/gnomemusic/views/songsview.py
+++ b/gnomemusic/views/songsview.py
@@ -229,18 +229,18 @@ class SongsView(BaseView):
self.props.selected_items_count = len(self.get_selected_songs())
@log
- def _update_model(self, player, position):
+ def _update_model(self, player):
"""Updates model when the song changes
:param Player player: The main player object
- :param int position: current song position
"""
if self._iter_to_clean:
self.model[self._iter_to_clean][10] = False
if not player.playing_playlist(PlayerPlaylist.Type.SONGS, None):
return False
- iter_ = self.model.get_iter_from_string(str(position))
+ index = self.player.props.current_song_index
+ iter_ = self.model.get_iter_from_string(str(index))
self.model[iter_][10] = True
path = self.model.get_path(iter_)
self._view.scroll_to_cell(path, None, False, 0., 0.)
diff --git a/gnomemusic/widgets/albumwidget.py b/gnomemusic/widgets/albumwidget.py
index f0abbefc..1eea57f0 100644
--- a/gnomemusic/widgets/albumwidget.py
+++ b/gnomemusic/widgets/albumwidget.py
@@ -226,11 +226,10 @@ class AlbumWidget(Gtk.EventBox):
self._update_model(self._player)
@log
- def _update_model(self, player, position=None):
+ def _update_model(self, player):
"""Updates model when the song changes
:param Player player: The main player object
- :param int position: current song position
"""
if not player.playing_playlist(
PlayerPlaylist.Type.ALBUM, self._album_name):
diff --git a/gnomemusic/widgets/artistalbumswidget.py b/gnomemusic/widgets/artistalbumswidget.py
index b9150d71..aa132db7 100644
--- a/gnomemusic/widgets/artistalbumswidget.py
+++ b/gnomemusic/widgets/artistalbumswidget.py
@@ -137,11 +137,10 @@ class ArtistAlbumsWidget(Gtk.Box):
widget.connect('songs-loaded', self._on_album_displayed)
@log
- def _update_model(self, player, position):
+ def _update_model(self, player):
"""Updates model when the song changes
:param Player player: The main player object
- :param int position: current song position
"""
if not player.playing_playlist(
PlayerPlaylist.Type.ARTIST, self._artist):
diff --git a/gnomemusic/widgets/playertoolbar.py b/gnomemusic/widgets/playertoolbar.py
index 2f779804..311f74b4 100644
--- a/gnomemusic/widgets/playertoolbar.py
+++ b/gnomemusic/widgets/playertoolbar.py
@@ -172,11 +172,10 @@ class PlayerToolbar(Gtk.ActionBar):
self._prev_button.props.sensitive = self._player.props.has_previous
@log
- def _update_view(self, player, position):
+ def _update_view(self, player):
"""Updates model when the song changes
:param Player player: The main player object
- :param int position: current song position
"""
current_song = player.props.current_song
self._duration_label.set_label(
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]