Multiple Artists, ';' separator, etc. - discussion

Discussion about anything that might be of interest to MediaMonkey users.

Moderator: Gurus

jiri
Posts: 5395
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic
Contact:

Post by jiri » Wed Apr 16, 2008 3:07 am

Zvezdan,

yes, these are the other options. It isn't an easy choice, because (as you wrote) both have its pros and cons. I would probably slightly prefer 2. as the default for MM, because it's more friendly for many applications or devices that don't handle multiple artists, but it could possibly be made optional (or even optionally use IPLS as I suggested above).

To make it even more complicated, as similar decision has to be made for other formats as well, like OGG, FLAC or WMA.

Jiri

Teknojnky
Posts: 5533
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky » Wed Apr 16, 2008 10:43 am

Perhaps it would be a good idea open up a line of communication with other media player dev teams (and any tag standards working groups) and maybe come up with some kind of consensus, for the benefit of all products and users.

Of course I have no idea how other teams would cooperate, but there is only one way to find out.

chrisjj
Posts: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Post by chrisjj » Thu May 01, 2008 7:24 pm

I'd certainly welcome other good suggestions of how to handle this issue, keeping in mind some (in my opinion good) requirements raised by users. Let's say I have tracks:
Track1 by: Artist1 and Artist2
Track2 by: Artist3 & Artist4
Track3 by: Artist1, Artist2 & Artist3 feat. Artist4
In all cases I want the whole artist title to look _exactly_ as above, but correctly be shown under individual artists (e.g. Track1 under Artist1). Feel free to suggest how to handle this in UI and how to store this in tags.
OK, here's my proposal:

1 Options has a list of separator strings. The default is just "/", giving ID3V2.3 compliance. For your cases above, the user must enter " and " " & " ", " " feat. ". Options has also a list of exceptions e.g. "AC/DC"
2 Artist grouping (e.g. in tree Artist) splits the artist property by those separators.
3 Tracklist and Properties shows and edits the property value as-is (current ';' adjustment is gone)
4 Search searches the property value as-is (current ';' non-match is gone).
5 No special storage in tags is required.

How's that, Jiri?
Last edited by chrisjj on Tue May 06, 2008 6:41 pm, edited 1 time in total.
Chris

Mizery_Made
Posts: 2283
Joined: Tue Aug 29, 2006 1:09 pm
Location: Kansas City, Missouri, United States

Post by Mizery_Made » Thu May 01, 2008 9:25 pm

I believe chrisjj's suggestion is the way to go. It allows those that want to break up "Artist 1 & Artist 2" the opportunity to, while still leaving them together for those that don't. Still allows the ease of simple text editing (copy & paste even) and wouldn't call for a special window for editing and such that could add some hassle. While remaining a simple solution, I think that it being customizable allows it to still cover all the bases. (specially since it would have an exclude list, some might want to break up "Skatterman & Snug Brim" but not "Lil' Jon & The Eastside Boyz")[/b]

spacefish
Posts: 1427
Joined: Mon Jan 14, 2008 7:21 am
Location: Denmark

Post by spacefish » Thu May 01, 2008 10:21 pm

I'd have to see an example of that before I'm convinced that's the way to go. Without 1 Artist : 1 Field, potentially one could be editing the exceptions list endlessly. Pretty much any band with '&' has the potential of being an exception if that symbol is used as an optional separator, among others. I don't want to maintain that kind of data. That's why I have a music manager to begin with.
Image
MM Gold 3.0.3.1183 : Vista HP SP1 (x86) : Zen Stone (2GB)
Zekton: An original MM3 skin by Eyal.
Scripts in Use: Add/Remove PlayStat | Auto Album DJ | AutoRateAccurate | Backup
Case & Leading Zero Fixer | Classification & Genre Changer | Clean Scripts.ini | Clear
Field | Custom Report | Discogs Auto-Tag Web Search | Forget Crossfade | Invert
Selection/Select None | Last 100... | Lyricator | Lyrics to Instrumental | MonkeyRok
MusicBrainz Tagger | My Custom Nodes | Now Playing Art Node | Play History & Stats
Right Click for Reports | Right Click for Scripts | Right Click for Web | Stop After Current
WebNodes

MoDementia
Posts: 1321
Joined: Thu Jun 15, 2006 3:26 pm
Location: Geelong, Victoria, Australia

Post by MoDementia » Thu May 01, 2008 10:53 pm

