1. 10 Nov, 2019 2 commits
  2. 09 Nov, 2019 2 commits
  3. 08 Nov, 2019 1 commit
    • Marinus Schraal's avatar
      coregrilo: Do not search online sources by default · e8c59acf
      Marinus Schraal authored
      On search Grilo would search online sources by default as well. This is
      unwanted as it is a privacy issue.
      
      Currently Music has no UI to enable/disable this by user request, go the
      safe route and disable it for stable release.
      
      Closes #317
      e8c59acf
  4. 06 Nov, 2019 2 commits
  5. 05 Nov, 2019 5 commits
    • Jean Felder's avatar
      mpris: Emit TrackListReplaced signal when tracklist size changes · 11220c50
      Jean Felder authored
      Following the previous commit, the MPRIS tracklist is no longer
      static: it is now updated when the player playlist changes.
      This means that its size can also change. In that case, the
      TrackListReplaced signal needs to be emitted to notify that the
      tracklist has been replaced.
      
      closes: #336
      (cherry picked from commit 6dee1373)
      11220c50
    • Jean Felder's avatar
      mpris: Listen to the changes on the player playlist · 3791753c
      Jean Felder authored
      When the player playlist changes (some songs are added or removed),
      the MPRIS tracklist needs to be updated (handled by update_songs_list)
      and some of the MPRIS player properties need to be checked (CanPlay,
      CanPause, CanGoNext and CanGoPrevious). If these properties are
      changed, a PropertiesChanged signal needs to be emitted with the
      changed properties.
      
      The same operation is performed when the current song changes. So both
      operations can call the same new function: _on_player_model_changed.
      
      related: #336
      (cherry picked from commit a65f4439)
      3791753c
    • Marinus Schraal's avatar
      albumsview: Re-add timeout based cover loading · acf38864
      Marinus Schraal authored
      Besides on demand loading, a slow timeout based loading is added. This
      will eventually lookup all covers to aid a visual search.
      acf38864
    • Marinus Schraal's avatar
      albumsview: Clarify widget naming · 644e25be
      Marinus Schraal authored
      644e25be
    • Marinus Schraal's avatar
      albumsview: Load covers on demand · ca900f30
      Marinus Schraal authored
      Loading all covers on startup is a very demanding task, especially on a
      fresh install. Previously Music was using a delayed loading hack, but it
      was still resource intensive and suboptimal.
      
      Load covers on demand instead.
      
      Closes #250
      ca900f30
  6. 03 Nov, 2019 6 commits
    • Marinus Schraal's avatar
      4908ff38
    • Marinus Schraal's avatar
      coremodel: Compress items-changed signal · 95ad5a2e
      Marinus Schraal authored
      In set_player_model the player model is set to listen to the changes on
      the base model(s) of the currently active playlist. When changing
      playlists this results in remove_all call and adding all new song items
      one by one. This is very chatty signal-wise for 'items-changed'
      listeners on the listmodel. It also signals that the player model is
      empty for a short while, which has some unforseen side-effects.
      
      Instead, collect all the changes and splice them in one go.
      
      Related: #332, #335
      95ad5a2e
    • Marinus Schraal's avatar
      coremodel: Unify playlist-loaded signal · cad8d3b7
      Marinus Schraal authored
      cad8d3b7
    • Marinus Schraal's avatar
      coremodel: Remove notify freeze · 6cd1a461
      Marinus Schraal authored
      The notification freeze in set_player_model is unused, remove it.
      6cd1a461
    • Jean Felder's avatar
      mpris: Fix LoopStatus getter · fc292266
      Jean Felder authored
      According to MPRIS specifications, LoopStatus may be:
      - "None" if the playback will stop when there are no more tracks to
      play. This matches RepeatMode.{NONE,SHUFFLE} in GNOME Music.
      - "Track" if the current track will start again from the begining once
      it has finished playing. This matches RepeatMode.SONG in GNOME Music.
      - "Playlist" if the playback loops through a list of tracks. This
      matches RepeatMode.ALL in GNOME Music.
      
      In shuffle mode, the current LoopStatus getter returns "Playlist"
      instead of "None".
      
      This issue is fixed by updating the getter to return the correct
      values.
      
      (cherry picked from commit 04180ba7)
      fc292266
    • Jean Felder's avatar
      mpris: Fix CanPause and CanPlay emission · 724d02ba
      Jean Felder authored
      Once a song is playing, CanPlay and CanPause are always true.
      
      (cherry picked from commit ac44d6ac)
      724d02ba
  7. 02 Nov, 2019 1 commit
  8. 25 Oct, 2019 3 commits
  9. 20 Oct, 2019 4 commits
  10. 17 Oct, 2019 4 commits
  11. 11 Oct, 2019 1 commit
    • Jean Felder's avatar
      mpris: Update the tracklist once the song has changed · 03fc0ac9
      Jean Felder authored
      When a tracklist changes (a new playlist has been loaded in the
      CoreModel), the MPRIS tracklist needs to be updated by calling
      _update_songs_list method. It relies on the current_position property
      from the Player to update this list. However, this property has not
      been updated yet. Indeed, It will be updated by the play method of the
      Player. This incorrect call can result in a crash if the new playlist
      has less elements than the previous one.
      
      It turns out that the update_songs_list method is called two times
      every time a new playlist is loaded. The first time once the new
      playlist is loaded, and the other time once the new song starts
      playing.
      
      Fix the issue by removing the first _update_songs_list call. The MPRIS
      tracklist is already correctly updated once the new song starts
      playing.
      
      Closes: #322
      (cherry picked from commit 620c0eb5)
      03fc0ac9
  12. 07 Oct, 2019 1 commit
    • Jean Felder's avatar
      scrobbler: Fix lastfm account removal · b38f06bc
      Jean Felder authored
      When, a GOA account is removed, the credentials and the account
      parameters are not reset. Thus, LastFmScrobbler will still try to
      scrobble even if the account does not exist anymore. This results in a
      crash.
      
      Fix the issue by resetting all GoaLastFM parameters when a Last.fm
      account is removed.
      
      Closes: #145
      (cherry picked from commit d368111c)
      b38f06bc
  13. 02 Oct, 2019 1 commit
  14. 30 Sep, 2019 7 commits