Open GoogleCodeExporter opened 8 years ago
Very serious issue when using this tool. Will try to help out there...
Original comment by marc.log...@gmail.com
on 5 Jan 2011 at 12:16
Let's start with good news first.
If you think about it, it's essentially a request for "delete orphan tracks"
feature. E.g. let's assume you have crates "A" & "B" (stored in A.crate and
B.crate respectively) and "All" view which is stored in "database V2" file that
is automatically generated by Serato. Once you move a track from folder "A" to
folder "B" and run the sync, the tool will re-generate and overwrite A.crate
and B.crate files so the crates should be be just fine. The problem is that
"database V2" file will not get updated by Serato automatically, and "All" view
will show some of the files in red.
The bad news is that it's not that easy to fix, as you have to re-generate
"database V2" file.
Right now the tool supports optional flag
"music.library.itch.clear-before-sync=true". That deletes "database V2" file,
so the next time you run Serato it will re-generate it. That fixes the problem
with "Red" tracks, but I believe you can lose some configuration in this way
(e.g. played/not played flags for tracks, set of displayed columns in the
browser, their order, etc).
So, ideally the tool should be updating "database V2" file in a somewhat
"gentle" way, preserving all user settings. It will obviously require reading
this file (which is stored like a regular crate), extracting relevant
information, and writing the updated version back to the disk. Right now the
tool does only write/replace stuff for crates... no real reading. There is some
experimental code for reading ".crate" files in place, but it obviously needs
to be polished.
A lot of room for research & coding this in a very safe and reliable way... We
need to make sure that whatever we are doing with "database V2", it won't get
corrupted.
Hope that helps :) You may want to play with Serato & the tool (also, using the
option "music.library.itch.clear-before-sync=true") to check that my words are
really accurate
Original comment by raleksee...@gmail.com
on 5 Jan 2011 at 11:36
Another problematic use case could be related to the crate files themselves,
and not to the "All" view. That is renaming the folder.
E.g. you rename folder 'A' to folder 'B' and run the sync, it will correctly
create B.crate but leave A.crate in place, so crate 'A' will be messed up.
Original comment by raleksee...@gmail.com
on 5 Jan 2011 at 12:07
Thanks for insights. Got them all and understand the problem here. We really
need to get technical specs from Serato. Its so annoying to code inside the
format and only wild guessing things, but even if we dont get the specs, its
manageable.
I will need some more time playing with the code when it comes to create writes
and reads. This is by far the most complex stuff in the project.
Original comment by marc.log...@gmail.com
on 6 Jan 2011 at 1:09
Thank you, let me know any updates.. :)
Original comment by mich...@djmichaelpaul.com
on 13 Jan 2011 at 2:56
Original issue reported on code.google.com by
mich...@djmichaelpaul.com
on 24 Nov 2010 at 11:27