";"
Last edited by MoDementia on Fri May 16, 2008 5:28 pm, edited 1 time in total.

Mizery_Made
Posts: 2283
Joined: Tue Aug 29, 2006 1:09 pm
Location: Kansas City, Missouri, United States

Post by Mizery_Made » Fri May 02, 2008 1:06 am

The various separators such as " feat. " wouldn't necessarily have to be saved to the tag as "/". You could make the argument that ID3v2.3 specifies that multiple values are separated by "/", however what is the different if I save the string as "Artist 1 feat. Artist 2" now, or after MediaMonkey might be able to parse " feat. " to mean "split these two"?

MoDementia, sorry but what you said @ me isn't processing properly with me. Could you perhaps explain what you mean?

PS -- Another artist (though not popular or known by any means) would be "1/2 Pint"

This artist wouldn't effect 99.9% of the other MM users, yet I got one or two with this artist on it. Tis why there should probably be some customizable exclusion list, to catch those rare artists who might effect one person but not 100 others.

chrisjj
Posts: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Post by chrisjj » Fri May 02, 2008 4:02 am

> I'd have to see an example of that before I'm convinced

An example of what, specifically?

> Pretty much any band with '&' has the potential of being an
> exception if that symbol is used as an optional separator, among
> others. I don't want to maintain that kind of data.

Well someone has to maintain either global exceptions or case-by-case inclusions because MM is not a mind-reader!
Chris

chrisjj
Posts: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Post by chrisjj » Fri May 02, 2008 4:06 am

MoDementia wrote:
chrisjj wrote:The default is just "/"
This just moves "your" issue over to someone else who has either migrated from WMP or is a current MM user.
You've lost me there. Could you explain?
chrisjj wrote: 5 No special storage in tags is required.
In tags:
" & " = "/"
" " feat. " = "/"
" and " = "/"
I wasn't proposing that in tags. Are you suggesting that /is/ required? If so, how so?
Without an additional/optional entry form I'm concerned that a significant number of artists will be in the "exception" list requiring edits in 2 separate forms.
What's this second form?
Chris

spacefish
Posts: 1427
Joined: Mon Jan 14, 2008 7:21 am
Location: Denmark

Post by spacefish » Fri May 02, 2008 5:45 am

chrisjj wrote:Well someone has to maintain either global exceptions or case-by-case inclusions because MM is not a mind-reader!
Jam & Spoon = 1 Artist
Queen & David Bowie = 2 Artists

Unless you have a separate field per artist, or some other method in place that ensures that setting exceptions are part of the designed work flow and not merely an afterthought, the amount of maintenance required to be done by the user will make this method of input worse than it is now.

If you specify 1 Field for 1 Artist then MM *can* be a mind reader. If you have the value Jam & Spoon in 1 Field, MM knows it's 1 Artist.

If you have Queen in 1 Field and David Bowie in 1 Field with a designated separator of '&' for parsing, MM knows it's 2 Artists.

I'm not against the method you propose but I don't want to have to be maintaining other exception tables in addition to editing tags. There simply needs to be some mechanic by which a user can add multiple artists without being required to tell MM what to do with that data other than indicating ',', '&', 'feat.', 'vs.', etc., if any separators are to be used at all. A "simple", hand-keyed exception list will be cumbersome, at best.

Perhaps if you gave an "example" of how one would edit tags using your method, including where you envision this exception list to be and how it would be maintained (via what process), one might have a better idea of what you're proposing. I have my own idea about how this could be acceptably handled so that folks could keep their familiar "one field per tag" interface (for copy/paste or what have you), but I'd like to hear yours. :)
Image
MM Gold 3.0.3.1183 : Vista HP SP1 (x86) : Zen Stone (2GB)
Zekton: An original MM3 skin by Eyal.
Scripts in Use: Add/Remove PlayStat | Auto Album DJ | AutoRateAccurate | Backup
Case & Leading Zero Fixer | Classification & Genre Changer | Clean Scripts.ini | Clear
Field | Custom Report | Discogs Auto-Tag Web Search | Forget Crossfade | Invert
Selection/Select None | Last 100... | Lyricator | Lyrics to Instrumental | MonkeyRok
MusicBrainz Tagger | My Custom Nodes | Now Playing Art Node | Play History & Stats
Right Click for Reports | Right Click for Scripts | Right Click for Web | Stop After Current
WebNodes

chrisjj
Posts: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Post by chrisjj » Fri May 02, 2008 6:09 am

> or some other method in place that ensures that setting exceptions
> are part of the designed work flow and not merely an afterthought

So the UI can offer setting exceptions "part of the designed workflow". Where's the problem in that?

> If you specify 1 Field for 1 Artist then MM *can* be a mind reader.

If you had to assign 1 artist to 1 field, then MM read your assignment, not your mind ;)

> If you have Queen in 1 Field and David Bowie in 1 Field with a
> designated separator of '&' for parsing, MM knows it's 2 Artists.

Manually split upon input? Every occurence of "Queen & David Bowie"??

> I'm not against the method you propose but I don't want to have to
> be maintaining other exception tables in addition to editing tags.

OK, but so far the editing tag solution is less ergonomic that the editing exceptions solution.

> There simply needs to be some mechanic by which a user can add
> multiple artists without being required to tell MM what to do with that
> data other than indicating ',', '&', 'feat.', 'vs.', etc.

Please do suggest one!

> Perhaps if you gave an "example" of how one would edit tags using
> your method,

1 In Options, set separator &
2 In Artist, enter "Queen & David Bowie" - 2 artists
3 In another enter Artist "Jam & Spoon" - 2 artists so far...
4 Hit hotkey to add to exceptions - 1 artist
5 In another enter Artist "Jam & Spoon" - 1 artist

> including where you envision this exception list to be

MM config files.

> and how it would be maintained (via what process)

As above, plus direct editing of the list in Options.

> I have my own idea about how this could be acceptably handled so that
> folks could keep their familiar "one field per tag" interface

Looking forward to hearing it!
Chris

MoDementia
Posts: 1321
Joined: Thu Jun 15, 2006 3:26 pm
Location: Geelong, Victoria, Australia

Post by MoDementia » Fri May 02, 2008 9:54 am

";"
Last edited by MoDementia on Fri May 16, 2008 5:29 pm, edited 1 time in total.

spacefish
Posts: 1427
Joined: Mon Jan 14, 2008 7:21 am
Location: Denmark

Post by spacefish » Fri May 02, 2008 9:55 am

chrisjj wrote:> or some other method in place that ensures that setting exceptions
> are part of the designed work flow and not merely an afterthought

So the UI can offer setting exceptions "part of the designed workflow". Where's the problem in that?
There is none, if it's designed properly.
> If you specify 1 Field for 1 Artist then MM *can* be a mind reader.

If you had to assign 1 artist to 1 field, then MM read your assignment, not your mind ;)
It was your reference, not mine. The point is, with multi-field inputs, the *design* allows MM to read my assignment with or without setting separators and without setting exceptions. 1 Field per Artist = No Guesswork Required.
> If you have Queen in 1 Field and David Bowie in 1 Field with a
> designated separator of '&' for parsing, MM knows it's 2 Artists.

Manually split upon input?
In a multi-field interface, it would be 1 Artist per field. In practice, manually splitting artists that are pulled into a single field is a lot less of a hassle than upkeeping an additional list of exceptions. I do it all the time now and it fits easily into the work flow, on new adds. See below for more.
Every occurence of "Queen & David Bowie"??
Yes, every occurrence of Queen & David Bowie = 2 Artists (in my library). I can see the concern in how to transfer the existing data to the new methodology and frankly, this is going to be a concern no matter what the new input is. Everyone will have to adapt their data to it. Going forward, it will (hopefully) be a much more streamlined and defined system than it is now.
> I'm not against the method you propose but I don't want to have to
> be maintaining other exception tables in addition to editing tags.

OK, but so far the editing tag solution is less ergonomic that the editing exceptions solution.
Not really. As it is now, I only have to enter artists once. There is no place to enter exceptions. But since there is no parsing translation of ';' within the current design, it's even easier than that: I enter artists as is without separators. Thus I have no multiple artists in my artist fields as far as MM is concerned. It may not be accurate but it is quick, easy, and it is read, reported and displayed properly. Set it and forget it.

Any new design must consider parsing methods as well as user input. It's not one or the other.
> There simply needs to be some mechanic by which a user can add
> multiple artists without being required to tell MM what to do with that
> data other than indicating ',', '&', 'feat.', 'vs.', etc.

Please do suggest one!
I have or haven't you been reading? ;)
> Perhaps if you gave an "example" of how one would edit tags using
> your method,

