Magic Nodes 4.2 w/ 380 masks & real GUI (2011-07-01)[MM2+]

Download and get help for different MediaMonkey for Windows 4 Addons.

Moderators: Peke, Gurus

rrfpacker
Posts: 1076
Joined: Sat Jul 12, 2008 5:47 pm

Magic Node for Artists with More Than Eight Albums

Post by rrfpacker »

I have a couple questions about getting a node for Artists with More Than Eight Albums (Magic Nodes is wonderful but complicated for me).

1. I copied the node Artists with more than one Album below. Seems to me I would just change the 1 in this part "GROUP BY ArtistsSongs.IDArtist HAVING Count(DISTINCT Songs.IDAlbum) > 1" to an 8. Doing this does get me artists with more than one album, but I also get Artists with only 4 or some other number less than 8.

2. How would I get this node to disregard albums where the album artist is Various Artists...I really only want artists who have released more than 8.

<Group|Name:Artists...|Show tracks:No>\Artists with more than one Album|Icon:Top level|Filter:AArtistsSongs.IDArtist IN (SELECT ArtistsSongs.IDArtist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Songs.IDAlbum > 0 GROUP BY ArtistsSongs.IDArtist HAVING Count(DISTINCT Songs.IDAlbum) > 1)\<Artist|Statistic:Count(Album)|Show rank:Yes|Unknown:No>\<Album|Statistic:Count(Tracks)|Unknown:No>

Thank you.
Last edited by Lowlander on Thu Dec 02, 2010 12:42 am, edited 1 time in total.
Reason: Merged per forum rules: http://mediamonkey.com/forum/viewtopic.php?f=2&t=40381
ZvezdanD
Posts: 3270
Joined: Thu Jun 08, 2006 7:40 pm

Re: Magic Node for Artists with More Than Eight Albums

Post by ZvezdanD »

rrfpacker wrote:1. I copied the node Artists with more than one Album below. Seems to me I would just change the 1 in this part "GROUP BY ArtistsSongs.IDArtist HAVING Count(DISTINCT Songs.IDAlbum) > 1" to an 8. Doing this does get me artists with more than one album, but I also get Artists with only 4 or some other number less than 8.
You are doing right, but this node has displayed artists with albums with the different name, and I suppose that you have some albums with the same name but with the different Album Artists. For example: Album 1 = "Greatest Hits", Album Artist 1= "Various Artists" and Album 2 = Album 1 = "Greatest Hits", Album Artist 2 = "Various" - since both albums have same name they are displayed as one album node, but in fact they are represented in database as two albums. If you want to get correct display of album nodes, you should use Album with Album Artist field instead of Album:

Code: Select all

<Group|Name:Artists...|Show tracks:No>\Artists with more than 8 Albums|Icon:Top level|Filter:AArtistsSongs.IDArtist IN (SELECT ArtistsSongs.IDArtist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Songs.IDAlbum > 0 GROUP BY ArtistsSongs.IDArtist HAVING Count(DISTINCT Songs.IDAlbum) > 11)\<Artist|Statistic:Count(Album with album artist)|Show rank:Yes|Unknown:No|Sort by:Count(Album with album artist)|Sort order:Desc|Show sort key:0>\<Album with album artist|Statistic:Count(Tracks)|Unknown:No>
rrfpacker wrote:2. How would I get this node to disregard albums where the album artist is Various Artists...I really only want artists who have released more than 8.
Maybe:

Code: Select all

<Group|Name:Artists...|Show tracks:No>\Artists with more than one Album (without compilations)|Icon:Top level|Filter:AArtistsSongs.IDArtist IN (SELECT ArtistsSongs.IDArtist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Songs.IDAlbum > 0 AND Songs.AlbumArtist <> 'Various Artists' GROUP BY ArtistsSongs.IDArtist HAVING Count(DISTINCT Songs.IDAlbum) > 1) AND Songs.AlbumArtist <> 'Various Artists'\<Artist|Statistic:Count(Album with album artist)|Show rank:Yes|Unknown:No>\<Album with album artist|Statistic:Count(Tracks)|Unknown:No>
You could also try this mask:

Code: Select all

