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

Post a reply

Visual Confirmation

To prevent automated access and spam, you are required to confirm that you are human. Please place a check mark next to all images of monkeys or apes. If you cannot see any images, please contact the Board Administrator.

Smilies
:D :) :( :o :-? 8) :lol: :x :P :oops: :cry: :evil: :roll: :wink:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

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

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

Post by carlosf » Fri Nov 13, 2015 7:59 am

Ok, it turns out I overlooked where filters can't use modifiers.

I did come up with a different way to do it, posting here in case it is useful to anybody else:

<Group|Name:Carlos Custom|Show tracks:No>\Tagged Artist no match Filename Artist V2 |Filter: ']' <> SubStr(<File name>, length(<artist>)+2, 1)
<Group|Name:Carlos Custom|Show tracks:No>\Tagged Title no match Filename Title V2 |Filter: length(<file name>) <> (length(<artist>)+length(<title>)+3)

Parsing File Name with Right Of Qualifier

Post by carlosfr » Mon Nov 09, 2015 9:58 am

Hi,

I'm new to MediaMonkey and Magic Nodes, and I have created a mask that I like, but I'm trying to modify it and I seem to be stuck.

I'm trying to find items where the tagged artist or title do not match the way I do my filenames.

Filenames are like this:
[<artist>] <title>.extension

So, this filter will make that comparison:
Filter:<Artist> <> SubStr(<File name>, 2, Length(<Artist>))

The problem with this filter is that it misses items where the difference is that something is tacked on to the filenames artist section making it longer than the tagged artist.
Meaning that if these two have the same artist tagged, then it thinks these two match when they really don't:
[<artist>] <title>.extension
[<artist> zzz] <title>.extension

I thought I could improve this by doing something like this:
Filter:<artist> <> <File name|Right of:[|Right until:]>

This isn't working, and I haven't been able to figure out why. It may be simple syntax or something else, but I figure I need a little bit of help.

The error I'm getting is 'The mask defining this Magic Node produced and error...'

Thanks!

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

Post by Haaden2 » Sun Nov 08, 2015 6:39 am

The MediaMonkey tree has a node Artist & Album Artist. I think I recall a while back confirmation on this thread that Magic Nodes doesn't have that capability. Is that (still) true?

What I'd really like to make is a node Album Artist & Involved People. I can create for a specific artist (admittedly this is clumsy but it avoids getting into the Split thing which always confuses me):

Code: Select all
Vince Gill|Icon:0|Filter:(<Artist> = 'Vince Gill' OR <Involved People> Like '%: Vince Gill%')\<Title with artist plus album>


But when the database includes thousands of artists and involved people it's not reasonable to create thousands of customized nodes to get this.

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

Post by Camus II » Sun Oct 25, 2015 4:35 am

mana,

I replaced <Album|Sort by:Max(Year)> with <Album|Min tracks:3|Sort by:Max(Year)>to add "limiting the display to albums with more than 2 tracks". Even without that, your mask works as intended for me. The problem may just be general database related which a complete optimisation might help to sort out.

Sort by Artist, by album year filter > 2 tracks

Post by mana » Sat Oct 24, 2015 2:01 pm

I am trying to set a magic node showing artists and albums sorted by year but limiting the display to albums with more than 2 tracks and that are not compilations.

I'm not able to set the filter, or when I did then the year did not show up before the album name.

Here is the mask I am using so far:
Code: Select all
Album Artist with Album by year|Icon:Top level|Child of:Library|Position:First child|Filter:<Album artist> <> 'Various Artists'\<Album Artist>\<Album|Sort by:Max(Year)>


Help would be greatly appreciated!

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

Post by ZvezdanD » Tue Oct 06, 2015 2:01 pm

Mizery_Made wrote:I'm having trouble updating some of my old Magic Nodes that I've carried from at least the early MM 3.x days. They are attempting to find files where one field equals something, and another field is empty. An example:

Filter:GroupDesc = '--Album--' AND <Composer> = ''


That should find files that have a Grouping of "--Album--" and an empty Composer field, shouldn't it? I'm getting an empty node however. Meanwhile, an auto-search results in 13,790 files.

<Composer> MN field cannot be compared to empty string, as you could see from some examples in the Filter examples group. You should use <Multi Composer> or Songs.Author instead. The same apply for all multi-item fields.

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

Post by Mizery_Made » Tue Oct 06, 2015 1:52 pm

I'm having trouble updating some of my old Magic Nodes that I've carried from at least the early MM 3.x days. They are attempting to find files where one field equals something, and another field is empty. An example:

Filter:GroupDesc = '--Album--' AND <Composer> = ''


That should find files that have a Grouping of "--Album--" and an empty Composer field, shouldn't it? I'm getting an empty node however. Meanwhile, an auto-search results in 13,790 files.

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

Post by ZvezdanD » Sat Aug 22, 2015 9:12 am

MMFrLife wrote:Is there a way to do this within a single caption node creation without having to separately create the main sub nodes as separate "new" nodes (last child of) for the one caption node.

It is not possible to do that with a single mask. You need to create one mask per field putting them all inside of one group. For example, a mask for the Artist field would be:
Code: Select all
<Group|Name:Fix/Edit>\Artist\<Artist>

the Title field would be:
Code: Select all
<Group|Name:Fix/Edit>\Title\<Title>

and so on.

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

Post by MMFrLife » Sat Aug 22, 2015 8:16 am

I'm trying to create several sub nodes under a caption that then have sub nodes under them, not every level has a "step laddered" sub node, and so on.
[the forum makes everything justified left, so I put hyphens before the nodes only to show the "tree sub indention".]

ex. of step ladder:

Fix/Edit (caption)
- Title
- - Album Artist
- - -Artist
- - - Album
- - - - Involved People

ex. what I want:

Fix/Edit (caption)
- Title
- - (step laddered nodes)
- Album Artist
- - (step laddered nodes)
- Artist
- - (step laddered nodes)
- Album
- - (step laddered nodes)
- Involved People
- - (step laddered nodes)

- where fields like Title, Album Artist, Artist, etc. are on the same node level and are not step laddered under the caption but have nodes step laddered under them.

Is there a way to do this within a single caption node creation without having to separately create the main sub nodes as separate "new" nodes (last child of) for the one caption node.

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

Post by ZvezdanD » Sat Aug 22, 2015 7:18 am

MMFrLife wrote:Is it possible to have the prefix count in parentheses, without the hyphen?

It is not possible. The prefix (Sort by) is always without parentheses, but separated from the main field with the hyphen, while the suffix (Statistics) is always within parentheses without any additional separator.

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

Post by MMFrLife » Fri Aug 21, 2015 10:18 pm

Is it possible to have the prefix count in parentheses, without the hyphen?

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

Post by LemurTech » Fri Jul 24, 2015 7:23 pm

Greetings, Gurus! Hunted around in this thread and others but can't seem to find the answer to my Magic Nodes question, so here goes!

I want to do a split based on Custom Field 5 ("Keywords"), which is a comma-separated list of keywords: Key1, Key2, Key3, etc. This will be used to create a two-level "Keywords" node that should work like this:

Code: Select all
Key1   (files with Key1 AND any other key)
--Key2 (files with Key1 AND Key2)
--Key3 (files with Key1 AND Key3)

Key2  (files with Key2 AND any other key)
--Key1 (files with Key2 AND Key1)
--Key3 (files with Key2 AND Key3)

Key3  (files with Key3 AND any other key)
--Key1 (files with Key3 AND Key1)
--Key2 (files with Key3 AND Key2)

I have succeed in creating the first-level and second-level nodes; however, I can't get the mask/query set up so that a file that already appears in one node can also appear in a lower node. Is this even possible? My mask looks like this:

Code: Select all
Keywords|Icon:Top level|Position:First child|Child of:Library|MM filter:MyGenre\<Keywords|Unknown:No|Split by:,|Split Mode:Categories>\<Custom 5|Split by:,|Split Mode:Parts After|Split part:1>

Thanks for pointing me in the right direction!

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

Post by willyvds » Tue Jul 21, 2015 2:00 pm

Awesome! I always had the idea of making something like this but I never did...
Some questions from my side:
1. I have put the mask under "playlist". It works but somehow I cannot make it refresh. Any ideas?
2. I'm not sure what "GROUP BY IDAlbum ORDER BY (<Played> - 2*<Year> - <Rating>/20)) " should do?
3. I'm also not sure by which criterion you would want to sort?
But anyway: thanks a lot!
Regards, Willy

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

Post by electricessence » Mon Jul 20, 2015 10:07 pm

Here is my query:
Code: Select all
Songs.ID IN (SELECT ID FROM Songs WHERE Songs.ID IN ( SELECT ID FROM Songs WHERE <Custom 2> NOT LIKE 'Retire%' AND <Custom 2> NOT LIKE 'Duplicate%' AND Rating >= 60 AND ( <Played> < 1 AND <Days since last played> > 1 OR LastTimePlayed = 0.0 OR <Days since last played> > (<Played> * <Played> + 7 + 100-<Rating> ) ) AND Songs.Artist IN ( SELECT Artist FROM Songs GROUP BY Artist HAVING Max(LastTimePlayed) = 0.0 OR JulianDay( Date('now', 'localtime') ) - JulianDay( Date(Max(LastTimePlayed) + JulianDay('1899-12-30')) ) > 7 ) AND ( Songs.Album = "" OR Songs.IDAlbum IN ( SELECT IDAlbum FROM Songs GROUP BY IDAlbum HAVING Max(LastTimePlayed) = 0.0 OR JulianDay( Date('now', 'localtime') ) - JulianDay( Date(Max(LastTimePlayed) + JulianDay('1899-12-30')) ) > 2 ) ) GROUP BY IDAlbum ORDER BY (<Played> - 2*<Year> - <Rating>/20)) GROUP BY Artist)

https://gist.github.com/electricessence ... 53aa4da95d

It works exactly as I want it to with some minor caveats:
  • Sorting (ORDER BY) doesn't work and I'm guessing because it's not ordering by the result set, but the underlying group set. Would really like a working default sort.
  • It's quite complicated. Without using a lot of redundant date code, I was unable to get this to work any other way. Any help at reducing this query would be nice.

What does this query do?
It's a godsend. Thank you Magic Nodes for letting me do this:
It only selects 3+ star songs from artists/albums/compilations that haven't been heard in a while. This is really important in bigger collections since you can very easily play out some songs and not hear from others.
The timeframe is computed by (Days):
  • Song: <Played>^2 + 7 + 100 - <Rating>
  • Artist: Greater than 1 week.[*/]
  • Album/Compilation: Greater than 2 days.
Therefore the more time you play a song, an artist, or album, the longer it will take to repeat a song by that artist or album.

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

Post by TheMcShan » Tue Jul 14, 2015 7:37 pm

Hi

How can i make a node similar to the "Albums with multiple years" only i need one that is for the whore date (YYYY.MM.DD)?
Thanks! love this script!

Top