Bug Fixes in Multimedia
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.