Kodi Community Forum

Full Version: Compilation Album Nightmare Before Christmas! -- Please Help?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I'm new to XBMC, and would like to start by thanking everyone who contributed to XBMC's development for creating such a wonderful piece of software. I absolutely love my new XBMC-running HTPC.

That said, while scanning in my video library was a breeze—I had it originally organized in the same structure that XBMC was designed to look for, and most of my titles weren't too obscure—my music library is frankly a horse of a different color. Basically, it's a mess.

I decided I would start by organizing and scanning in my Christmas music, since the holidays are coming up, and those are the songs I'll most likely be sharing soonest. Every year, when it comes time to trim the tree and make a mess decorating, I dust off my Christmas tunes and play them for the family whilst we deck our halls. I've collected a nice chunk of rock and metal carols along with some clever Christmas parodies over the years, and if I don't bring out my music, I get regaled by the traditional snooze-fest my mother brings out instead—hence why I've taken over. In the past, I've simply dumped the whole mess on my old little iRiver PMP-120, hooked it up to some speakers and hit “play all.” This year, however, I was hoping to put my new HTPC to good use instead, thinking it'd be neat to have some nice visualizations and artist/album/song info displays to go along with the festivities.

Unfortunately, while I had very little trouble scanning in my Twisted Christmas (Twisted Sister), and Ho! Ho! Hoey! (Gary Hoey) Collections—nice, complete, stand-alone albums—I've run into a snag with most everything else.

The problem is that most of my Christmas collection consists of compilation disks of various—apparently obscure—artitsts. Most of these albums won't scan in, and while I've been able to successfully dig up album details manually for custom .nfo files to accompany them, XBMC is fighting me on it.

To save space, as my music/video collection as a whole is particularly large, I wanted to avoid having duplicated files in my library. To accomplish this, I decided to organize my file structure in folders by artist/album/song.file. I figured each song would have exactly one primary artist, and one album it was originally released on—thus, each file would exist in only one place. I also have a few (legal) torrents in my collection, and had hoped that I could scan them into XBMC without breaking them, so I could continue seeding them.

I've had to give up on the latter, as tagging them via .nfo files was unsuccessful. While XBMC would populate unpopulated tags with info supplied by the .nfo files, anything that was tagged directly on the music files themselves—ie: artist, album, track, year, genre, etc.—trumped whatever was in the .nfo file. No matter how many times or ways I cleaned, imported, or flat out deleted the entire music database (mymusic*.db), I couldn't change those fields without manual database edits—which would be lost should the data ever need to be rescanned or updated. I finally caved and broke my torrents. One supplied an inaccurate year tag on all the files, and I was loath to have bad data in my database. As for the others, I couldn't add “Christmas” to the list of supplied genres, and needed to have a way to filter these songs out during the rest of the year, lest I wind up having Christmas in July. While this is a minor issue in my Christmas collection—I can live with breaking a couple Christmas torrents—I'm worried that I may run into similar issues when it comes time to add in my main music collection. I really don't want to have to break *all* my torrents.

My second problem cropped up with the compilation albums. Since I was storing my music by artist/album/song.file, I had the compilation albums broken up over several artist folders, each artist folder containing a folder for said compilation, each containing whatever song(s) they'd contributed to it. I had hoped that XBMC would be able to scan each song in and recognize that it was part of the same album, but thus far, this attempt has failed miserably. I can't scrape info on much of these, as XBMC scrapers can't find them, and I'm not sure where I'm supposed to put the .nfo file to get this to work—if it'll even work at all. I had assumed that XBMC, being a media library, would be able to organize my music by tags, regardless of it's file structure, as breaking free of file structure is one of the major points of having a program based library. If so, I must be doing something wrong because no matter what I do, the library refuses to assign the compilations to “Various Artists,” and instead, lists each album separately for each track as CompilationAlbum/TrackArtist times however many tracks are in the album. I've got one that lists the same album 20 different times, as it has 20 different tracks, each with their own artist.

I've tried having duplicate, identical .nfo files in each artist/compilationAlbum folder.

I've tried having a main .nfo file in the artist/compilationAlbum folder containing the first track, with no .nfo files in the remaining tracks' folders.

I've tried having a main .nfo file in the artist/compilationAlbum folder containing the first track, with blank .nfo files in the remaining tracks' folders.

