Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Music library artist roles node #9434

Merged
merged 1 commit into from
Apr 19, 2016
Merged

Conversation

DaveTBlake
Copy link
Member

@DaveTBlake DaveTBlake commented Mar 23, 2016

Add core processing to support a Roles node, similar to genre, that shows all the artist roles and navigates to the artists with that role.

Krypton can process and store music file tag data about standard roles: composer, conductor, orchestra, lyricist, remixer, arranger, engineer, producer, DJmixer and mixer and any value pairs in the TMCL/performer tags e.g. drummer, piano, vocalist etc. giving the contribution an artist makes.

Currently there are default nodes for the standard roles, but users have to make custom nodes for the other roles they are interested in. Using custom nodes role filtering can be combined with genre e.g. a node for classical music composers, or pop music drummers. That is flexible and powerful, but hard work for new users. A simple node showing all roles that have been scanned into the library is a useful addition.

It creates a new content type of "roles", Estuary modified to display this, Confulence seems to just work.

A node file with
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="filter" visible="Library.HasContent(Music)">
<label>Roles content</label>
<content>artists</content>
<group>roles</group>
</node>

or alternatively
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="folder" visible="Library.HasContent(Music)">
<label>Roles Path</label>
<path>musicdb://roles</path>
</node>

If anyone woud like to try it out you need to rescan music files that have been sutably tagged too.

@DaveTBlake DaveTBlake added Type: Improvement non-breaking change which improves existing functionality WIP PR that is still being worked on v17 Krypton Component: Music labels Mar 23, 2016
@DaveTBlake DaveTBlake removed the WIP PR that is still being worked on label Apr 15, 2016
@DaveTBlake
Copy link
Member Author

@razzeee perhaps you could have a look at this, or anyone else give a new music thing a go?

… roles and navigate to the artists with that role

Estuary change for Roles node to display with icon wall.
@DaveTBlake
Copy link
Member Author

Thanks @phil65 got this working in Estuary now.

I'm in a delemma about making this a default node with a menu xml file rather than a custom node. It is not a mainstream thing, many users may not want it or have their music tagged to populate it, and I don't want to clutter the UI. But without visibility users aren't going to know it is even possible. My initial offering was to create default role nodes for the standard roles e.g. composer, lyricist etc. under a fixed Roles menu. This still makes sense, but how does an dynamic all roles node fit in? Any thoughts?

I guess a way forward would be to get it working in the nightly, and some feedback from users.

@zag2me
Copy link
Contributor

zag2me commented Apr 18, 2016

Get it in as default then people see the feature and maybe tag their files better.

If we hide it away then people are going to miss the feature.

std::string strSQL = "SELECT idRole, strRole FROM role WHERE EXISTS "
"(SELECT 1 FROM song_artist WHERE song_artist.idRole = role.idRole)";
std::string strSQL = "SELECT DISTINCT role.idRole, role.strRole FROM role "
"JOIN song_artist ON song_artist.idRole = role.idRole ";

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@DaveTBlake
Copy link
Member Author

jenkins build this please

@DaveTBlake DaveTBlake merged commit eed7f6c into xbmc:master Apr 19, 2016
@DaveTBlake DaveTBlake added this to the Krypton 17.0-alpha1 milestone Apr 19, 2016
@DaveTBlake DaveTBlake deleted the RolesNode branch April 27, 2016 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API change: GUI Component: Music Type: Improvement non-breaking change which improves existing functionality v17 Krypton
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants