momodalo / rubyripper

Automatically exported from code.google.com/p/rubyripper
3 stars 2 forks source link

Minus in artist name for VA CDs breaks meta data #560

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
1) Please describe the steps to reproduce the situation:
a. Get a various artists disc where at least one of the artist names contains a 
minus (-)
b. Have rubyripper scan the disc and load the data from freedb
c. The track by the artist with the minus in the name will have incorrect meta 
data. If the artist's name is A-B, then the artist will be found as A and the 
title as B.

2) What is the expected output? What do you see instead?
Expected: The artist's name containing the minus is displayed correctly in the 
artist field. Instead, the artist's name is split at the minus character and 
the second part of the name is used as the track title.

3) What version of rubyripper are you using? On what operating system? The
gtk2 of commandline interface?
rubyripper 0.6.2, gtk interface

4) Is this not already fixed with the latest & greatest code? See for
instructions the Source tab above.
The newest code introduces a different error: no track artists show up at all 
for discs where one artist name from freedb contains a minus (tested with a 
disc where the first artist name contains a minus, don't know whether the 
behaviour is the same if another artist name contains a minus)

5) Does the problem happen with all discs? If not, please attach
the output of cdparanoia -Q with a disc that gives trouble.
No, only with discs where an artist name in freedb contains a minus.

6) Please explain why this change is important for you. Also, how many
users would benefit from this change?
This problem makes meta data useless for all VA discs where an artist name in 
freedb contains a minus.

Please provide any additional information below. The more usefull
information provided, the sooner the issue will be fixed.

Note that ruby versions older than 1.9 are no longer supported. You are
advised to upgrade instead.

The problem lies in rr_lib.rb, line 1325 (version 0.6.2). The regex should not 
contain the minus character. Removing it from the regex fixed the problem for 
me. This is the patched line 1325:

            @tracklist.each_index{|index| @varArtists[index], @tracklist[index] = @tracklist[index].split(/\s*[\/]\s*|(\sby\s)\s*/)} #remove any spaces (\s) around sep

Original issue reported on code.google.com by Chris...@gmail.com on 1 Mar 2013 at 10:39

GoogleCodeExporter commented 8 years ago
That would fix this particular disc, but breaks others. The algorithm can't be 
perfect due to limitations in the way Freedb stores the data. Rubyripper has to 
guess what the artist and what the track is.

So, if this is to be fixed, it should be fixed in the Freedb specification.

Original comment by boukewou...@gmail.com on 9 May 2013 at 12:10