• 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
  • 24
Managing music albums Box-Sets properly with KODI library feature
Then again perhaps it is always up to core to decide what are the "children" of an album - discs or songs, like it does with navigation. I have an idea how to do that too now, but need to check out the cire changes involved.
Reply
(2019-12-07, 12:36)DaveBlake Wrote: Then again perhaps it is always up to core to decide what are the "children" of an album - discs or songs, like it does with navigation. I have an idea how to do that too now, but need to check out the cire changes involved.

I have a version that, if disc navigation is turned off, always shows the song list if no description.  It doesn't affect boxset navigation which still shows either description or disc titles.  Doubt Dave will approve though !!
Learning Linux the hard way !!
Reply
(2019-12-07, 14:08)black_eagle Wrote: I have a version that, if disc navigation is turned off, always shows the song list if no description.  It doesn't affect boxset navigation which still shows either description or disc titles.  Doubt Dave will approve though !! 
Ho, depends what you have done Smile
In the skin, or in core or both? You show me yours and I'll show you mine
Reply
(2019-12-07, 15:00)DaveBlake Wrote:
(2019-12-07, 14:08)black_eagle Wrote: I have a version that, if disc navigation is turned off, always shows the song list if no description.  It doesn't affect boxset navigation which still shows either description or disc titles.  Doubt Dave will approve though !! 
Ho, depends what you have done Smile
In the skin, or in core or both? You show me yours and I'll show you mine  
I did it in core.

Basically, applied a test for the disc nav settings & boxset in the album node and returned a child node of discs if the setting is enabled or the album is a boxset, else return a child node of songs.

cpp:
NODE_TYPE CDirectoryNodeAlbum::GetChildType() const
{
  bool boxset = false;
  bool discs = CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(
            CSettings::SETTING_MUSICLIBRARY_SHOWDISCS);
  CMusicDatabase db;
  if (db.Open())
    boxset = db.IsAlbumBoxset(GetID());
  if (!discs && !boxset)
    return NODE_TYPE_SONG;
  return NODE_TYPE_DISC;
}

Your variable adjustment works well.  It doesn't work though for paths that have ?compilation=true or similar.
Learning Linux the hard way !!
Reply
(2019-12-07, 15:27)black_eagle Wrote: Your variable adjustment works well. It doesn't work though for paths that have ?compilation=true or similar.
Yes it was flawed I know, and skins can't get at Kodi settings either. Core is a better place for such complex decisions.

Your in core attempt isn't bad at all. Smile
In fact it is interesting and leaves me wondering why we didn't do more in CDirectoryNodeAlbum::GetChildType in the first place - I'm sure there was an issue....
[EDIT: Ah yes, counting discs when filtered e.g. genre>artist>album. Only one of the discs in a multi-disc album may be in the results and so the children are songs. CDirectoryNodeAlbum doesn't know what path lead to its creation, so anything about filtering] 

But going to dock a few points for not showing songs when then there is only one disc regardless of show discs being enabled. I think the behaviour of the sublist contents needs to mimic the navigation behaviour.

My approach is here https://github.com/xbmc/xbmc/pull/17011 see what you think.
Reply
(2019-12-07, 16:08)DaveBlake Wrote: But going to dock a few points for not showing songs when then there is only one disc regardless of show discs being enabled. I think the behaviour of the sublist contents needs to mimic the navigation behaviour.

It was a work-in-progress!!  Admittedly there was a flaw or two, but I was contemplating those when you came up with your PR.  So I stopped Smile
Learning Linux the hard way !!
Reply
(2019-12-07, 22:30)black_eagle Wrote: It was a work-in-progress!!  Admittedly there was a flaw or two, but I was contemplating those when you came up with your PR.  So I stopped Smile 
It was good stuff @black_eagle, and gave me cause to think around things more so not a wasted effort. I felt responsible for issues with the navigation guts, hence got on with PR, but please kick the tires etc. Smile
Reply
My testing shows that with disc navigation on, single albums with no description show the track list, multi-disc albums show either disc names or Disc 1, Disc 2, etc etc.  With disc navigation off, those same multi-disc albums show the track list in the left container. So all looks good.  Confluence doesn't have a similar view but testing with it shows no differences in navigation so no regression introduced there.
Learning Linux the hard way !!
Reply
@HeresJohnny , @tkgafs I have raised a PR against master https://github.com/xbmc/xbmc/pull/17096 that makes the boxset tag check case insensitive.

Merry Xmas Smile
Learning Linux the hard way !!
Reply
Thumbs Up 
(2019-12-29, 18:28)black_eagle Wrote: @HeresJohnny , @tkgafs I have raised a PR against master https://github.com/xbmc/xbmc/pull/17096 that makes the boxset tag check case insensitive.

Merry Xmas Smile
Reply
'Somehow I still can't get it to work... I've just added a 3-CD Boxset by The Drifters and it isn't picked up under Boxsets...
@DaveBlake I'm going to send you a link to an example file just in case you see something obvious I'm doing wrong with tagging...
Reply
Incorrect tagging again @HeresJohnny, it would be so much easier to use Picard.

In this case the example FLAC file has a tag value with name MUSICBRAINZ_ALBUMTYPE, where the tag name in FLAC file metadata should be RELEASETYPE. The metadata tag names vary with file format, see https://kodi.wiki/view/Music_tagging#Tags_Kodi_reads and https://picard.musicbrainz.org/docs/mappings/
Reply
If you're still using that foobar2000 plugin then it doesn't seem very compatible with the correct tag mapping going by
https://marc2k3.github.io/foo_musicbrainz.html
if you use anything other than Vorbis, which makes it pretty much useless in my opinion.
Reply
(2020-01-17, 14:34)DaveBlake Wrote: In this case the example FLAC file has a tag value with name MUSICBRAINZ_ALBUMTYPE, where the tag name in FLAC file metadata should be RELEASETYPE.

Quite right you are! Fortunately those two tag types are customizable in the foobar2000 tagger, so that is an easy fix. They are set to APE v2 in my installations but I can't remember if that is the default or something I had set myself years ago. Will check with a new installation when I have the time.
Reply
Fantastic new feature, I wonder if I'm the first ordinary user to be abusing it?  Wink

With slightly creative tagging this does a brilliant job of organizing albums that have been released and re-released with different mastering, different media (SACD, blu-ray), quad or 5.1 surround versions, etc.

Image

An unanticipated benefit is organizing this way does an end-run around a longstanding Kodi sorting bug that normally sorts albums like this:

SomeAlbumName (2012 Remix)
SomeAlbumName (SACD 5.1)
SomeAlbumName (Super Deluxe Blu-Ray Version)
SomeAlbumName                <---- last in the list Sad

Disc numbers just need to be jiggered such that each release has a unique number, and you can sort them properly.

This whole thing doesn't work if my tags include proper MUSICBRAINZ_ALBUMID - which I'm happy without, as RELEASEGROUPID, TRACKID and ALBUMARTISTID seem more than sufficient to keep me sorted.

I was tempted to suggest that this is useful enough to warrant making this new feature more generalized, and not quite so specifically aimed at Box Sets per se; but I don't imagine it's a good idea to recommend tweaking and omitting tags as I've done.  A nice bit of fun anyway, and since I'm gearing up for a retag of my library anyway I think I'll run with it.
Reply
  • 1
  • 13
  • 14
  • 15(current)
  • 16
  • 17
  • 24

Logout Mark Read Team Forum Stats Members Help
Managing music albums Box-Sets properly with KODI library feature0