Steps 3 & 4 involve some sort of magic that i cannot understand.
What's the minimum requirement for success here ?
that [Filename (path)] and [Filename (name)] or [Track #] be identical ?
I was thinking something like this:
Compare Filename (path) from source (the library albums) with the path of the new albums.
We have the paths
D:\Music\Pearl Jam\Vs\ (library)
D:\Import\Pearl Jam\Vs\ (new albums)
1. Browse to base path for the library albums: D:\Music (possibly saved for future replacement?)
2. Browse to base path of import folder D:\Import
3. MC compares File (path):
\Pearl Jam\Vs\ (library)
\Pearl Jam\Vs\ (new albums)
Album path match found. Moving to next step.
4. Check number of tracks in library Album:
Library: Pearl Jam - Vs = 12
Replace Album: Pearl Jam - Vs = 12
Album match found.
This would be the simplest form. The tracks would have to have be identical in File name and track numbering.
We could also take it a step or two further.
5. Check Filename in labrary against replacement file:
Library: W.M.A
Replacement file: WMA
- No match.
6. Remove everything except letters from both Library and replacement files. Compare again.
Library: WMA
Replacement file: WMA
- Probable match
This is one of the simplest forms of comparing I belive. I have used it my self in a plugin, and it works pretty well.
I'm NOT an expert in how how this comparing techniques works, but I do belive there are code that easily could compare two strings, and give a result in % probability of a match. Another excample could be to count every letter, and find out how good the match is.
Example:
Filename: Indifference i(2), n(2), d(1), f(2), e(3), r(1), c(1)
Filename: Indifference i(2), n(2), d(1), f(1), e(3), r(1), c(1)
92% Match
Accept 80% and higher. Prompt user for comparing when lower than 80%.
7. Replace album tracks (keep library filename)
8. Replace file type with new file type
9. Update files from library
Track and album replacement done!