After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 144283 - Case insensitivity and sensitivity
Case insensitivity and sensitivity
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: User Interface
unspecified
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 318343 332519 338674 587791 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2004-06-14 01:25 UTC by Jonatan Johansson
Modified: 2018-05-24 10:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
case-insensitive-grouping of artist and album names (4.78 KB, patch)
2009-03-20 12:30 UTC, Surya Kiran Oruganti
rejected Details | Review
Title-case conversion of artist and album names. (4.66 KB, patch)
2009-03-27 09:39 UTC, Surya Kiran Oruganti
reviewed Details | Review

Description Jonatan Johansson 2004-06-14 01:25:11 UTC
When Rhythmbox adds music to the library and compares artist/album info for
songs, it should do so not being case sensitive. For example, songs with the
following artist should all be grouped under one of these names in the library
(doesn't matter much which, as long as they are gathered):
Guns n' Roses
Guns N' Roses
Guns n' roses
As it is today, three different posts show up in the Artist column.

As as sidenote on the matter of case:
When ID3 tags are changed (when they can be so in future versions), Rhythmbox
should be case sensitive, so that if the user changes the artist field from
"some artISt" to "some artist", the change should be recognized and carried through.
Comment 1 aaron 2004-11-23 16:57:50 UTC
Boy do I agree. I had "Southern Culture On the Skids" and "Southern culture on
the skids" as two different artists, so I went in to EasyTag and re-tagged...
and sure enough, missed one, so now I have "Southern Culture On the Skids" and
"Southern Culture on the Skids" ....  took me a minute of staring at it to see
where I'd made the mistake.

Comment 2 Keith Lea 2005-02-25 19:04:21 UTC
If I could vote for this bug, I would, but it looks like voting has been
disabled. Anyway I wish this bug were fixed.
Comment 3 David Mandelberg 2005-09-25 19:04:33 UTC
I think this isn't a bug because there are unique artists with no difference
except capitalization, for example HiM
(http://musicbrainz.org/showartist.html?artistid=119294) and HIM
(http://musicbrainz.org/showartist.html?artistid=1881).
Comment 4 Keith Lea 2005-09-25 22:36:55 UTC
David, I think that's irrelevant. There are also unique artists with no differences at all, like Mono, Mono, 
and Mono.
Comment 5 David Mandelberg 2005-09-25 23:16:39 UTC
Ok, but maybe it could be an option that's insensitive by default? Even if
people don't think it should be in the gui, I think it should at least be
confiugrable with gconf.
Comment 6 James "Doc" Livingston 2005-10-09 18:08:07 UTC
*** Bug 318343 has been marked as a duplicate of this bug. ***
Comment 7 Andrey 2006-02-25 11:38:44 UTC
*** Bug 332519 has been marked as a duplicate of this bug. ***
Comment 8 Adam Lydick 2006-04-02 06:36:43 UTC
A related feature -- it would be nice if diacritical marks were also collapsed to their nearest "non-extended" equivalent (at least while searching). IIRC, there is already a standard set of rules for this transform. 

As an example -- I have a number of songs tagged as "Björk" and some tagged "Bjork". It is rather difficult to type the correct spelling with my en-us keyboard layout, but I'd like to keep them tagged as-is for aesthetic reasons.
Comment 9 James "Doc" Livingston 2006-04-16 09:15:05 UTC
*** Bug 338674 has been marked as a duplicate of this bug. ***
Comment 10 Peter 2006-06-30 14:36:37 UTC
Another "vote" for this bug.

Comment 3 raises a valid point about why maybe we shouldn't treat "Artist Name" and "artist name" as the same artist (in order to cope with situations like the different artists "HiM" and "HIM").

Is there any objection to treating an artist's ALBUMS case-insensitively?

e.g. I have an mp3 CD which includes the album "Volume 3: Further In Time" by  artist "AfroCelt" however some of the tracks use "Volume 3: Further in Time" (lower case "in" versus captialised "In").  In rhythmbox 0.9.5 this shows up as two different albums by the one artist.
Comment 11 E Mair 2006-11-02 12:01:49 UTC
Another vote! :) Case insensitivity should be the default. We're playing music with a graphical player here, not managing system files in a terminal!

For (very?) rare exceptions like "HiM"/"HIM" there could be a user's wildcard list of exclusions ("Handle these strings with case sensitivity:" or similar).

I also agree with Comment #8. Ideally, I'd like...
einstürzende neubauten
Einstuerzende Neubauten
Einsturzende%20Neubauten
einstürzende_neubauten
...to be listed as the same artist.

I would love to have settings for e.g. "Case Sensitivity", "Treat _, %20 as Space", "Match umlauts".

To avoid mistransliterations and ambiguities, the automatic "umlaut matching" could be designed to only apply when a "close enough" umlauted string already exists. For example, "Handel" or "Haendel" would only be automatically transliterated to "Händel" if there's already a "Händel" entry in the library.

Say there's already an artist|song|album called "Éxåmpłë!?!" in the library. The same artist (etc.) is also represented by another other file with the incorrect tag or file name "example". Right-clicking on "example" could bring up menu entries like "Treat this artist|song|album as Éxåmpłë!?!" (i.e. add the strings to a user list of matches) and "Change artist|song|album tag to Éxåmpłë!?!".

Just some ideas.
Comment 12 Surya Kiran Oruganti 2009-03-20 12:30:44 UTC
Created attachment 131026 [details] [review]
case-insensitive-grouping of artist and album names

The patch converts all the titles, album/artist names to Title Case.
Guns n' Roses
Guns N' Roses
Guns n' roses
All the three above get converted to "Guns N' Roses"
Also, underscores are replaced by spaces.
Comment 13 benjaoming 2009-03-20 12:57:59 UTC
How about just fixing your tags? Multiple entries are just Rhythmbox' way of showing you that you're being messy.

And another question: How should RB know which one of the labels to select? HiM og HIM?

Also regarding HIM and HiM... no one would have those two bands in the same library :)
Comment 14 Mika Wahlroos 2009-03-20 13:25:49 UTC
I don't think this is the correct way to fix the issue.

First of all, if I understand the patch correctly, it would remove all punctuation from names of artists. This is certainly wrong. Some artists intentionally have punctuation in their names, and I want to keep them. Examples that I happen to have in my library include "Godspeed You! Black Emperor", "R.E.M.", "Noitalinna huraa!" and more if I happened to be at my desktop. There are many such artists and bands.

If the patch also affects titles of albums and tracks, those have strange characters even more often. Removing parentheses from "Artist - Track (Foobar Mix)" probably isn't what we'd want, and some track titles have colons, question marks and other punctuation.

I'm not sure if the same function for retrieving the strings is also used e.g. when submitting tracks to Last.fm, but if it is, this approach could also cause wrong data to be submitted there.

Some names and titles may also be acronyms, and converting all characters that come after something else than whitespace breaks these.

Further, even "title case" isn't universally the norm. It's generally not used e.g. in Finnish, and I would consider capitalizing all words in a Finnish band's name or song title a mistake.

If I understand the patch correctly, the patch would break these unconditionally even when there are no "semi-duplicates". The manipulation should at the very least be limited to the semi-duplicates themselves.
Comment 15 Jonathan Matthew 2009-03-20 13:46:22 UTC
To add to the above:  it looks like this would convert abbreviations to title case, which would be pretty annoying.  'DJ' for instance.  It also doesn't handle names that don't follow usual title case rules (A McB, C de D, E van F, ..).  And more: cLOUDDEAD, Super_Collider, OVe-NaXx.. I don't think this can work.

Performing the title case conversion each time the property is accessed is inefficient.  This is also a gigantic memory leak.  The strings returned by rhythmdb_entry_get_string for the artist, album, title, and genre properties will never be freed.  When a function returns a 'const char *', the caller does not free it.
Comment 16 Surya Kiran Oruganti 2009-03-21 15:21:14 UTC
I would like to implement the solution as follows:
Create a case-insensitive umbrella case, with the subcases within it.
Eg:
Pink Floyd
|-> pInk flOYd
|-> PINK FLOYD
|-> pink floyd

Each of the subcases will have an option to be excluded from the umbrella. Suppose pInk flOYd is a different artist, then, right-click menu will be implemented and will the structure will now be:
pInk flOYd
Pink Floyd
|-> PINK FLOYD
|-> pink floyd

I hope this will be an ideal solution.
Aside: I have exams this week, so I will get to making this next week :)
Comment 17 Jonathan Matthew 2009-03-22 03:36:02 UTC
I think that's too complicated for the problem you're trying to solve.  Have you looked at how this would be implemented?  I'd be concerned about performance and memory usage impact.  Where would you store the information about which artists have been excluded?

