Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]
Posted: Fri Dec 05, 2008 11:46 pm
I'm looking for a node to sort by file type; m4a, wma, mp3, etc. I have directories with different file types thrown in and want it sorted.
The Music Manager for Serious Collectors
https://mediamonkey.com/forum/
What field are you storing the Record Label in? Publisher?devilisinthedetails wrote:Has anyone made a node for organizing by record label? If so can someone provide the code or let me know if it isnt possible. thank you
It shouldn't be a difficult node to create, but if you're not storing the Record Label in the tags anywhere, there's not much to be done. MagicNodes needs to pull the information from somewhere.devilisinthedetails wrote:Hmm I guess so. Im pretty lame when it comes to mediamonkey. sorry
Code: Select all
-Songs (by #of Play)
+not played(10243 files)
+1 time (3413 files)
+2 times (465 files)
+3 times (124 files)
+ Unknown (20 files)
+A (14 files)
+B (12 files)
+C (30 files)
+Ca (18 files)
+Cake (15 files)
L--Fashion Nugget (15 files)
+Carl Thomas (1 file)
+Carrie Underwood (1 file)
+Catherine Wheel (1 file)
+Ce (7 files)
+Cl (5 files)
+D (2 files)
.....
+4 times (27 files)
.....
Code: Select all
Songs (by #of Play), Artist[A-Z], Artist[Aa-Zz], Artist, Album|Icon:Top level\<Played|Unknown:yes|Statistic:Count(All)>\<Artist|Trim:1|Unknown:yes|Statistic:Count(All)>\<Artist|Trim:2|Unknown:yes|Statistic:Count(All)>\<Artist|Unknown:yes|Statistic:Count(All)>\<Album|Unknown:yes|Statistic:Count(All)>
Code: Select all
Mask54=<Group|Name:Album Ratings|Show tracks:No>\Albums with avg. track rating >= 4 stars|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Avg(Rating) >= 80)\<Album|Statistic:Count(All), Avg(Rating)>
Mask55=<Group|Name:Album Ratings|Show tracks:No>\Albums with avg. track ratings >= 3 and less than 4|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Avg(Rating) Between 60 AND 79)\<Album|Statistic:Count(All), Avg(Rating)>
Mask56=<Group|Name:Album Ratings|Show tracks:No>\Albums with avg. track ratings >= 2 and less than 3|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Avg(Rating) Between 40 AND 59)\<Album|Statistic:Count(All), Avg(Rating)>
Mask57=<Group|Name:Album Ratings|Show tracks:No>\Albums with avg. track ratings >= 1 and less than 2|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Avg(Rating) Between 20 AND 39)\<Album|Statistic:Count(All), Avg(Rating)>
Mask58=<Group|Name:Album Ratings|Show tracks:No>\Albums with avg. track ratings less than 1|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Avg(Rating) Between 0 AND 19)\<Album|Statistic:Count(All), Avg(Rating)>
Mask59=<Group|Name:Album Ratings|Show tracks:No>\Albums with all tracks rated|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Min(Rating) >= 0)\<Album|Statistic:Count(All), Avg(Rating)>
Mask60=<Group|Name:Album Ratings|Show tracks:No>\Albums with some tracks rated|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Min(Rating) < 0 AND Max(Rating) >= 0)\<Album|Statistic:Count(All)>
Mask61=<Group|Name:Album Ratings|Show tracks:No>\Albums with no tracks rated|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Max(Rating) < 0)\<Album|Statistic:Count(All)>
Mask62=<Group|Name:Album Ratings|Show tracks:No>\Albums with weighted avg. track rating >= 4 stars and at least 5 rated tracks|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Sum(SongLength * Rating) / Sum(SongLength) >= 80 AND Count(Rating) >= 5)\<Album|Sort by:Avg(Rating)|Statistic:Count(All)>
Mask63=<Group|Name:Album Ratings|Show tracks:No>\Albums with at least one song with track rating >= 4 stars|Icon:Top level|Filter:Songs.IDAlbum In (SELECT IDAlbum FROM Songs WHERE Rating >= 80)\<Album|Statistic:Count(All), Max(Rating)>
olle wrote:I'd like a script that does the same as "Album Ratings" but for Artists.
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with avg. track rating >= 4 stars|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Rating >= 0 GROUP BY ArtistsSongs.IDArtist HAVING Avg(Rating) >= 80)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with avg. track rating >= 3 and less than 4|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Rating >= 0 GROUP BY ArtistsSongs.IDArtist HAVING Avg(Rating) Between 60 AND 79)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with avg. track rating >= 2 and less than 3|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Rating >= 0 GROUP BY ArtistsSongs.IDArtist HAVING Avg(Rating) Between 40 AND 59)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with avg. track rating >= 1 and less than 2|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Rating >= 0 GROUP BY ArtistsSongs.IDArtist HAVING Avg(Rating) Between 20 AND 39)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with avg. track rating less than 1|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Rating >= 0 GROUP BY ArtistsSongs.IDArtist HAVING Avg(Rating) Between 0 AND 19)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with all tracks rated|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) GROUP BY ArtistsSongs.IDArtist HAVING Min(Rating) >= 0)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with some tracks rated|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) GROUP BY ArtistsSongs.IDArtist HAVING Min(Rating) < 0 AND Max(Rating) >= 0)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with no tracks rated|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) GROUP BY ArtistsSongs.IDArtist HAVING Max(Rating) < 0)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with weighted avg. track rating >= 4 stars and at least 5 rated tracks|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) GROUP BY ArtistsSongs.IDArtist HAVING Sum(SongLength * Rating) / Sum(SongLength) >= 80 AND Count(Rating) >= 5)\<Artist|Statistic:Count(All), Avg(Rating)>
Code: Select all
<Group|Name:Artist Ratings|Show tracks:No>\Artists with at least one song with track rating >= 4 stars|Icon:Top level|Filter:Songs.Artist In (SELECT Songs.Artist FROM Songs, ArtistsSongs WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND Rating >= 80)\<Artist|Statistic:Count(All), Avg(Rating)>
Great! Thanks! I'll test them tonight and get back ASAPZvezdanD wrote: They are more complicated since the Artist field is multi-item, instead of the Album. I didn't tested them too much - please let me know if they work as they should and I will include them into the next version of the script.
Code: Select all
CUS5xARTxALB\<Custom 5|Sort by:Count(Artist) Desc|Statistic:Count(Tracks)>\<Artist|Sort order:Desc|Sort by:Count(Album) Desc|Statistic:Count(Tracks)>\<Album|Sort order:Desc|Sort by:Count(Tracks) Desc>
You could try this:MosquitoLoco wrote:I am thinking of a mask that shows me only the nodes of artists that have 2 or more tracks, and at least one of the tracks is labeled "new" in the CUSTOM5 field
Code: Select all
CUS5xARTxALB|Filter:Songs.ID IN (SELECT Songs.ID FROM Songs, ArtistsSongs, Artists WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND ArtistsSongs.IDArtist = Artists.ID AND Artists.Artist IN (SELECT Artists.Artist FROM Songs, ArtistsSongs, Artists WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND ArtistsSongs.IDArtist = Artists.ID GROUP BY Artists.Artist HAVING Count(*) >= 2 AND ',' || group_concat(Custom5) || ',' LIKE '%,new,%'))\<Custom 5|Sort by:Count(Artist) Desc|Statistic:Count(Tracks)>\<Artist|Sort order:Desc|Sort by:Count(Album) Desc|Statistic:Count(Tracks)>\<Album|Sort order:Desc|Sort by:Count(Tracks) Desc>
Thanks a lot ZvezdanD,ZvezdanD wrote: You could try this:Code: Select all
CUS5xARTxALB|Filter:Songs.ID IN (SELECT Songs.ID FROM Songs, ArtistsSongs, Artists WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND ArtistsSongs.IDArtist = Artists.ID AND Artists.Artist IN (SELECT Artists.Artist FROM Songs, ArtistsSongs, Artists WHERE Songs.ID = ArtistsSongs.IDSong AND (ArtistsSongs.PersonType = 1 OR ArtistsSongs.PersonType IS NULL) AND ArtistsSongs.IDArtist = Artists.ID GROUP BY Artists.Artist HAVING Count(*) >= 2 AND ',' || group_concat(Custom5) || ',' LIKE '%,new,%'))\<Custom 5|Sort by:Count(Artist) Desc|Statistic:Count(Tracks)>\<Artist|Sort order:Desc|Sort by:Count(Album) Desc|Statistic:Count(Tracks)>\<Album|Sort order:Desc|Sort by:Count(Tracks) Desc>
Code: Select all
ambiguous column name: SongArtists.ID (1, 1)