View Issue Details

IDProjectCategoryView StatusLast Update
0018673MMW 5Syncpublic2024-05-24 11:12
ReporterLudek Assigned To 
PriorityhighSeveritymajorReproducibilityhave not tried
Status assignedResolutionopen 
Product Version5.0 
Target Version5.2 
Summary0018673: Improve the mechanism of syncing played# value from iOS device to MM5 ("Played #" often fails to sync with iOS devices)
DescriptionAs reported here: https://www.mediamonkey.com/forum/viewtopic.php?f=30&t=100893

iPhone can get to a state when Played# values aren't correctly shown in MM5.

Currently MM5 is reading the Played# value from MediaLibrary.sqlitedb file on the iPhone.
Table 'item_stats' and column 'play_count_recent', during sync it increases the value in MM5 by the 'play_count_recent' value and updates the overal Played# also in the CDB file.

But it can happen that another app (or another MM instance) could already pick up the 'play_count_recent' value and clear it. This way the MediaLibrary.sqlitedb can potentially get out of sync with iTunesCDB (because of cleared 'play_count_recent' value).

To improve the mechanism we could take rather the 'play_count_user' (overal Played# value in the iPhone's) and always use this value also when viewing the tracks in MM5 interface (Devices & Services > iPod > Music list). And also use this value during sync as MM5 already remembers the inital played# value synced to the device, so we could always use the 'play_count_user' and decrease it by the initial played# value when the track was synced from MM5 > iPod and update both the values after the sync.

i.e.
1) during MM5 > iPhone sync use:
played_value_when_track_was_synced_to_iPhone = MM5.track.play_count

2) during iPhone > MM5 sync use:
MM5.track.play_count = MM5.track.play_count + (iPod.play_count_user - played_value_when_track_was_synced_to_iPhone)
played_value_when_track_was_synced_to_iPhone = iPod.play_count_user;

Additional Informationhttps://www.mediamonkey.com/forum/viewtopic.php?f=30&t=100893
TagsNo tags attached.
Fixed in build

Activities

Ludek

2024-05-24 11:12

developer   ~0075536

I guess this issue is not too common and actually it can still get out of sync when multiple MM instances are syncing with the same single phone..
So the current approach (that uses 'play_count_recent') is still "safer" IMO..