As I see it, the problem here is that the tags are wrong.  I think it'd be more useful to focus on helping users fix their tags.
Comment 18 benjaoming 2009-03-22 11:03:18 UTC
Exactly my view. Helping the user avoiding correct tags by introducing new manual intervention doesn't sound like a good idea at all.
Comment 19 E Mair 2009-03-22 14:19:07 UTC
There are many instances when fixing the tags by file editing is impractical or not an option (even if it's at all possible to determine what's "correct"), like when the files are stored read-only to the user, when the files are shared via e.g. bittorrent and must not be changed in any way, when the number of files/artists is very large, et c.

(I can't comment on the submitted patch, IANAProgrammer.)
Comment 20 Surya Kiran Oruganti 2009-03-27 09:39:52 UTC
Created attachment 131489 [details] [review]
Title-case conversion of artist and album names.

This patch converts each Title/Artist/Album name to title case.
While this cannot be admitted as a patch because of the reasons cited above, I found it was a convenient thing to have. So I thought I'd share it anyways :)
I have fixed the dropping of special characters as well as the memory leak.
Cheers!
Comment 21 Jonathan Matthew 2009-03-29 01:52:04 UTC
No, you haven't fixed the memory leak.  rb_refstring_get_titlecase still returns an allocated string, which rhythmdb_entry_get_string still returns.  The caller of rhythmdb_entry_get_string never frees the string it receives, so this still leaks.  To fix the leak you'd need to add a title cased version of the string to the RBRefString structure.
Comment 22 Jonathan Matthew 2009-07-05 01:39:42 UTC
*** Bug 587791 has been marked as a duplicate of this bug. ***
Comment 23 Urmas 2011-12-15 03:11:35 UTC
Holy crap.
Comment 24 Chris Wilson 2012-02-16 09:04:10 UTC
We shouldn't be trying to update the user's tags based on their case - they may want them that way. No other music manager that I'm aware of (I've used Rhythmbox, Banshee, iTunes, Zune and Windows Media Player) do that because it's contrary to what the user expects to happen when they import their library. Rhythmbox is just a manager - its sole job is to interpret the existing tags, not what it thinks the user wants them to be.
Comment 25 GNOME Infrastructure Team 2018-05-24 10:33:18 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/37.