Smart playlist question

So here’s my issue. I decided to clean up my music and take the “feat. [artist]” out of the song titles and just have it in the artist tag. Now, before I would create a smart playlist with a rule of “title contains” and add feat. [artist name]. This would create a playlist of songs featuring an artist, but none of that artists actual songs. It worked great, but when I had MB remove the "feat. [artist name]’ from the song title it broke the playlist. So I edited it with the rule “artist contains” “feat. [artist name]” it now comes up blank. I tried this with 2 totally different albums with no luck. I double checked the ID3 and both had the artist name I was using. Here’s an example

09-Like Home.mp3 - (file name)
Like Home - title in ID3
Eminem feat. Alicia Keys - artist field in ID3 tag

the smart playlist has a single rule “artist contains Feat. Alicia Keys”
before I change the song title I had a rule “title contains feat. Alicia Keys” and 2 songs came up in the playlist, now neither do. I’m trying to wrap my head around why. Maybe someone can fill me in here? Or if anyone has a better method I’m all ears. I’ve been messing with this all day with zero luck, so for now I guess I’ll just revert back to the song title having the ‘feat. [artist]’ in it.

And is there any way to have ‘feat [artist name]’ in both the title and artist fields? I mean a way to have MB autopopulate both. I know the plugin I had to download to get the featured artists to the title moves it from the artists name to title and track name.

You haven’t named your player, and the answer will be relevant to it.

Why are you searching for the “feat”? Have you tried a rule to just look for “Alicia Keys”?

If your player is properly up to date it should read the tags that tells it there are two artist on that track and treat them as individuals.

IvanDobsky, tried making the same playlist in Kodi & Mediamonkey. Since I’m getting the same non results in both, I at least eliminated the program as probably being the root cause. I don’t have anything else installed for music.

I’m searching for “feat” because that’s how MB is tagging my files by default. And, if I set the smart playlist to just look for artist Alicia Keys I’ll get all her songs in the playlist. With what I’m trying to do, I’ll end up with only songs she’s a guest artist on. I honestly don’t know the best way to achieve this, but I can’t even figure out another method to try. I just ran the MB plugin that moves the featured artist from the artist field to the track title on both of the albums. And I changed the smart playlist back to “title contains feat alicia keys” and both songs are now back in the playlist.

Maybe I just need to leave things as they were with feat [artist] in the track title and keep the smart playlist looking in the song title and not artist tag.

Depending on how “smart” Kodi and Mediamonkey are, maybe you can make a query that says something like has >= 2 artists AND artist contains "Alicia Keys"? This would of course also include “AK feat. BL” and “JK & AK” and other instances where she’s not necessarily the guest/feat. artist, but maybe could bring you closer to what you want? If your player is smart enough, it could maybe also allow for something like “artist includes AK but not in the first position”.

Just a side-note: but “MB”/MusicBrainz is a website and database for music (meta)data, MusicBrainz Picard is a music/audio file tagger. Picard relies on MB, but MB is independent from Picard. :slight_smile:

2 Likes

I can partially answer for the KODI side of things. From v18 onwards it will use the ArtistIDs that are embedded in the files. If you look at Picard closer you’ll notice there is much more than just a “title” and “artist” in the tags. There is a list of each separate artist included. It is these tags that KODI is reading.

Remember that KODI reads the tags ONCE when you add the music to the library. So if you are messing around and changing tags, then MOVE the album out of KODI’s sight, away from the source folder, do a Clean Library, then move the album back in and rescan the library. This will then force it to fully rescan and re-read all the tags.

KODI stores the artist MBIDs directly into a database. And the Smartplaylists work from there. When you asks for “artists” then it will handle them as separate entities.

It is noticeable that nothing in the tags tell you which artist is the lead. Yes KODI can do as @freso suggests and count the artists, but it is only looking at the artists as numbers. It never sees that “feat.” bit now.

Here is a suggestion. As the “albumartist” should be set to the main performer then maybe we can find a way to go
if artist = “Alicia Keys” and NOT albumartist=“Alicia Keys”

I need to go read up on Smartplaylists as I don’t have the syntax correct there, it is based on @freso’s text.

1 Like

Reference material

https://kodi.wiki/view/Smart_playlists#Format_of_a_smart_playlist_file


<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="songs">
    <name>Songs featuring Alicia Keys</name>
    <match>all</match>
    <rule field="albumartist" operator="isnot">
        <value>"Alicia Keys"</value>
    </rule>
    <rule field="artist" operator="is">
        <value>"Alicia Keys"</value>
    </rule>
    <limit>50</limit>
    <order direction="descending">playcount</order>
</smartplaylist>

I have no idea if that works, I am just guessing from the spec…

The main reason your script fails is due to “feat.” not being stored anywhere. Look at the fields available to see what KODI lifts from the tags and stores in SQL.
https://kodi.wiki/view/Smart_playlists#Fields

1 Like

Freso, Kodi doesn’t directly support that advanced playlist stuff, MediaMonkey does, and the XML code IvanDobsky posted reminded me of how I use to make playlists with a text editor in DOS. But that was in the mid 90s. I’m old and forgetful now. And years of the user friendliness of Windows programs has made me dumb lol.

IvanDobsky, adding “artist” is and “album artist” is not worked. I have been reading up on playlists but my Googling has been shaky lately. I was under the impression that since in the ID3 “Eminem feat. Alicia Keys” is the artist tag. That feat. alicia keys would work as a artist contains rule. It worked for titles, so I just assumed. But obviously the syntax is different for artist. THANK YOU for the help, I would have probably, maybe figured it out on my own. But it would have taken me days. And by days I mean hours a day every day for probably 2 weeks. lol

It depends on what your settings in Picard are. Do you do v2.3 or v2.4 tags?

Same with KODI - are you running v17 or v18? And just cos I typed the text out from the web page doesn’t mean that is the only way. There is a GUI for that (as shown on the KODI FAQ page)

Back to your TAGs in the music files. Are the v2.3 or v2.4? (Picard \ Options \ Tags \ ID3v2 Version)

The tags changed with v2.4 as the ability to add multiple artists to the music files was a new trick. With v2.3 tags multiple artists were stored in a messy field with dividers added.

KODI also has gone through a huge change between v17 and v18. The old v17 read in those messy artist tags and tried to break them up into the artists to add to the database by name. Whereas v18 has had a dramatic re-write with much better usage of MB tags. It now look for MB Release IDs to get the album right, and it also looks for the artist MBIDs as stored in the tags.

Though I think you are probably more right with the “If it ain’t broke, don’t fix it” rule. :smiley: If your tracks have the featured artists in as part of the track name, and that worked for you, I’d stick with that. Especially as there is a plugin for Picard that would maintain that for you (see OPTIONS \ PLUGINS \ Feat. Artist in Titles)

Sometimes just because there is a new and fancy way to do something, doesn’t mean it is better for one’s own needs :smiley: