Kodi Community Forum

Full Version: Managing music albums Box-Sets properly with KODI library feature
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
As of v19, Kodi now has the ability to distinguish between ordinary multi-disc albums and those of a 'boxset'.

It does this by reading the 'discsubtitle' tag in the music files.  If an album has at least 3 distinct disc titles then Kodi will automatically mark it as a boxset in its library and a new node will be created containing just the boxsets.
It does not matter if all the music files for the boxset are in one directory or if you have split them up into multiple directories e.g. <album name> containing [cd1, cd2, cd3, etc]. 

If you wish to make an album into a boxset that normally wouldn't be recognized as such by Kodi, you can do it by either
  1. Giving each disc a name.  (eg, disc 1, disc 2, etc) or
  2. set the musicbrainzalbumreleasetype tag to contain boxset
Ultimately it will also be possible to set it via jsonrpc as well.

You can assign different art for each individual disc (this applies to any discs in your library, not just boxsets) and different covers if you want to.  The covers can be different from the overall 'album' cover or the same. If your boxset or album is in one directory then you should name your art 'cover1, cover2, cover3' (or thumb1, thumb2, thumb3) and 'discart1, discart2,discart3' etc etc.  If your album or boxset is in multiple directories you can just use 'thumb' or 'cover' & 'discart'.  To aid in the correct assigning of art, I wrote a mini guide that you can find here https://forum.kodi.tv/showthread.php?tid...pid2927644 . This is specific to music artwork in Kodi v19 onwards.

Most of this works without needing any special skin support.  If a skin shows disc art when playing a track then Kodi should automatically show the right covers and discs without needing any changes to the skin.  No changes are needed to navigate the boxset node, it works in the same way as the compilation or recently played nodes.

Changes are needed to a skin if you want it to show the total number of discs in an album or display the name (if any) of a disc when in the music viz screen.

Currently, stock Estuary shows the disc titles in 'shift' view only, otherwise it shows the album title for each disc. Estuary displays disc titles in all views, as does Confluence.

There is an option (Settings -> Media -> Music) to Split albums into individual discs which is on by default.  This means that navigation now goes album -> discs -> songs.  If this setting is turned off, navigation is the same as v18, album -> songs.  However, this setting has no effect for navigation of boxsets, which always use album -> discs -> songs.

I hope that not only does this improve navigation of albums as a whole, but that it makes it much easier to find and navigate boxsets and have them display the right art.
Before asking this question I've searched both Kodi.Wiki and this forum. Several similar questions were found at the forum (like this or this and some other) but none of them have clear answer.

My aim is to make KODI display every given box-set as an album with its own artwork, then when I enter this box-set album I'll see all its albums sorted by name or year released with their own artwork (preferrably, but ok without specific albums artwork), and only after entering the real album itself I'll see its tracklist.

Something like:
Code:

| Massive Attack (artist name)
----| Singles 90/98 (box-set name)
--------| Daydreaming (specific box-set item name)
--------------| 01. Daydreaming (album version)
--------------| 02. Daydreaming (luv it mix)
--------------| 03. Daydreaming (brixton bass mix)
--------------| 04. Daydreaming (luv it dub)
--------------| 05. Any Love (2)
--------| Unfinished Sympathy (specific box-set item name)
--------------| 01. Unfinished Sympathy (original)
--------------| 02. Unfinished Sympathy (nellee hooper 7'' mix)
--------------| 03. Unfinished Sympathy (nellee hooper 12'' mix)
--------------| 04. Unfinished Sympathy (perfecto mix)
--------------| 05. Unfinished Sympathy (instrumental)
--------| Inertia Creeps (specific box-set item name)
--------------| 01. Inertia Creeps (album version)
--------------| 02. Inertia Creeps (radio edit)
--------------| 03. Inertia Creeps (manic street preachers version)
--------------| 04. Inertia Creeps (state of bengal mix)
--------------| 05. Inertia Creeps (alpha mix)
--------------| 06. Back - She Comes
--------------| 07. Reflection