I've tried having a main .nfo file in the artist/compilationAlbum folder containing the first track, with .nfo files in the remaining tracks' folders that point to the main .nfo file.

I've even tried having no .nfo files to see if it was the .nfo file causing the problem.

I'm so frustrated with this that I've considered caving and setting up a separate compilation folder to store these together, as it does work as long as they're all in the same folder. There are two reasons I'd like to avoid this approach, however.

The first is that many of these albums contain tracks from other albums that have been added to the compilation. I don't want to have two (or more) copies of the same song, as this takes up space that could be used for other songs—or movies/tv shows, given enough duplicates.

The second—and main reason—is that, when I inevitably add my main music collection, I'll want to be copying music to my phone to play on the go. (AT&T raped my unlimited data plan, so I can't stream Pandora anymore. :\ ) Since I tend to grab similar sounding artists together, it would be easy for me to simply grab Artists A, B and C from my file structure and toss them on the phone. I don't, however, want to go digging through a messy compilation folder, wondering where all of ArtistX's songs are. Unless XBMC has a built in “Send to mobile device” function that I've overlooked, allowing me to send songs to my phone directly through XBMC without having to look through an abyss of folders, this would be a nightmare given the sheer size of it—and I probably wouldn't listen to half my music if forced to store it this way.

Lastly, I'm stumped on two minor, albeit annoying issues.

The first is that I can't seem to figure out how to link songs to multiple albums. I have all my songs tagged to the album they were originally released on, but if I want to bring up a later album that also has said song on it, said song doesn't show up, as it's linked to the original album.

The second, is the smart playlist feature.

Thus far, I've tagged all my Christmas music's genres as “Christmas, Holiday, <insert various genres here>”. I've set up a playlist that plays everything except anything tagged with the “Holiday” genre. This works great for shuffling my full music collection sans holiday stuff that I wouldn't want popping up in, say, July.

I also created a playlist to play all music tagged with “Christmas.” This allows me to play all my Christmas music while allowing for other holidays, such as “Halloween” to be added to the library. (I wouldn't want to play Monster Mash, for example during Christmas, but it'd be great to have a playlist with it for Halloween parties.) This works just fine too.

However, My Christmas music is further tagged with either “Parody,” “Rock,” “Metal,” or a combination thereof, depending on the song. There are also a few songs that aren't any of those three that somehow managed to weasel their way into my collection. This is where I ran into a snag.

I wanted to make two more playlists: one for parodies and one for rock/metal, depending on who I was going to be playing songs for. Obviously, I wouldn't want to play some of my parodies for my more conservative relatives, as there are a few songs in there that would probably get me disowned. Nor would I want non-rock/metal in my rock/metal playlist.

Unfortunately, while setting up the parody playlist posed no problem—just play anything with “Parody” in it—the rock/metal playlist threw me for a loop. It seems XBMC only lets me set the playlist to either match all rules, or only one rule. Some of my Christmas music is labeled “Rock,” and some is labeled “Metal,” depending on the song. I need a playlist that will play songs that are [Christmas AND (Rock OR Metal)], but I can't find a way to do this, as the playlist will either match all rules, ruling out everything, as nothing is labeled “Christmas AND Rock AND Metal,” or it will match only one rule, playing everything that is either Christmas OR Rock OR Metal. The latter behavior works as long as I don't scan in the rest of my music, but will inevitably pull non-Christmas songs, as the majority of my main collection consists of rock and metal.
(Continued Due to Character Limits... >__<)

The only solution I've come up with, thus far, is to blindly label everything that isn't strictly a parody—some of my rock/metal songs are parodies too, but not anything that would get me into trouble—or non-rock/metal as Rock, and setting the playlist up to only play Christmas AND Rock. This works, but requires me to add “Rock” to all my metal songs which seems a bit redundant. Is there a way to get XBMC's smart playlists to follow a [This AND (This OR That)] format, or is blanket tagging my only option here?

I've been Googling and scouring forums on these issues for the past two weeks and I'm at my wit's end. I don't normally come running for help, as I prefer to figure things out on my own—the better I understand the problem, the less likely it is to repeat itself after I fix it, and if it does, the better prepared I am to deal with it quickly—but it's gotten to the point that no matter what I type into Google, I get the same search results I've already exhausted. I know I've just posted a massive wall of text, and I commend anyone who is still here reading it. I would really appreciate any help or insights anyone can offer on the above issues, as I've basically hit a brick wall.