<Group|Name:Artists...|Show tracks:No>\Artists with more than one Album, each one with more than 4 tracks|Icon:Top level|Filter:Songs.ID = AArtistsSongs.IDSong AND (AArtistsSongs.PersonType = 1 OR AArtistsSongs.PersonType IS NULL) AND AArtistsSongs.IDArtist || '@' || Songs.IDAlbum IN (SELECT ArtistsSongs.IDArtist || '@' || IDAlbum FROM Songs, ArtistsSongs, (SELECT IDArtist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Songs.IDAlbum > 0 GROUP BY ArtistsSongs.IDArtist HAVING Count(DISTINCT Songs.IDAlbum) > 1) AS T1 WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND T1.IDArtist = ArtistsSongs.IDArtist AND Songs.IDAlbum > 0 GROUP BY IDAlbum, ArtistsSongs.IDArtist HAVING Count(*) > 4)\<Artist|Statistic:Count(Album), Count(Tracks)|Show rank:Yes>\<Album|Statistic:Count(Tracks)|Unknown:No>
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
rrfpacker
Posts: 1076
Joined: Sat Jul 12, 2008 5:47 pm

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by rrfpacker »

Sorry for late reply, internet down. Thank you for your response and the masks to try. Your second one is the one I was looking for. Thank you so much.
Rociwi

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by Rociwi »

I have a question... I'm new to magic nodes and I would like to know how can i make an artist subnode to display ALL the tracks from that artist, not only the ones belonging to the parent node...
For example:
I have a genre node - then I click on the unknow genre, and it has a subnode with all the artist that have an unknown genre track, but then i click on the artist and it only shows the tracks with the unknown genre, i would like it to display ALL the tracks from the artist so I can see which genres I have tagged that artist with and update the song
Any help will be appreciated, thanks! :)
ZvezdanD
Posts: 3270
Joined: Thu Jun 08, 2006 7:40 pm

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by ZvezdanD »

Rociwi wrote:I would like to know how can i make an artist subnode to display ALL the tracks from that artist, not only the ones belonging to the parent node...
Sorry, but it is not possible. Even the built-in Genre node has not such behavior and implementing something like that would not be desirable at all. If you want to display all tracks from some artist, you should put the Artist node on the first (topmost) level, not as a sub-node of Genre. For example, instead of Test1\<Genre>\<Artist> it should be Test2\<Artist>.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
AvgJoe50
Posts: 4
Joined: Thu Oct 28, 2010 6:16 am

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by AvgJoe50 »

I am looking for a way to have a node generate a listing of 3 Random COMPLETE ALBUMS from each ARTIST from each GENRE. Thanks for your help.
ZvezdanD
Posts: 3270
Joined: Thu Jun 08, 2006 7:40 pm

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by ZvezdanD »

AvgJoe50 wrote:I am looking for a way to have a node generate a listing of 3 Random COMPLETE ALBUMS from each ARTIST from each GENRE.
I don't understand, isn't each artist from each genre same as each artist from library? Maybe you could try this:

Code: Select all

<Group|Name:Random|Show tracks:No>\3 Random complete Albums from each Artist|Icon:0|Filter:Songs.IDAlbum || '@#$' || Songs.Artist IN (SELECT ID || '@#$' || A1.Artist FROM Albums, (SELECT DISTINCT Artist FROM Albums) AS A1 WHERE Albums.ID IN (SELECT ID FROM Albums WHERE Albums.Artist = A1.Artist AND ID IN (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Count(TrackNumber) = Max(Cast(TrackNumber As integer)) AND Count(TrackNumber) > 3) ORDER BY Random() LIMIT 3))
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
AvgJoe50
Posts: 4
Joined: Thu Oct 28, 2010 6:16 am

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by AvgJoe50 »

ZvezdanD wrote:
AvgJoe50 wrote:I am looking for a way to have a node generate a listing of 3 Random COMPLETE ALBUMS from each ARTIST from each GENRE.
I don't understand, isn't each artist from each genre same as each artist from library? Maybe you could try this:

Code: Select all

<Group|Name:Random|Show tracks:No>\3 Random complete Albums from each Artist|Icon:0|Filter:Songs.IDAlbum || '@#$' || Songs.Artist IN (SELECT ID || '@#$' || A1.Artist FROM Albums, (SELECT DISTINCT Artist FROM Albums) AS A1 WHERE Albums.ID IN (SELECT ID FROM Albums WHERE Albums.Artist = A1.Artist AND ID IN (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Count(TrackNumber) = Max(Cast(TrackNumber As integer)) AND Count(TrackNumber) > 3) ORDER BY Random() LIMIT 3))
Thanks, but that' not quite what I'm looking for. What your code does is give me 3 Random Albums from each Artist in my entire library, not dependent upon Genre.