No need to list all 11 CDs that included in this box set, but it is a huge list of tracks. 63 to be precise.

All the CDs from this box-set were ripped as separate .flac file for each individual song.

All .flac files contain the title, artist, album, tracknumber, year, albumartist, discnumber, discsubtitle and genre tags.

Image

By setting the album tag to Singles 90/98 for all 11 CDs, then numbering every CD with discnumber tag and finally naming the CDs inside the box-set using discsubtitle tag only allows to sort the list of tracks by CD number like:
Code:

| Massive Attack (artist name)
----| Singles 90/98 (box-set name)
--------| 01. Daydreaming (album version)
--------| 02. Daydreaming (luv it mix)
--------| 03. Daydreaming (brixton bass mix)
--------| 04. Daydreaming (luv it dub)
--------| 05. Any Love (2)
--------| 01. Unfinished Sympathy (original)
--------| 02. Unfinished Sympathy (nellee hooper 7'' mix)
--------| 03. Unfinished Sympathy (nellee hooper 12'' mix)
--------| 04. Unfinished Sympathy (perfecto mix)
--------| 05. Unfinished Sympathy (instrumental)
--------| 01. Inertia Creeps (album version)
--------| 02. Inertia Creeps (radio edit)
--------| 03. Inertia Creeps (manic street preachers version)
--------| 04. Inertia Creeps (state of bengal mix)
--------| 05. Inertia Creeps (alpha mix)
--------| 06. Back - She Comes
--------| 07. Reflection

but it is still that huge list of tracks.

I may be doing something wrong, or may be setting the aforesaid tags is not enough. Or may be KODI just can't deal with its library this way and Artist>Album>Tracks is its current maximum.

So if it is possible to sort box-sets by Artist>Box-Set>Album>Tracks or Artist>Album>Sub-Album>Tracks (wich is the same) then I would like to know what should I do to achieve that.

