PDA

View Full Version : Multiple-disc sets in separate folders



mmillot
2007-09-16, 03:21
When tracks for the same album (which to me just means matching title and artist) are stored in different folders:
- Prior to 6.5, the file scanner would create only one album for those tracks
- Since 6.5, the file scanner creates one album per folder

Incidentally 6.5 is the only application I own that behaves this way: MediaMonkey, WMP, Toshiba Gigabeat all behave like 6.3.

There are multiple threads mentioning this issue and the workaround seems to be to set the tags equivalent to disc and discc. I have 3 reasons why that doesn't work for me: (a) that would be a lot of work - I would need to retag around 2000 multi-cd albums (b) it doesn't look the file scanner reads this field in lossless WMA (c) other concerns below.
Another option mentioned is to move all tracks into one folder. That would work but (a) again that's a lot of work (b) my workflow using EAC doesn't lend itself easily to that.

I think I have a code fix for my problem (despite my limited knowledge of the SlimServer code base and perl).

In schema.pm (~line 2036) replace:
# Join on tracks with the same basename to determine a unique album.
if (!defined $disc && !defined $discc) {
$search->{'tracks.url'} = { 'like' => "$basename%" };
$attr->{'join'} = 'tracks';
}

with:
$search->{'me.contributor'} = $contributor->id;

(a) I don't understand what $basename% is supposed to do. It's going to resolve to something like "c:\My Music\Artist1\Album1 (CD1)%". I'm not sure when that's going to match anything.
(b) I don't understand why contributor isn't used (whether disc and discc are defined or not). It seems reasonable to have the same album title for different artists. Those should be considered different albums.

mmillot
2007-09-20, 17:49
Ping :) ....

snarlydwarf
2007-09-20, 18:00
(b) I don't understand why contributor isn't used (whether disc and discc are defined or not). It seems reasonable to have the same album title for different artists. Those should be considered different albums.

Are they?

Even if they are a Various Artists release?

I have albums that are Various Artists and span multiple discs: but these require being filed correctly by directory.

mmillot
2007-09-20, 19:27
"I have albums that are Various Artists and span multiple discs: but these require being filed correctly by directory."

AFAICT contributor isn't used in the database query to figure out what album the current track is part of and that seems broken to me.

Not sure what you mean by "filed correctly".

If the track is a part of a "Various Artist album" (compilation bit is on), we add the compilation check to the query ($search->{'me.compilation'} = $isCompilation;)

erland
2007-09-20, 21:55
(a) I don't understand what $basename% is supposed to do. It's going to resolve to something like "c:\My Music\Artist1\Album1 (CD1)%". I'm not sure when that's going to match anything.

It will resolve to the directory, but it will be in url format so it will start with file:// and then the path.

I think this code is executed per track, so the basename part will make sure you can have two albums with the exact same name stored in different directories. As I understands it the basename part will only match the album that resides in the same directory as the currently handled file.


(b) I don't understand why contributor isn't used (whether disc and discc are defined or not). It seems reasonable to have the same album title for different artists. Those should be considered different albums.

Using contributors in some way seems like a good idea, the problem though is that a track can have several contributors. In this case the contributor ending up in the albums table which would match me.contributor seems a bit random to me. The information is probably available in the tags if you have tagged your music with a single ALBUMARTIST tag, but if you haven't it got to choose one of the ARTIST tags. So this makes me think that your patch might not work as it should in all cases.

One reason that this code tends to get a bit complicated is that there are so many ways you can tag your music. Some people doesn't tag their music at all, some only use ARTIST tags, some use both ALBUMARTIST, ARTIST and TRACKARTIST, there are different file format with different types of tags. I think the current solution with one album per directory works good in most cases, it's just a pitty that it doesn't match the default way iTunes arranges it's music.

So if this logic should be changed to something else it really needs to be tested a lot. Have you verified that the patch works as you like in your own library ?

servies
2007-09-20, 23:21
(a) I don't understand what $basename% is supposed to do. It's going to resolve to something like "c:\My Music\Artist1\Album1 (CD1)%". I'm not sure when that's going to match anything.

I guess this part is being used in a query so: in SQL the % sign is a wildcard, So it will match all files in "C:\My Music\Artist1\Album1 (CD1)"

mherger
2007-09-20, 23:35
http://wiki.slimdevices.com/index.cgi?MultiDisc ?

Not the folder or artist or album name is important, but the multi disc
tags.

--

Michael

-----------------------------------------------------------------
http://www.herger.net/SlimCD - your SlimServer on a CD
http://www.herger.net/slim - AlbumReview, Biography, MusicInfoSCR