Posts: 1,231
Threads: 194
Joined: May 2015
Reputation:
13
We have sorttitle, should we have sortartist as well so we can sort 'Pink Floyd' at P and 'Eddy Floyd' at F ?
Johan
johanvromans.nl — hetgeluidvanseptember.nl — mojore.nl -- howsagoin.nl
Samsung Galaxy Note S7FE (T733) 12.4", Android 13.0, AirTurn Duo & Digit (Gigs).
Samsung Galaxy Note S4 (T830) 10.5", Android 10.0 (maintenance and backup).
Samsung A3 (A320FL), Android 8.0.0 (emergency).
Posts: 13,392
Threads: 302
Joined: Apr 2012
Reputation:
238
I definitely plan on adding an option to sort composer by last name first. I was thinking of also supporting that for artist. Do you think it would be better to have a field for "sortartist" that you would have to populate separately versus just sorting it by last name for all values (if enabled)?
Thanks,
Mike
Posts: 1,231
Threads: 194
Joined: May 2015
Reputation:
13
Composers are usually people, with first/last names. And even then... What is the last name of Johann Sebastian Bach? Ralph Vaughan Williams? സ്വാതി തിരുനാള് രാമവർമ്മ?
Artists can be anything so there is no general rule for sorting. For my record collection programs I 'invented' a special syntax to create sortname and displayname from a single item: "Floyd, Eddy *" (displayname gets sort key filled in on the *) and "Pink Floyd" (as is). This can even cope with complex names like "Williams, Roek * and the Fighting Cats" and "Veulpoepers, RK * BV".
Johan
johanvromans.nl — hetgeluidvanseptember.nl — mojore.nl -- howsagoin.nl
Samsung Galaxy Note S7FE (T733) 12.4", Android 13.0, AirTurn Duo & Digit (Gigs).
Samsung Galaxy Note S4 (T830) 10.5", Android 10.0 (maintenance and backup).
Samsung A3 (A320FL), Android 8.0.0 (emergency).
Posts: 1,879
Threads: 290
Joined: Sep 2014
Reputation:
32
Could you please tell us some more details about your "special syntax"? Thanks.
Posts: 13,392
Threads: 302
Joined: Apr 2012
Reputation:
238
The main problem I have with a sortartist field is that the field allows any number of values to be entered, not just one. There isn't an easy way to implement a plural "sortartists" field where you can specify the sorting for each value in the artists field. Unlike the song title, which is required, artist is an optional field, so it wouldn't make sense to have a value in the sortartist field without any artists assigned to the song. I think I may need to come up with a different way of handling this, like letting the user tap on each entry in the artists field and they can assign the sorting value in a popup for that particular field. This would require a new database table to store everything though.
I would assume "Bach, Johann Sebastian" or "Williams, Ralph Vaughan" would be the way the algorithm would handle those. Whether that's correct or not is a different issue. I could also change the behavior so it only applies to artists with a first and last name (so any name greater than two values would be sorted normally). I could also look into supporting a syntax like what you have described. I'm open to something like that as well.
Thanks,
Mike
Posts: 1,231
Threads: 194
Joined: May 2015
Reputation:
13
I started registering (on the computer) my collection of records, cassette, tape recordings somewhere in 1978. Until then I had it all written out on paper.
As soon as the data was in the computer I encountered the issue of sorting the artists.
My latest gross redesign of the database and software was in 2001. This is the software I still use up to today.
The issue to be solved is how to sort arbitrary artists (people names, band names). I tried a number of heuristic algorithms but they all had their flaws. It is theoretically impossible to distinguish a band name like Pink Floyd from an person name like Eddy Floyd. Not to mention Jethro Tull (the person) and Jethro Tull (the band).
My first attempt was to indicate the sort key in the display name with an asterisk: *Pink Floyd versus Eddy *Floyd. (For convenience a leading asterisk could be left out. No asterisk meant sorting 'as is'). This had certain limitations so I quickly switched to a format with two fields: the sort key and the rest: "Pink Floyd; Pink Floyd" and "Floyd, Eddy; Eddy Floyd".
From there is was a trivial step to "Pink Floyd" (no asterisk → sort 'as is') and "Floyd; Eddy *".
Transformation from sortname to display was a single rexep replacement: s/^(.*?);\s(.*)\*(.*)/$2$1$3/ (in Perl).
Since there is a deterministic way to transform sortname to display name it is not necessary to have both in the database. It is also upward compatible in the sense that it is easy to augment an existing implementation with only display names to deal with sort names -- without affecting current data and behaviour.
This is basically the situation with MSPro. It only has artist names that are display names. By using the above transformation algorithm (or something similar) a sorting order can be obtained without the need for a separate sortnames item. Also, as Mike already noticed, if you would have multiple artists and sortartists how to pair them?
In my initial design I used commas to separate the sort part from the rest which turned out to be non-optimal (think "Crosby, Stills, Nash & Young"). There a much better choices.
So my personal advice to Mike would be to not try the road of heuristics but adopt something similar to described above. Heuristics will let you down.
And yes, it is "Bach, Johann Sebastian" and "Vaughan Williams, Ralph".
Johan
johanvromans.nl — hetgeluidvanseptember.nl — mojore.nl -- howsagoin.nl
Samsung Galaxy Note S7FE (T733) 12.4", Android 13.0, AirTurn Duo & Digit (Gigs).
Samsung Galaxy Note S4 (T830) 10.5", Android 10.0 (maintenance and backup).
Samsung A3 (A320FL), Android 8.0.0 (emergency).
Posts: 116
Threads: 40
Joined: Apr 2020
Reputation:
1
I've been using a workaround. If I can find a song's composer(s), I enter that into the composer field (lastname, given names) and in the artists field (given names lastname). Arrangers, bands, groups, transcribers, etc. all go in the artist field.
This makes it so that when I view the composer tab, the composers are all sorted by last name. When I view the artists tab, the artists are sorted by first name or band name.
While it might be nice to see the whole song list sorted by artist, it seems like I would end up with many songs copied multiple times because I listed more than one artist.