If KODI is unable to do that currently then I'd like to ask the developers to introduce this feature.
I think yours it's one of the most wanted feature in Kodi - music side, the only one I use - nowadays.   Smile
In my about 7-8000 releases I've got a lot of box-sets: some of them are simple collection of old albums without modifications (for instance, I have one with more or less the first 5 Bob Marley's album, exactly as publicated alone).
These cases are easily resolved: sometimes in Musicbrainz you have both the albums alone and the box-set. It's enough to treat the box-set as 5 different albums and tag them accordingly.
But there are several boxsets that are difficult to manage: for instance one of my main problem as regards boxsets is John Martyn's The Island Years: 17 CDs, 16 of them already released, but full of bonus tracks not present in the original CDs, and 1 completely new with new Island mix of selected tracks.
It's not possible to treat this boxset as albums alone, and if tagged as boxset is a huge mess of about a couple of hundred tracks.
Anyway consider that this is a limit case: there's a lot of more "human" boxsets that need to be treated only as boxsets.
Thus, the possibility to have a node to split the discs inside a release I think is abolutely useful, if not necessary, in one of the next releases, arguably Matrix I'd say.
Someone in a quite old thread talked about the possibility to create a folder node that separates the discs (in this case you'd have to have different subfolders for every disc in the boxset, which is my case and I believe even for a lot of other users), but I really don't understand how to get it.
If it's really possible and someone want to explain how to do....

Thanks in advance
Fester
The problem is well-understood, but there's only one dev (Dave) with the experience and motivation to work on Music library issues and features on a continuing basis, so it's a workload issue really.

MusicBrainz tagging system has what would be a potential design solution by listing the medium type and name/title for each physical medium in a release.  While Kodi currently only manages the "discnumber" within a release. MB defaults to disc 1, disc 2 etc if editor does not name the media.

But besides the database change we also need to design the "hooks" to display art, retrieve the data and provide means for skins to display it, etc.  From a skinning perspective, once the tools are in place skinning it would be straight-forward (could be handled analogous to movie sets/collections in the skin) although movie sets have their own limitations.  

scott s.
.
Hmmm, for me, either disc number or disc subtitle would give me enough fields to be able to sort properly on, given that the box-set has some sort of name that covers all the discs in the set.  The 30th anniversary Joshua Tree album that I have is actually 4 cd's worth of stuff (even though most of it was actually released 10 years ago, grrr!) but Musicbrainz tags the lot as "The Joshua Tree", with correct disc numbers and disc subtitles.  I could probably fiddle with the tags and get it to show a little better than it does already (I can list it in the proper order, with the discs in order, but it shows all the tracks for all the discs at once) but I'm quite happy to wait and see if Dave implements something regarding this.

I've already considered changing some of my date tags because some of the stuff I've bought has been re-releases and although they are tagged correctly with the proper date and original release date, Kodi currently only uses the 'date' tag, not the 'Original Release Date'.  Means that some of my albums list in the wrong date order because the re-releases were not released in the same order as the originals.  However, after consulting with Dave, I understand that he has already considered this and that some work has already been done in this direction.  Therefore, I prefer to leave my tagging 'right' and wait for Kodi to catch up a little.

I'm 100% certain that if Dave had no private life and no work life and nothing else to do but write code for Kodi, that the music library would be in an even better position than it is now.  But, as I know all too well from my own situation, work and RL can get in the way all too often and free contributions to an open-source project have to sometimes take a back seat, no matter how well intentioned you are.

I'd love to be able to contribute more to Kodi in the way of core code, but sadly, C++ is something of a closed book.  I can follow it reasonably well ( I can write in straight C fairly well) but writing it is a different matter !!  Although, if anyone could point to a PR where Dave added, say, an extra field to the music db, then that might be a starting point that I could work backwards from.  Perhaps I'll have to look over all his PR's from the last couple of years Smile
(2019-07-30, 18:13)unclefester Wrote: [ -> ]Someone in a quite old thread talked about the possibility to create a folder node that separates the discs (in this case you'd have to have different subfolders for every disc in the boxset, which is my case and I believe even for a lot of other users), but I really don't understand how to get it.
If it's really possible and someone want to explain how to do....

Thanks in advance
Fester

This would be the ideal solution.

For any library items with multiple discs then when you enter the release have further folders for disc

So navigation would become ARTIST > ALBUM > Disc number (with subtitle)


this is becoming more and more of a thing now with lots of artists releasing multi disc "deluxe" and "super deluxe" releases. For example, just recently:

Bob Dylan, Rolling Thunder Review (Super Deluxe) is spread over a whopping FOURTEEN discs, 4 discs of demo's and then 5 complete concerts.

Beatles, White Album (50th Anniversary Super Deluxe) is spread over six discs

And its only becoming more and more common as with technology allowing them to remaster vast swathes of unreleased music. There seem to be gargantuan super special deluxe albums being released almost weekly.
I am listening guys, and I am aware of the issue, but I have not got a quick answer. Thanks @scott967  and @black_eagle for your kindness and understanding of the practicalities. If either of you (or anyone else) would like to get a dev env setup then I would happily encourage and support you. I'm not a C++ expert either, it is just a language like all the rest, the art is in good design (and doggid determination and infinite patience). Just get stuck in!!! The only way to learn how Kodi hangs together is to run a trace though debug.

The challenge is the Jenga nature of Kodi - everything has to be backwards compatible remember, based around an undocumented design or reqiurement set (well what's new).  Working on Kodi is slow, if you come up with a quick answer then you simply have not thought it through enough nor considered how it would impact everyhing that already exists. Oh and no I don't have time to drop what I'm working on to do that thinking for you, which is also a problem with mentoring others wanting to start to contribute to development.  If I could tell you how to do something I probably could just do it quicker myself. It is more about you convincing me you have thought of everything so I don't have to.

Anyway yes disc sets is becoming more a of a thing....

What exercises me is how to differentiate between inconsequential cross disc spitting  -e.g. Bruckner's 8th symphony is always on 2 CD but this is not of relevance to the music, neither is the 2 disks of Pink Floyd's "The Wall" - and those places where it does matter, true boxed sets where each disk is an "album" of its own, or all those deluxe editions where the 2nd disk is full of demos/outtakes or stuff you generally don't want on your regular playlist. If disc splitting was based on just disc number and either on or off, then a chunk of most user's libraries would start to be inconvient to  use. Musicbrainz tagging will keep giving the full truth in terms of physical discs, but only certain situations do users really want the music split by those discs. This consideration is not a show stopper, but it does need an answer.

The other big component is  the GUI side of things. A disc node with Album>Disc navigation is concievable and I guess would be great for multi-disc box sets, but less convenient if there are only 2 discs. Kodi does not have a "grouped/partitoned list" concept internally, and I have no idea if some adventurous skinner has found a way to make it look like it has. Clustering list items by various things could be nice e.g. alphabetically, years, genres etc. especially for any sparse categorisation where the node approach gives a few entires each category and become tedious to use. Adding a field to the db is easy, matching it with UI and JSON changes is something else.

Ideas are easy, do not think for a moment I lack those, it is implementation that is harder and the 24 hours in a day limitation.
Dev environment has existed for years, but you are right of course and I won't learn much if I don't attempt anything.  So, I have an idea and have started to try and implement it.  Who knows, I may actually achieve something, or it may end up on the 'code scrapheap' drive......Time will tell !
(2019-08-03, 19:42)DaveBlake Wrote: [ -> ]IWhat exercises me is how to differentiate between inconsequential cross disc spitting  -e.g. Bruckner's 8th symphony is always on 2 CD but this is not of relevance to the music, neither is the 2 disks of Pink Floyd's "The Wall" - and those places where it does matter, true boxed sets where each disk is an "album" of its own, or all those deluxe editions where the 2nd disk is full of demos/outtakes or stuff you generally don't want on your regular playlist.

this is the issue and is restricted by the tagging used on mp3's unless someone invents a "box set" tag. For me, it would not bother me particularly if Bruckners 8th appeared as two discs as I can quickly add both discs to the queue, but I can imagine for others it would be infuriating and would be seen as "a bug"
(2019-08-04, 17:14)dm21912 Wrote: [ -> ]For me, it would not bother me particularly if Bruckners 8th appeared as two discs as I can quickly add both discs to the queue, but I can imagine for others it would be infuriating and would be seen as "a bug" 
Yeap. So far Kodi treats multiple disks as if it was just consequence a physical media limitations and can can be ignored, and historically that was often the case. Suddenly having all those physical media spits having a meaning extra clicks on music choice would not be good. Having such partitioning as optional across all items is a little better but still less than desiable e.g. I have a few boxed sets that I would l like to see split by disc but a lot of other physical splits I don't want to see, what option do I set?

With boxed sets particularly the media split has significance musically. Perhaps we could use the DISCSUBTITLE (TSST) tag to indicate patitioning is required (i.e. is musically relevant). Music split over multiple discs is unlikely to have a subtitle for each (I assume, but am I right??), but if it does matter musically then surely there a relevent subtitle.

Requiring users to simply avoid tagging music with the physical disc number, just extending the tracks, if they don't want to see the music split by that disc is another option, but too user hostile. All that media tagged long ago remains an issue.

User feeback welcome - does your music have DISCSUBTITLES?
 
Great news @black_eagle Smile If you want to discuss ideas or ask for pointers then start a separate thread and I will try to mentor you best I can. There is always a risk with any time spent on Kodi development that the results will be rejected (actively blocked for some arbitary reason or simply languish unapproved or reviewed), this is true for everything I do even as a team member let alone anyone else. But it is worth the risk (or I am mad to try), just keep a light heart and an open mind.
(2019-08-04, 19:25)DaveBlake Wrote: [ -> ]does your music have DISCSUBTITLES?
Any box set tagged via Picard and MusicBrainz will have the disc subtitles available.
https://musicbrainz.org/release/e2d8bb4d...8f1495d6ae

For albums like Pink Floyd's "The Wall", maybe think about filtering out "disc 1" and "disc 2" would keep multi-disc albums as one while still keeping the extras separate.
I also tend to agree that if MB release editors leave the medium name null that can be an indication that grouping tracks by medium is not required.

scott s.
.
(2019-08-05, 00:15)scott967 Wrote: [ -> ]if MB release editors leave the medium name null
That is unlikely to happen.  The medium in these reissues boxsets is important as it is quite common to find not just CDs, but DVD, BluRay and even 7" Vinyl in the boxes.
It seems in Musicbrainz that while a medium can have many formats (CD, Vinyl, DVD etc.), the (DISCSUBTITLE) medium name should only be something when it is meaningful. Their "How To Add a Release" documentation says:

If there is more than one disc in the release, you will also be able to set a disc title for each one. This is for cases where each disc has its own title; don't enter "Disc 1" or "CD 1" as titles.

But of course that does not mean contributors have not put "Disc 1" in there somtimes.
Continuing with this line of thinking for how to differentiate between multiple disks for physical reasons and musically relevant ones, one approach would be to make things optional
  • No album into disc splitting
  • Split album when DISCSUBTITLE is not null
  • Split when DISCSUBTITLE  is not in user configureable list ["disc N", "Disk"] <- regexp??
  • Split all multi-media albums
or does that all get too complicated?

So far we have only discussed adding a disc level below albums, eg artist>album>songs becomes artist>album>disc>songs, but for true boxed sets (where multiple albums have been bundelled together into a single release) perhaps what is needed is a super set above albums. This is harder because it disrupts the current Kodi album = musicbrainz release 1:1 relationship. On the otherhand it makes it possible to show the parts of a set unclustered along with other albums, as well as looking at sets much as boxed sets works in video library. It also matches how many users get around the problem by tagging each discs from a set as if they were an album. I need to consider this some more.

Either way identifying the items you want to split/cluster from the tagging (or NFO file?)  is key.
(2019-08-04, 19:25)DaveBlake Wrote: [ -> ]
(2019-08-04, 17:14)dm21912 Wrote: [ -> ]For me, it would not bother me particularly if Bruckners 8th appeared as two discs as I can quickly add both discs to the queue, but I can imagine for others it would be infuriating and would be seen as "a bug" 
With boxed sets particularly the media split has significance musically. Perhaps we could use the DISCSUBTITLE (TSST) tag to indicate patitioning is required (i.e. is musically relevant). Music split over multiple discs is unlikely to have a subtitle for each (I assume, but am I right??), but if it does matter musically then surely there a relevent subtitle.  

I dont think any of my stuff has discsubtitle, and just gone through with Picard and most of the multidisc sets ive tested on dont have titles on musicbrainz either.

That said, that a solution that has no impact on people not using the tag and should avoid the 2cd issue, but gives the option to those with box sets to split them if they wish to do so




with something like this https://musicbrainz.org/release/effd141c...cd489b7bbf

the Neutral milk hotel box set of all albums and singles would split nicely

Neutral Milk Hotel
>Box Set
>>On Avery Island
>>Ferris Wheel on Fire
>>In the aeroplane over the sea
>>Everything is
>>Little Birds

presuming discsubtitle used

but something like https://musicbrainz.org/release/e28cb115...44ee8f7854 would not split, remaining as a 3 cd album



the other issue would be albums like https://musicbrainz.org/release/f88e9de3...f7f0ed2722

which is in musicbrainz as 

Bob Dylan
>Bootleg Series Vol 10 another self portrait
>>
>>
>>Isle of Wight Live 1969
>>Self Portrait (Remastered)

discs one and two have no title because they are the outtakes, disc 3 and 4 are a live disc and hte original album remastered. so people would still need to use creative tagging to some degree.


im spending the day running every box set i own through picard
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24