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

adem
Posts: 1
Joined: Mon Jan 21, 2008 8:41 am

Post by adem »

Hey guys,

I'm new to magic nodes and was wondering if someone could help me out.

is there a way to select distinct songs by a particular artist?

An SQL example of what I mean would be something like:

Code: Select all

SELECT DISTINCT(*) FROM Songs WHERE Artist = 'Artist Goes Here';
thank you in advance
adem
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

I get an object error occasionally on this function first line:

Code: Select all

Sub SelectedTracksChanged()
    If SDB.MainTree.CurrentNode.CustomNodeID > 0 Then
        SDB.UI.Menu_Pop_Tree_SendTo.Visible = True
        If SDB.MainTree.CurrentNode.CustomDataID = 0 Then
            SDB.Objects("MenuEdit").Visible = True
            SDB.Objects("MenuDel").Visible = True
        Else
            SDB.Objects("MenuEdit").Visible = False
            SDB.Objects("MenuDel").Visible = False
        End If
    Else
        SDB.Objects("MenuEdit").Visible = False
        SDB.Objects("MenuDel").Visible = False
    End If
    SDB.IniFile.StringValue("MagicNodes", "LastNode") _
            = SDB.MainTree.CurrentNode.CustomNodeID
End Sub
This is generally reproducable by auto-organizing a folder and not having any current node active... so an object not found error happens..
SpOiLeR
Posts: 14
Joined: Fri Dec 05, 2003 4:57 pm

Magic Nodes root node not shown on open [MM3 + MN 1.6.2.4]

Post by SpOiLeR »

Hello...

Magic Nodes root node is not shown when Media Monkey starts although I have few sub nodes. Script is installed, has all entries in Edit menu and Magic Nodes root node is shown in navigation toolbar when clicked on pull down, near that speaker. Magic nodes that are child of Artist etc. are always shown, and work without problem...

I have seen follownig symptoms:

- If I delete or create new node, root node is shown. If I after that close MMonkey and reopen it, root node is not there
- If I try to get it open through Navigation toolbar it sometimes works, sometimes doesn't. If it happens to work and root node is shown in tree, closing and reopening Monkey hides it again. If it doesn't work, navigation toolbar still changes so it looks like I'm in root Magic Node, but that node is not shown in tree, and I have no access to subnodes.

Using:
MediaMonkey 3.0.1.127
MagicNodes 1.6.2.4 (alpha)
WinXP SP2
Windows Scripting Host 5.6

Following masks are used for MagicNodes (copied from my MediaMonkey.ini file):

Code: Select all

[CustomNodeMasks]
Mask1=
Mask0=File Type|show tracks:no\<Format>
Mask2=Album Completness|show tracks:no\<AlbumCompletness|show tracks:no>\<Album Artist|trim:1|show tracks:no>\<Album Artist>\<Album>
Mask3=Comments\<comment|trim:20>
Mask4=Album Artist (By First Letter)|child of:artist|show tracks:no\<Album Artist|trim:1|show tracks:no>\<Album Artist>\<Album>
Mask5=Album (By First Letter)|child of:album|show tracks:no\<Album|trim:1|show tracks:no>\<Album>
Mask6=Album Artist|child of:artist|show tracks:no\<Album Artist>\<Album>
Mask7=Artist (By First Letter)|child of:artist|show tracks:no\<Artist|trim:1|show tracks:no>\<Artist>\<Album>
Mask8=File Type|show tracks:no\<Format>
Mask9=
Mask10=
Mask11=
Mask12=
Mask13=
Mask14=
Mask15=
Mask16=
Mask17=
Mask18=
Mask19=
Mask20=
* AlbumCompletness is how I named my Custom3 field

Any ideas?
Jakeadiah

Post by Jakeadiah »

im trying to update my nodes from the origional magic nodes to this, and i can't seem to find anything that clearly explains the differences, but im trying :( heres my old nodes
Artist (by year)|child of:artist\<Artist>\<Album|Sort by:max(year)|sort order:desc>
Album Artist (by year)|child of:artist\<Album Artist>\<Album|Sort by:max(year)|sort order:desc>

