Revision 871785

Go back to digest for 19th October 2008

Bug Fixes in Multimedia

Soren Harward committed changes in /trunk/extragear/multimedia/amarok/src:

Load Service-associated tracks properly on startup

If the playlist is saved with tracks from a Service in it (eg, tracks from Magnatune) when Amarok is closed, we want those tracks to be properly reloaded when Amarok restarts.

This means that the ServicePluginManager has to be loaded before PlaylistModel reloads the tracks, so that ServicePluginManager can register as a TrackProvider for service-related tracks.

This patch forces ServicePluginManager to be loaded before tracks are restored into the playlist.

When the tracks are loaded into the playlist, their associated service is initialized in the plugin manager so that the track can be loaded properly into the playlist.

However, MainWindow also needs to initialize any remaining enabled services so that all enabled services can show up in the servicebrowser.

This patch also adds a check so that when the MainWindow tells ServicePluginManager to initialize all the services, it will skip the services that have already been initialized.

File Changes

Modified 13 files
  • /trunk/extragear/multimedia/amarok/src
  •   /MainWindow.cpp
  •   /playlist/PlaylistModel.cpp
  •   /playlist/PlaylistModel.h
  •   /services/ServiceBase.cpp
  •   /services/ServiceBase.h
  •   /services/ServicePluginManager.cpp
  •   /services/ampache/AmpacheService.cpp
  •   /services/jamendo/JamendoService.cpp
  •   /services/lastfm/LastFmService.cpp
  •   /services/magnatune/MagnatuneStore.cpp
  •   /services/mp3tunes/Mp3tunesService.cpp
  •   /services/opmldirectory/OpmlDirectoryService.cpp
  •   /services/shoutcast/ShoutcastService.cpp
13 files changed in total