Often RB is not able to sync and load all the tracks in the synching list for a removable media
Submitted by Roberto Saltini
Link to original bug (#690812)
Description
Often, this happens:
. I execute synching for my removable media . At the end of the synching I notice that one or more playlists lack some songs. . I investigate and I found that the file that lacks is the file XXX . Anyway if I check the removable media's filesystem, I find the file XXX . I eject the removable media . I insert again . I execute another synching . RB asks me if I want to replace the file YYY because the file YYY already exists on the removable media. . Independently form my selection, at the end of the synching the file YYY is showed neither in any playlist nor in the root of the media player. . Anyway if I check the removable media's filesystem, I find the file YYY
. The files XXX and YYY maybe or not maybe the same file.
I've investigated a bit the source code hoping to find a solution.
During the first synching I think that the problem is that: . As the batch transfer is finished, the function [ g_idle_add ((GSourceFunc) sync_idle_cb_playlists, source);] rb-media-player-source.c : 587 is called immediatly, before that the event RHYTHMDB_EVENT_METADATA_LOAD is received for the last songs, so this songs, when sync_idle_cb_playlists() is executed is not yet inserted in the removable media player source model. In fact this happen only after receiveing the event RHYTHMDB_EVENT_METADATA_LOAD ( at least I think... )
Version: 2.98