pretty much i just want these to work with this version of magic nodes and im not entirely sure why they don't. also just a note, is it possible to combine these two into Artist & Album Artist? it now exists as a regular node in mm3, so i figured maybe its possible now. if someone could point me in the right direction of how to convert these to work, it would be much appreciated.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

There is a new significant update (1.7). Link is in the first post of this thread.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Jakeadiah, your masks should work without problem. Please try the new version of the script - it has checking of masks during startup and should return which mask is problematic.

SpOiLeR, I suppose that you have some another script which is in collision with Magic Nodes. Could you try to remove all MM scripts from Auto folder just to see if this is a case?

bbuchi, suggested options could not be added because MM don't have necessary API functions for that.

bob61, it is not renowden fault about ratings in manual. You could blame me because I changed behavour of Filter qualifier which is different that Pablo's.

adem, could you be more specific what you want to do? Maybe you could try with following mask:

Code: Select all

Artist with tracks\<Artist>\<Title>
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Teknojnky wrote:I get an object error occasionally on this function first line:
Thanks. This bug was already resolved within a new update.

BTW, your previous suggestion about not expanding nodes during startup has not any effect. I added check for TweakMonkey settings during startup and tried to skip over mentioned function, but MM still select node which was last selected during exit. This occurs rarely, but still occurs. Obviously is MM3 fault, not mine.
Bex
Posts: 6316
Joined: Fri May 21, 2004 5:44 am
Location: Sweden

Post by Bex »

Wow, this seems to be a really massive update!
It will take quite some time to check it all out.

Thanks for all your hard work on this!

/Bex
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!

All My Scripts
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Bex wrote:Wow, this seems to be a really massive update!
Thanks! Unfortunately, I will never finish work on the user interface if I continue with improving of internal engine. :(
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

ZvezdanD wrote:BTW, your previous suggestion about not expanding nodes during startup has not any effect. I added check for TweakMonkey settings during startup and tried to skip over mentioned function, but MM still select node which was last selected during exit. This occurs rarely, but still occurs. Obviously is MM3 fault, not mine.
I do the below and it works fine for me.. MN is then closed upon startup like I prefer. It is simple enough that I can comment that line out whenever updated, not a big deal.

I do get an object error if I happen to leave a magic node selected on shutdown @ If bExpParent Then oChildNode.Expanded = True but that doesn't matter to me, normally I always shut down with 'now playing' node selected.

Code: Select all

Sub ResetCustomNodeRoot()
    Dim i, sCurMask
    SDB.Objects("CustomNodeRoot").Expanded = False
'     SDB.Objects("CustomNodeRoot").Expanded = True '<<<< this line enables/disables the auto-expanded on startup
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Teknojnky wrote:I do the below and it works fine for me.
I don't do this and it works fine for me too - last node is not selected/expanded during startup in 1:1000 cases. But, please wait and you will see that you will get same result even with your commenting of mentioned line. BTW, you should better to comment call to ResetCustomNodeRoot inside of the OnStartUp, because the subroutine ResetCustomNodeRoot is called from many places, for example after creating/editing of nodes when the script tries to expand the last edited node.

If you want to experiment, please put If bSkipExpandOnStartUp Then in the front of the line which you commented and it will not execute during startup (but will execute latter in mentioned cases). Or even better you should put If bSkipExpandOnStartUp Then in the front of the ResetCustomNodeRoot in the OnStartUp. Please let me know if this has some effect.
I do get an object error if I happen to leave a magic node selected on shutdown @ If bExpParent Then oChildNode.Expanded = True
Hmm. This never happens to me. Someone else?
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Eh, I forgot to say most important thing. With a new grouping possibilities of the new version you don't need to have Magic Nodes branch at all. You could create nested nodes wherever you want.
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

ZvezdanD wrote:I don't do this and it works fine for me too - last node is not selected/expanded during startup in 1:1000 cases. But, please wait and you will see that you will get same result even with your commenting of mentioned line.
Thats really odd, because every time I startup without that line commented, magic nodes is always expanded..

It has been like that long before you updated it for mm3, I've been commenting that line out since nearly forever. :o
BTW, you should better to comment call to ResetCustomNodeRoot inside of the OnStartUp, because the subroutine ResetCustomNodeRoot is called from many places, for example after creating/editing of nodes when the script tries to expand the last edited node.
Actually, in many cases I don't want the last edited node expanded... because (at least previously before your great improvements), many nodes took a huge amount of time to process which would totally lockup the MM UI.. having the edited node auto-expanded freezes everything up in those cases.
If you want to experiment, please put If bSkipExpandOnStartUp Then in the front of the line which you commented and it will not execute during startup (but will execute latter in mentioned cases). Or even better you should put If bSkipExpandOnStartUp Then in the front of the ResetCustomNodeRoot in the OnStartUp. Please let me know if this has some effect.
I will try it out.
I do get an object error if I happen to leave a magic node selected on shutdown @ If bExpParent Then oChildNode.Expanded = True
Hmm. This never happens to me. Someone else?
The way I wrote it was kind of confusing, what I meant was that I only get that error when I commented the line (possibly why you recommend using bSkipExpandOnStartUp)..

Really, I just dont want anything expanded on startup at all which is one of the original reasons I worked on tweakmonkey.. because MM by itself always expanded the library node and it drove me crazy.
ZvezdanD
Posts: 3257
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD »

Teknojnky wrote:Thats really odd, because every time I startup without that line commented, magic nodes is always expanded..
This is really, really odd. Something which I hate most of all are bugs which are not reproducible and because of that they are hard to find.

BTW, we should clarify some terminology. I didn't meant on expanding Magic Nodes branch in general, but a node inside of this branch which was last selected during exit. Expanding of Magic Nodes branch is not so critical because it is not time consuming, instead of selecting some particular node inside of this branch which could slow down loading of MM during startup.

Well, now, with this new version, you could put Statistic qualifier even on the root node as a global qualifier and in that case even expanding of Magic Nodes branch could be time consuming.
I will try it out.
I made a mistake. It should be If Not bSkipExpandOnStartUp Then (Not is missing).
The way I wrote it was kind of confusing, what I meant was that I only get that error when I commented the line.
I just tried to comment mentioned line, selected some Magic node and exit MM without any error.
Really, I just dont want anything expanded on startup at all.
I forgot to say about grouping - you could define your new root node branch which you could use instead of Magic Nodes - this branch will not be expanded during startup, only Magic Nodes branch is expanded. Here is an example:

Code: Select all

<Group|Name:My brand new node branch|Child of:Library|Position:After>\My new album artist node\<Album Artist>
Here is a next node inside of this newly created branch:

Code: Select all

<Group|Name:My brand new node branch|Child of:Library|Position:After>\My new rating node\<Rating>
I think it is obvious, but just to mention - general rule is that specified string for the Name qualifier should be the same for all sub-nodes which you want to put inside of the same branch. Well, this is not enough - Child of and Position values should be the same also. This is because you could need to put two groups with the same name inside of two different parents: for example one inside of the Files To Edit and another inside of the Net Radio.
Big Isch
Posts: 112
Joined: Mon Mar 12, 2007 8:34 am
Location: Austria

MM 1.7

Post by Big Isch »

Super,

1.7 adds the "right until:" which is very usefull for parsing custom fields.

E.g with:

Code: Select all

Custom 1 = "src.cd pkg.cd.2 tracks.12+9 kind.soundtrack albumvolume.92"
and the node:

Code: Select all

By Kind\<Custom 1|exclusive right of:kind.|right until: >\<Artist>\<Album>
shows all Albums by kind, e.g.: soundtrack, audiobook, etc.

I think "exclusive right of:" should not show nodes without 'kind.'
as 'unknown'. But with filtering it easy to accomplish:

Code: Select all

By Kind|filter:<Custom 1> LIKE ('%kind.%')
\<Custom 1|exclusive right of:kind.|right until: >\<Artist>\<Album>
P.S.: I think "right of:" should not show the entire field, when the key is not found,
but "left of:" should and does.
Now when key is not found, "left of:" and "right of:" is the same. Should'nt it be that
field is: "left of:" & key & "right of:" ?
Post Reply