2016-01-06, 18:23
In case anyone is watching this thread I have finally got a much improved and extended version of my initial PR built and ready for testing. The code is in my local repo, but I will get it into the PR branch sometime soon (when I can face the rebase).
Most of the discussion above has been taken into account. Lots of useful input from @evilhamster, and I wish he was around for some more discussions. I bit the bullet and included TMCL tag, in fact this work generally improves the music browsing not just for classical music specifically.
It adds processing for the following tags:
COMPOSER (TCOM)
CONDUCTOR (TPE3)
LYRICIST (TEXT)
REMIXER (TPE4)
ENSEMBLE / BAND / ORCHESTRA (TXXX:Ensemble)
ARRANGER,
ENGINEER,
PRODUCER,
DJMIXER,
MIXER
PERFORMER=artist (instrument) (TIPL and TMCL)
I also simplified the way I was trying to deduce and store "album composers" etc. It can all be gleaned from the song_artist table.
Folder type custom nodes can use roleID and role as a criteria, for example
will list orchestras.
Notice the info label Library.HasContent(Role, XXXXXX) where XXXXXXX is role description will return is there are any artists with that role in the library.
I have added info labels for the form ListItem.Property(Role.XXXXXX) where XXXXXX is a role description. In addition to the standard roles: Composer, Conductor, Orchestra, Lyricist, Remixer, Arranger, Engineer, Producer, DJMixer, Mixer - this is flexible so that any role derrived from TMCL/Performer tags e.g. soloist, drummer etc. can be used to return the artist name(s) that play that role for a song.
And there is ListItem.contributor and ListItem.contributorandrole that return all musicians or other people involved (and their role) that have contributed to the recording musch like cast for video.
I have even had a crack at JSON output, and role as smart playlist criteria.
Test build is here http://mirrors.kodi.tv/test-builds/win32...People.exe
You will also want to download the following custom node files https://www.dropbox.com/s/6jhkz3chn2vf25...s.zip?dl=0 then create a Roles folder in Userdata/Library/Music and put them there.
Feedback appreciated.
Most of the discussion above has been taken into account. Lots of useful input from @evilhamster, and I wish he was around for some more discussions. I bit the bullet and included TMCL tag, in fact this work generally improves the music browsing not just for classical music specifically.
It adds processing for the following tags:
COMPOSER (TCOM)
CONDUCTOR (TPE3)
LYRICIST (TEXT)
REMIXER (TPE4)
ENSEMBLE / BAND / ORCHESTRA (TXXX:Ensemble)
ARRANGER,
ENGINEER,
PRODUCER,
DJMIXER,
MIXER
PERFORMER=artist (instrument) (TIPL and TMCL)
I also simplified the way I was trying to deduce and store "album composers" etc. It can all be gleaned from the song_artist table.
Folder type custom nodes can use roleID and role as a criteria, for example
Code:
<?xml version='1.0' encoding='UTF-8'?>
<node order="3" type="folder" visible="Library.HasContent(Role, Orchestra)">
<label>Orchestras</label>
<icon>DefaultMusicGenres.png</icon>
<path>musicdb://artists/?role=Orchestra</path>
</node>
Notice the info label Library.HasContent(Role, XXXXXX) where XXXXXXX is role description will return is there are any artists with that role in the library.
I have added info labels for the form ListItem.Property(Role.XXXXXX) where XXXXXX is a role description. In addition to the standard roles: Composer, Conductor, Orchestra, Lyricist, Remixer, Arranger, Engineer, Producer, DJMixer, Mixer - this is flexible so that any role derrived from TMCL/Performer tags e.g. soloist, drummer etc. can be used to return the artist name(s) that play that role for a song.
And there is ListItem.contributor and ListItem.contributorandrole that return all musicians or other people involved (and their role) that have contributed to the recording musch like cast for video.
I have even had a crack at JSON output, and role as smart playlist criteria.
Test build is here http://mirrors.kodi.tv/test-builds/win32...People.exe
You will also want to download the following custom node files https://www.dropbox.com/s/6jhkz3chn2vf25...s.zip?dl=0 then create a Roles folder in Userdata/Library/Music and put them there.
Feedback appreciated.