1 In Options, set separator &
2 In Artist, enter "Queen & David Bowie" - 2 artists
3 In another enter Artist "Jam & Spoon" - 2 artists so far...
4 Hit hotkey to add to exceptions - 1 artist
5 In another enter Artist "Jam & Spoon" - 1 artist
So now I have to enter the artist twice. This is exactly what I was trying to prevent and likely what MoDementia was referring to by using a second form. Requiring the user to enter artists again to add them to another list is not good design.
> including where you envision this exception list to be

MM config files.

> and how it would be maintained (via what process)

As above, plus direct editing of the list in Options.
Again, double-entering data isn't the direction we really want to go, is it?
> I have my own idea about how this could be acceptably handled so that
> folks could keep their familiar "one field per tag" interface

Looking forward to hearing it!
A check box or radio button (so as not to confuse with the properties update marker) next to the field to add this artist to the exception list. When this option is set to true, MM simply copies the artist name *as is* from the field and pastes it into the exception list. This way separators could still be defined in advance via Options but users wouldn't have to double-edit. This might work but it wouldn't be my first choice.

Something comes to mind then using this method: What happens when bands collaborate and have all sorts of symbols already in their names? How do we define exceptions (or not) in those cases?

Jam & Spoon, Crosby, Stills, Nash & Young, Rod Stewart, Bryan Adams & Sting, Dan Turèll + Halfdan E

A multi-field solution would prevent this from becoming an issue but that doesn't seem to be well-received.
Image
MM Gold 3.0.3.1183 : Vista HP SP1 (x86) : Zen Stone (2GB)
Zekton: An original MM3 skin by Eyal.
Scripts in Use: Add/Remove PlayStat | Auto Album DJ | AutoRateAccurate | Backup
Case & Leading Zero Fixer | Classification & Genre Changer | Clean Scripts.ini | Clear
Field | Custom Report | Discogs Auto-Tag Web Search | Forget Crossfade | Invert
Selection/Select None | Last 100... | Lyricator | Lyrics to Instrumental | MonkeyRok
MusicBrainz Tagger | My Custom Nodes | Now Playing Art Node | Play History & Stats
Right Click for Reports | Right Click for Scripts | Right Click for Web | Stop After Current
WebNodes

Mizery_Made
Posts: 2283
Joined: Tue Aug 29, 2006 1:09 pm
Location: Kansas City, Missouri, United States

Post by Mizery_Made » Fri May 02, 2008 1:23 pm

The problem with a "multi-field" approach is that if I'm thinking of what you're thinking of, them it's even less ID3 compliant then some of the other things mentioned previously. Are you indeed talking about saving Artist 1 into an Artist frame, then saving Artist 2 into a separate Artist frame?

On the topic of ";" & "/", the ID3 standards specify that multiple values be saved with "/" between them. (2.3 anyway, 2.4 uses a "Null" I believe) WMP & now MM interpret this in their UI as ";". One could argue that both WMP & MM are wrong in this approach.

I still feel having a customizable parser list & exception list is the idea that's the best compromise between simple & in depth. It allows for ease of entry in most cases, even still allowing the copy & pasting of test into the field. There seems to be a snap on the whole exception list part of it though. It's only there to cover the bases with those artists who aren't supposed to be broken up like the rest.

At this rate, it would probably just be easier for it to be left in "Artist 1; Artist 2" form and then simply let those who want to keep "feat." information and such enter it as "Artist 1; &; Artist 2; feat.; Artist 3" and simply ignore the "&" and "feat." artist nodes. Lol.

jiri
Posts: 5395
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic
Contact:

Post by jiri » Fri May 02, 2008 3:52 pm

1 Options has a list of separator strings. The default is just "/", giving ID3V2.3 compliance. For your cases above, the user must enter " and " " & " ", " " feat. ". Options has also a list of exceptions e.g. "AC/DC"
2 Artist grouping (e.g. in tree Artist) splits the artist property by those separators.
3 Tracklist and Properties shows and edits the property value as is (current ';' adjustment is gone)
4 Search searches the property value as is (current ';' non-match is gone).
5 No special storage in tags is required.
Most of this proposal has already been discussed, so I'll just add two comments:
5. That's a question - if it isn't stored in tag in any way, other applications (or even other instances of MM) won't be able to properly separate individual artists.
6. Although the rest of the proposal generally speaking works, it misses one feature I liked about my original proposal (based on some suggestions from users): To be able to assign some artist to a track (e.g. 'Iron Maiden'), but show it also under other artists (like 'Bruce Dickinson').

Jiri

Post Reply