Collection of most useful/wanted Magic Nodes masks [MM2+3]

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

Moderators: Peke, Gurus

MagickRhythm
Posts: 10
Joined: Thu Jan 11, 2007 9:02 pm
Location: Texas
Contact:

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by MagickRhythm »

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.
FEB
Posts: 83
Joined: Sat Mar 01, 2008 6:57 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by FEB »

One of the nodes does exactly that, I think - the one called 'Format, VBR, Bitrate'
ch1525
Posts: 13
Joined: Thu Jun 19, 2008 7:28 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by ch1525 »

Here is the mask I would like to create (if I was smart enough!!!):

I have a very large Classical collection. I'm planning on making Custom 1 into a field called "Work". Here I could put something like Symphony No.5 under all of tracks of Beethoven's 5th Symphony.

What I want to be able to do is view a list of all Classical composers in the tree. When I expand that composer's node, I'd like a listing of all their works I have to appear. Going further, if I expanded that node, a list of all Artists associated with that work would appear.

Anyway to do this? Thanks for any help!
devilisinthedetails
Posts: 7
Joined: Fri Jan 16, 2009 8:32 am

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by devilisinthedetails »

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
justin_f
Posts: 92
Joined: Thu Nov 22, 2007 11:41 am
Location: Valpo, IN

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by justin_f »

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
What field are you storing the Record Label in? Publisher?

Justin
devilisinthedetails
Posts: 7
Joined: Fri Jan 16, 2009 8:32 am

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by devilisinthedetails »

Hmm I guess so. Im pretty lame when it comes to mediamonkey. sorry
justin_f
Posts: 92
Joined: Thu Nov 22, 2007 11:41 am
Location: Valpo, IN

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by justin_f »

devilisinthedetails wrote:Hmm I guess so. Im pretty lame when it comes to mediamonkey. sorry
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.

Justin
FEB
Posts: 83
Joined: Sat Mar 01, 2008 6:57 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by FEB »

Label A-Z\<Publisher>\<Album|Statistic:Count(Tracks)>


Label\<Publisher|sort by: Count(Tracks)|sort order: desc>\<Album|Statistic:Count(Tracks)>


This is assuming you've put the record label into the Publisher section
Alex
Posts: 5
Joined: Mon Mar 02, 2009 1:21 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by Alex »

Here's a useful node I created a while back.

I created this to view nodes based on the PlayCount so that I could see which tracks I haven't played yet and which ones I seem to always want to hear!

The base node is the PlayCount (breaks up all tracks by count of #ofPlays including 0)
Second Node is Artist (first letter only)
Third Node is Artist (first two letters, sub category)
Fourth Node is the full Artist Name
Fifth node is all Albums under the artist.

I made this many nodes because I have a huge collection. If I were to list all albums or all artists in my collection in one node, it would take some time for the node to open. As an example, it would look like:

====Not really code, I just wanted to preserve the spacing :)====

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)
 .....
Here is the code for the node!

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)>
Enjoy!
olle
Posts: 15
Joined: Sat Feb 07, 2009 10:46 am

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by olle »

Artist Ratings
I'd like a script that does the same as "Album Ratings" but for Artists. I'm sure it's a pretty simple thing to do, but I can't/haven't got the time to learn how. Does anyone else want to try?

I include the script for Album Ratings:

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)>
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by ZvezdanD »

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)>
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.
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
olle
Posts: 15
Joined: Sat Feb 07, 2009 10:46 am

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by olle »

ZvezdanD 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.
Great! Thanks! I'll test them tonight and get back ASAP :)
MosquitoLoco
Posts: 5
Joined: Mon May 25, 2009 7:53 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by MosquitoLoco »

Hi,

I'd love some help with this.

My music collection is organized in a GENRE/SUBGENRE/ARTIST/ALBUM/CD#/Track.ext order. I cannot use the GENRE field for purposes of organizing new tracks because I rely heavily on genre suggestions obtained with Trixmoto's Genre Finder. So I am currently using the CUSTOM5 field to store the desired GENRE or SUBGENRE fields. Any new tracks are accordingly labeled as CUSTOM5="new".

I need to find an efficient way to organize new tracks, while preventing a single artist to appear in 2 or more different locations. For example, it is sometimes hard for me to remember whether TEXAS is under the POP, ALT DANCE or DOWNBEAT folder. So when I get new tracks by TEXAS I have to find out first where the old ones were.

I built a good (working) mask for that purpose:

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>
It works decently at helping me group and sort artists with "new" tracks. But then again I have to manually look up for the artist folder location and then move the new tracks there.

I thought maybe a more sophisticated mask could be the answer, but since I am not familiar with SQL filtering I have to ask for help. 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, that would be just beyond words.

I am open to all suggestions. Thanks in advance,
Mosquito
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by ZvezdanD »

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
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>
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
MosquitoLoco
Posts: 5
Joined: Mon May 25, 2009 7:53 pm

Re: Collection of most useful/wanted Magic Nodes masks [MM2+3]

Post by MosquitoLoco »

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>
Thanks a lot ZvezdanD,

I got a SQL error though:

Code: Select all

ambiguous column name: SongArtists.ID (1, 1)
BTW, I am using MM3.
Post Reply