I have a huge library on my computer with over 1,000 artists, and about 30 Genres total. Some of my Artist have a different Genre assigned to them, dependent upon which Album it is. I am looking for a way to generate randomly created Playlists of all my artists that belong to each Genre.

I'd be most happy if I could generate a Playlist of a particular Genre that has 3 randomly selected Artists, of each of the artists belonging to that Genre.
If I use your existing code, as is, it does give me 3 random albums for each Artist, but not all 3 albums will necessarily be of the same Genre.

I hope this helps clarify what I am looking for.
ZvezdanD
Posts: 3270
Joined: Thu Jun 08, 2006 7:40 pm

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by ZvezdanD »

AvgJoe50 wrote:I'd be most happy if I could generate a Playlist of a particular Genre that has 3 randomly selected Artists, of each of the artists belonging to that Genre.
I still don't understand what you want exactly, since this is totally different from your initial request. You could try with these two masks:

Code: Select all

<Group|Name:Random|Show tracks:No>\3 Random Artists from each Genre|Icon:0|Filter:Songs.ID = GenresSongs.IDSong AND Songs.ID = AArtistsSongs.IDSong AND (AArtistsSongs.PersonType = 1 OR AArtistsSongs.PersonType IS NULL) AND GenresSongs.IDGenre || '|' || AArtistsSongs.IDArtist IN (SELECT IDGenre || '|' || IDArtist FROM ArtistsSongs, (SELECT DISTINCT GenresSongs.IDGenre AS IDGenre FROM GenresSongs) AS G1 WHERE IDArtist IN (SELECT IDArtist FROM ArtistsSongs, GenresSongs WHERE ArtistsSongs.IDSong = GenresSongs.IDSong AND (PersonType = 1 OR PersonType IS NULL) AND GenresSongs.IDGenre = G1.IDGenre GROUP BY IDArtist ORDER BY Random() LIMIT 3))

Code: Select all

<Group|Name:Random|Show tracks:No>\3 Random complete Albums from each Album Artist from each Genre|Icon:0|Filter:Songs.IDAlbum IN (SELECT IDAlbum FROM ArtistsAlbums, (SELECT IDGenre, IDArtist FROM Songs, GenresSongs, ArtistsAlbums WHERE Songs.IDAlbum = ArtistsAlbums.IDAlbum AND Songs.ID = GenresSongs.IDSong GROUP BY IDGenre, IDArtist) AS A1 WHERE IDAlbum IN (SELECT ArtistsAlbums.IDAlbum FROM Songs, GenresSongs, ArtistsAlbums WHERE Songs.IDAlbum = ArtistsAlbums.IDAlbum AND Songs.ID = GenresSongs.IDSong AND ArtistsAlbums.IDArtist = A1.IDArtist AND GenresSongs.IDGenre = A1.IDGenre AND ArtistsAlbums.IDAlbum IN (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Count(TrackNumber) = Max(Cast(TrackNumber As integer)) AND Count(TrackNumber) > 3) GROUP BY ArtistsAlbums.IDAlbum ORDER BY Random() LIMIT 3))
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
AvgJoe50
Posts: 4
Joined: Thu Oct 28, 2010 6:16 am

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by AvgJoe50 »

I'm sorry that I didn't make myself clearer on my initial post but your second mask does exactly what I was looking for. I'm new at Mediamonkey and Magic Nodes, but I love the people in the community willing to help people like myself. There doesn't seem to be much that can't be accomplished in MM. I'm sorry that I ever wasted so much of my time ever using iTunes. Thanks for your time.
loubob73
Posts: 24
Joined: Wed Feb 28, 2007 1:18 am
Location: Phoenix, AZ.

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by loubob73 »

Is there any way that I can use MagicNodes to create a node containing all of my 4 or 5 star rated songs, but limit the number of songs by any single artist to, say, 5 songs? I wanna create a "playlist" with all of my favorite tracks, but not have too many by any given artist.
ZvezdanD
Posts: 3270
Joined: Thu Jun 08, 2006 7:40 pm

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by ZvezdanD »

