proposed solution for defects 90095 & 119539 (674 votes, 638 votes) (Multiple artists per song)
Devon Jones
soulcatcher at evilsoft.org
Thu Aug 28 16:51:54 CEST 2008
So I have been looking for a media player that gets the relationship
between songs and artists right for a long time. I finally found a
music server that does it correctly in slimserver, but I'm still left
wanting a good jukebox type app that is able to handle my very large
music collection and still make thigns easy to find. One of the big
issues for this is that I have all my content well tagged for artist,
composer, remixer, orchestra, etc (in id3v2, it's TPE1, TPE2, TPE3,
TPE4, TCOM, TEXT, TIPL, TMCL, TOLY, TOPE and wherever applications
choose to stick Album Artist). Further, I have a consistent separator
between multiple artists of a single type so that apps that recognize a
separator can pull out the one to many.
I talked with a number of devs on the irc channel, and asked them about
these bugs, and essentially they said that 2.0 will freeze the database
schema for future releases, and there is presently no plan to allow for
anything more then the present 1 artist and 1 composer per track.
I'm a software dev, and I'm willing to pitch in and help to solve this
problem, if you guys are willing to accept patches to enable 1-N songs
to artists instead of the present 1-1.
My proposal:
2.0:
Since you want to nail down the schema more or less permanently for 2.0
(at least that was what was said on irc) I propose the following changes:
1) remove artist and composer columns from the track table
2) create a track_contributor table
CREATE TABLE track_contributor (
id INTEGER PRIMARY KEY,
artist INTEGER,
track INTEGER,
contributor_type VARCHAR(255)
);
3) Alter the code to store both artist and composer in this table, and
alter anything that reads from track to get the artist and composer from
this table. Contributor_type would be used to label the type of artist
such as "Artist" or "Composer" today, and things like "Remixer" (TPE4),
"Album Artist" (TPE1 normally), "Orchestra" (TPE2), "Lyricist" (TEXT),
"Original Performer" (TOPE), etc.. in future releases.
Nothing else in 2.0 so as to not add any more risk to the schedule.
2.0 + (2.1, 2.01, not sure what meaning you assign to your version numbers):
1) Choose a split character to be used in artist fields. ; appears to
be the present default. It's used in slimserver, and wma. & reads
better with the files when you look at it the mp3 with other apps, but
it means you have to deal with conflicts such as Bob Marley & the Wailers.
Slimserver defaults to ; but lets you configure it to use any character
or characters you want. Given the deeply irritating process of changing
tags one 40,000+ mp3s, I think it's probably best to let people pick the
character they arrived at and default to ;
2) Alter the loader to split on the split character, and then insert any
artists it finds.
3) File listings should take all artists on a song that have a
contributor type of "Artist" and append them together with & for
readability (open to suggestions here) and keep the columns in the pane
the same.
4) In the artist tab, the song and albums should show up under every
artist that is attached to the song. It should default to only showing
by "Artist" contributor type, but allow a person to let the pane include
any or all contributor types in the tree view.
5) The tag editor should be altered to keep the artists seperated, and
should split any artists entered with ; in them. it should have a
button for adding more artists, and there should be a dropdown allowing
a person to select the contributor type, defaulting to "Artist".
Setting "Album Artist" on one song in an album should attempt to
propagate that to any other songs on the album.
I think that about covers it.
I'm willing to pitch in and do the work, but this represents definite
change in your app, and I know that I'm totally new to the community.
Would you consider this proposal?
Thanks,
Devon Jones
More information about the Amarok-devel
mailing list