View Issue Details

IDProjectCategoryView StatusLast Update
0018673MMW 5Syncpublic2022-09-14 14:39
ReporterLudek Assigned To 
PriorityurgentSeveritymajorReproducibilityhave not tried
Status newResolutionopen 
Product Version5.0 
Target Version5.2 
Summary0018673: Improve the mechanism of syncing played# value from iOS device to MM5
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

There are no notes attached to this issue.