•   
  • 1
  • 11
  • 12
  • 13
  • 14
  • 15(current)
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.

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 17011 (PR) 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
  •   
  • 1
  • 11
  • 12
  • 13
  • 14
  • 15(current)
 
Thread Rating:
  • 0 Vote(s) - 0 Average



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