View Issue Details

IDProjectCategoryView StatusLast Update
0009941MMASynchronizationpublic2023-06-06 15:30
ReporterLudek Assigned To 
PriorityhighSeverityminorReproducibilityalways
Status assignedResolutionopen 
Product Version1.0.4 
Target Version2.1.0 
Summary0009941: Sync with multiple MediaMonkey libraries (databases)
DescriptionCurrently there is a problem that MMW <-> MMA sync is designed in a way that

1. MMW can sync with multiple MMA libraries
2. MMA cannot sync with multiple MMW libraries

The reason is that we uses unique id for each track that is based on track id from MMW database.

Because MMW can start multiple sync servers then we cannot distinguish MMW Library based on server ID, therefore I added (in 4.1.0.1604) another element to the DeviceConfig.xml

<DatabaseID>885639355</DatabaseID>

Where 885639355 is unique ID of MMW database.

i.e. Based on this ID MMA can distinguish between multiple MMW libraries/databases.
Additional Information[Ticket # 3280]
[Ticket # 3281]
[Ticket # 3285]
https://www.mediamonkey.com/forum/viewtopic.php?p=491329#p491329
TagsNo tags attached.
Fixed in build

Relationships

related to 0011016 closedLudek MMW v4 USB Sync: Renaming playlist yields strange confirmations 
related to 0011780 assignedmartin MMA WiFi Sync Settings: Each SSID should have own settings 
related to 0011982 closedmartin MMA Simplify and improve wifi sync wizard 
related to 0018644 resolvedLudek MMW 5 USB sync: Needless re-uploading of tracks (when MMA is synced with more MM5 instances) 
related to 0016901 closedLudek MMW 5 Sync: Add <Track ID> mask in order to avoid duplicates on sync 
related to 0020072 newmartin MMA Media from folders in Android/data/.... are not scanned by Android Media Scanner 
related to 0020070 resolvedmartin MMA Bidi Sync fails for recovery from a device or is erratic, whenever a device with an existing profile bidi syncs to a new PC 

Activities

Ludek

2012-11-06 12:07

developer   ~0032958

Last edited: 2012-11-06 12:11

Technical details:

wifi_item_id will not be stored within table media (as currently), but within another table as triplets
<media.id, wifi_item_id, database_id>

MMA gets DatabaseID on sync start and gets particular wifi_item_id from that table for each song.

jiri

2012-11-06 12:42

administrator   ~0032960

Assigning to Marek to implement as suggested. As for timeframe, in case it's a reasonably easy fix, we should implement asap, otherwise it could probably wait for MMA 1.1.

marek

2012-11-29 00:42

developer   ~0033477

Implemented just quick test of changed DB to be present in build 67

jiri

2013-01-24 13:44

administrator   ~0034656

Decreasing priority. It will particularly be needed in the future, e.g. when we include some kind of a cloud sync, etc. That said, should be implemented reasonably soon, to be ready for this scenario.

Ludek

2013-08-16 10:13

developer   ~0037174

Last edited: 2013-08-16 10:14

Note that instead of pairing based on MMA.media.wifi_item_id = MMW.Songs.ID and adding another MMA relation table, there would be better to pair based on GUID

MMA.media.GUID = MMW.Songs.GUID

The same we implemented for playlists, details here: ~37173

rusty

2014-01-21 22:07

administrator   ~0039321

Note: current behavior is that upon attempting to sync with another instance of MMW, all pairing data from DB is removed, and all tracks are paired again with new MMW instance.

marek

2014-09-25 12:27

developer   ~0040586

I think that this can be implemented with 0011982 in 1.1.1

Ludek

2021-12-08 18:21

developer   ~0066300

Last edited: 2021-12-08 18:27

Note that especially USB sync isn't prepared for syncing with multiple MM5 instances.
Each MM5 instance can upload it's own version of mmstore.db.synced.000X and the versions can get mixed up (resulting in various issue like in tickets # 3280 and # 3285 )
in case MMA isn't running between the sync with the two PCs to process the data.

For USB sync it would be preferable to switch to the new metadata database (including already all metadata fields used by MM5 and also auto-playlist rules) stored in
/MediaMonkey/meta_files/v3/...
already using sync_id for each track/playlist and is already independent from DB instances etc.

See issue #14521 and implementation details in ~48540