loubob73 wrote:Is there any way that I can use MagicNodes to create a node containing all of my 4 or 5 star rated songs, but limit the number of songs by any single artist to, say, 5 songs? I wanna create a "playlist" with all of my favorite tracks, but not have too many by any given artist.
Something like this:

Code: Select all

<Group|Name:Random|Show tracks:No>\5 Random Tracks rated 4 stars or more from each Artist|Icon:0|Filter:Songs.ID IN (SELECT Songs.ID FROM Songs, (SELECT DISTINCT ArtistsSongs.IDArtist AS IDArtist FROM ArtistsSongs WHERE (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL)) AS T1 WHERE Songs.ID IN (SELECT Songs.ID FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND ArtistsSongs.IDArtist = T1.IDArtist AND Rating >= 80 ORDER BY Random() LIMIT 5))
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
loubob73
Posts: 24
Joined: Wed Feb 28, 2007 1:18 am
Location: Phoenix, AZ.

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by loubob73 »

Wow. Thanks for your quick response. That pretty much does it. Now I just need to try to understand what makes it work, so I can tweak it. :)
tooone7
Posts: 39
Joined: Tue Jan 04, 2011 7:17 am

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by tooone7 »

Hi there, I am looking for a way to display duplicates. But I want MagicNodes to look at my custom1 (PUID) field for each song and then display where they match.

I have no idea how to do that. I'm sure it's easy to do but the way MagicNodes work is a bit complicated to me.

And i want it to NOT show files where the is a ( or [ in the Title field.

So basically if i have these 3 songs...

Title | PUID
----------------------------------------------
Pirates | 12345
Pirate with hat | 12345
Pirates (No Vox) | 12345

I want it to display 'Pirates' and 'Pirate with hat' but NOT 'Pirates (No Vox)'.

I want this because i have music that is acoustic versions and they sometimes have the same PUID. So i want to keep them.

Is this possible?

Thanks for a great script :)
ZvezdanD
Posts: 3270
Joined: Thu Jun 08, 2006 7:40 pm

Re: Magic Nodes 4.0 w/ 320 masks & real GUI (2010-06-24) [MM

Post by ZvezdanD »

tooone7 wrote:I want MagicNodes to look at my custom1 (PUID) field for each song and then display where they match.
Your description is not precise. What if you have just two songs: 'Pirates' and 'Pirates (No Vox)', should 'Pirates' be displayed in that case or not? Anyway, this is not as easy as you think and hardly could be accomplished with Magic Nodes and SQL (maybe if it has Regular expressions, but this is another story). You could try the following mask, although you would have problems with tracks that have "(" or "[" in their Title which doesn't contain version information like "Vox" or "Instrumental", but some actual part of Title, e.g. "(I Can't Get No) Satisfaction":

Code: Select all

<Group|name:Tracks...|Show tracks:No>\Tracks with same Custom1 field without "(" and "[" in Title|Icon:Top level|Filter:Songs.Custom1 || '|' || Songs.SongTitle IN (SELECT Custom1 || SongTitle FROM Songs WHERE InStr(SongTitle, "(") = 0 AND InStr(SongTitle, "[") = 0 GROUP BY Custom1 HAVING Count(*) > 1)\<Custom 1>
My advice is to use "[ ]" only for the version information and "( )" for the actual part of Title. In that case you will be sure that any manipulation with "[ ]" would include only the version information, not the part of Title. You could use RegExp Find & Replace add-on and its "Replace (... remix/version/edit ...) with [ ... ] at the end of <Into Field>..." preset for that.
Magic Nodes 4.3.3 / 5.2 RegExp Find & Replace 4.4.9 / 5.2  Invert Selection/Select None 1.5.1  Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1  Expand Child Nodes/Expand All 1.1.2  Event Logger 2.7  Filtered Statistics Report 1.6  Track Redirection & Synchronization 3.4.2  Restore/Synchronize Database 3.1.8 / 4.0.1  Find Currently Playing Track 1.3.2  Queue List 1.2.1  Add to Library on Play 1.0.1  Tree Report for Child Nodes 1.1.1  Update Location of Files in Database 1.4.5 / 2.3  Inherit Child Playlists 1.0.3  Add Currently Playing/Selected Track(s) to Playlist 1.2
Post Reply