As far as your first point goes . . . I don't know enough about how MC'net works to see why tags were built around genres per artist vs. building it to read the genres in the individual files.
I have a VERY basic understanding of how Dbases work, but I'm going to put my next thought out there . .
The database has the genres per file . . . The link for Disco should essentially generate a query that comes back with all of the
files with that genre tag???? - yes/no . . . maybe??
Your second point:
As far as multiple genres per artist and/or track goes, I envision the following: The app can read the users dbase and make a master table of all of the genres. The user selects a track, opens the "tagging chart". Then the UI could produce a
circle chart for each file selected and a drop down list of all of the genres in the master table. (Perhaps the App could populate the circle chart on it's own based on the genre tags in the table?) The user selects Pop and Disco which then appear in the circle chart as a 50% - 50% split with two different corresponding colors. The user can click and drag the divider around the circle like a clock-hand to change the weight of the split. If the user picks more than two genres, then the circle is split is evenly divided between them at first etc. The UI always would keep the total equaling 100% too.
These weights would have to be additional tags that point to the genre tags . . . if possible.
If so then . . .
Now we have these percentage-weights for the tracks or artists . . . Which would be used as a "relevance" score. E-Commerce can sort like this already, yet I don't really know how they do it . . . Nevertheless I'll give it a shot!: When the user selects "Disco" all of the files that are tagged with 100% (relevance to) Disco are listed first. Then the files that are less than 100% disco are listed next in descending order. I would hope that the user could set a "cut-off" so I could filter out Relevance scores of, perhaps 30% or less.
Am I crazy??