So, to pull my questions out of the wall of background explanation I've vented above:

1. How can I get XBMC to recognize compilation albums broken up over various locations? Is this possible?

2. How can I override tags embedded within music files without editing the files themselves? Can I organize my (legal) torrents without breaking them?

3. How can I link a song to more than one album?

4. Is there a way to get XBMC's smart playlists to follow a [This AND (This OR That)] rule format?

Again, any help with this would be greatly appreciated, as I think I'm starting to lose brain cells from the number of times I've bashed my head against my keyboard over this. >___<

Currently Running:
XBMC 11 (Eden) for Windows
Windows XP Pro sp3
1. You can, but only if the compilation tag is set in all tags.
2. You can't. Tags are king. If your torrents are badly tagged, then fix them so that thousands/millions of others don't have to do the same thing.
3. You can't, due to 2.
4. Yes. Either multiple playlists (Eden) or, if it's OR on a single field, Frodo supports field1 in (foo,bar) AND field2 in (foo,bar).

Cheers,
Jonathan
Thank you for clearing that up for me. I've got the multiple playlists setup while I happily await Frodo's stable release, so that's one thing out of the way.

As for the compilation albums, I got those working too, just not quite the way I'd originally envisioned. It turns out, since I was editing my tags directly from explorer, I couldn't access the Album Artist tag—in fact I wasn't even aware of it at all. I'd been trying to add it via the .nfo file the whole time (silly me). With your confirmation that I wouldn't be able to override embedded tag info via the .nfo file, I set about manually editing tag info one song at a time. Eventually, I got frustrated enough to go hunt down a decent tag editor, and—low and behold—the Album Artist tag showed up! I set that to “Various Artists” on all songs and everything popped up as it should.

I'm a bit disappointed that I won't be able to link songs to multiple albums, but I suppose I can live with it.

As for the torrents, I've decided to preserve them in a separate location for seeding, at least until I can contact the original authors to get them fixed. Since they're not my torrents, I can't “fix” them and still distribute them; any edits made to any of the files or file structure will break the torrents altogether. Since these are tiny, very obscure, indie bands, and the torrents have very few seeds to begin with, I don't want to stop seeding, as even with bad tags, at least the music's getting out there. I'll just have to live with some duplicated files in the meantime.

Just out of curiosity, though, seeing as I've recently picked up Python, would it be possible for any of the functionality I was looking for to be implemented as an add-on, or is there something hard-coded into XBMC that would prevent me from doing that? Would it be possible to write some sort of “.nfo override” plugin to do this, or would I just end up bashing my head against a wall some more?
No, no such plugin can be written.
Oh well. I guess I'll mark this thread solved then, since this will have to be my final setup in that case.

Thanks for your help. Happy holidays, and code long and prosper! :3
I use mp3tag - you can bulk update tags. Very useful.
Lol...yup...That's the same one I picked up... :3
I have the same problem - and I've tried the suggestions. I'm using EasyTag on Ubuntu and the Album tag is the same across all tracks, as is the Album Artist. I've numbered the tracks for good measure and as far as EasyTag reports, my tags are good!

I've done a 'clean library' from the Settings section as well as 'Update Library' from within the library. No change. Have I missed something? XBMC 11.0 Stable on Ubuntu 12.04.
I'm out of town at the moment and posting from my cell phone, so I don't have my install in front of me to describe anything in detail. I'm also using XBMC for Windows, so I don't know if any of this applies to the Linux version or not, but I've noticed XBMC tends to be finicky when I try to clean the library. I've noticed that if I don't hide the file from XBMC and then navigate to the missing file in file mode first, XBMC doesn't always recognize the changes.

In the Windows version, there's a setting to have XBMC ignore hidden files and folders. I rename the folder or file I want to clear out to <File or Folder Name>.bak and then set the file or folder to hidden in Windows. Once I break the file path, I navigate to the now missing file or folder from within XBMC to force it to acknowledge the change before going into the settings menu and cleaning the library. Then, in Library mode, I check to make sure the item is truly gone, just to be sure I'm getting a clean re-import. Then I just unhide and drop the .bak before re-importing.

As I said, I'm away from my install, and don't know if this is a problem in the Linux version, or not. My best guess is that maybe XBMC isn't overwriting the old data, since I've had it do that to me, but without more information I can't say for sure. Let me know if anything I suggested helps, or if I'm totally off.