Page 17 of 162

Posted: Tue Jan 08, 2008 1:05 pm
by ZvezdanD
Teknojnky wrote:if you comment out that line, magic nodes does not expand on startup
Yes, I know that. But I don't want to modify the script in such way to be incompatible with existing behavior of MM - if MM3 expands built-in nodes, I think that MN should expand theirs as well.

Posted: Tue Jan 08, 2008 1:30 pm
by Guest
@Bex: Thanks for the hint, I dropped my Node and installed your script, works great.

Composer Node

Posted: Wed Jan 09, 2008 3:44 am
by renowden
Hi - I have been using MM2 with MN 1.3 with much pleasure and have just started investigating MM3 adding MN 1.6

I notice that MM3 has a composer node already but it doesn't do what I need so I am looking to replace it with my old one

Composer|icon:top level|child of:artist|filter:genre in ('classical', 'opera', 'operetta')\<composer>\<album and artist>

does MagicNodes allow me to do this - I have tried it but there are other changes I need to do to the node definition to get it to work.

Re: Composer Node

Posted: Wed Jan 09, 2008 8:01 am
by ZvezdanD
renowden wrote:does MagicNodes allow me to do this - I have tried it but
Yes, it allows you to do this with mentioned mask, but only if you use versions older than 1.6.

Folks, please try to understand. I spent too much time working on this script. I spent several hours writing text in the first post explaining what is a difference between versions, what is supported, what are additions... (I need more time to write posts than many of you, because English is not my native language, as I wrote several times before). You could read the first post for an insignificant part of time which I spent writing all of this - one minute or two, no more. This post contain all you should know why your mask is not working and how to modify it. Anyway, here is a mask for versions >= 1.6:

Code: Select all

Composer|icon:top level|child of:artist|filter:<Genre> in ('classical', 'opera', 'operetta')\<composer>\<Album with Album Artist>

Posted: Wed Jan 09, 2008 8:21 am
by ZvezdanD
Regarding to Incomplete Albums... It was said many times before, none of this so called Missing Tracks/Incomplete Albums masks/scipts are not accurate, at least for two reasons:

1. If you do not have last few tracks from an album, e.g. you only have first five tracks from an album which have ten tracks;

2. For albums which have 2 or more discs.

This second problem many tried to resolve for some situations (e.g. if someone numbered tracks with 3 digits, which is in my opinion totally wrong, especially now when we have a possibility to number discs with DiscNumber field).

If someone want to write true Incomplete Albums script, he/she should take information about the number of album's last track from FreeDB or All Music Guide or some another place. But you should know that many of users still don't have non-stop broadband connection and many still use dial-up. So, maybe we should manually add information about last track for each song in some Custom field, if MM developers in meantime don't add some new field for this.

BTW, here is a Magic Nodes mask which use Bex's algorithm from Tagging Inconsistencies (without folder exclusion):

Code: Select all

Incomplete Albums (Bex's algorythm)|SQL Filter:Songs.IDAlbum IN (SELECT IDAlbum FROM (SELECT Songs.IDAlbum IDAlbum FROM Songs, (SELECT IDAlbum, SUM(Non3Digits) AS CountNon3Digits, SUM(Cnt) AS Cont FROM (SELECT IDAlbum, COUNT(CASE WHEN Length(TrackNumber) = 3 THEN NULL ELSE 1 END) as Non3Digits, COUNT(*) AS Cnt, COUNT(CASE WHEN TrackNumber = '' THEN NULL ELSE 1 END) AS NonBlanks, MAX(Cast(TrackNumber as INTEGER)) AS MaxNr, COUNT(CASE WHEN SongLength >= 2400000 THEN 1 ELSE NULL END) AS SngLngth FROM Songs WHERE IDAlbum > 0 GROUP BY IDAlbum, TrackNumber) AS Inline1 GROUP BY IDAlbum HAVING COUNT(*) = SUM(Cnt) AND SUM(Cnt) = SUM(NonBlanks) AND MAX(MaxNr) > SUM(Cnt) AND (SUM(SngLngth) > 0 OR SUM(Cnt) >= 2)) Inline2 WHERE Songs.IDAlbum = Inline2.IDAlbum AND Songs.IDAlbum > 0 GROUP BY Songs.IDAlbum, CASE WHEN CountNon3Digits = 0 THEN Substr(TrackNumber, 1, 1) ELSE '0' END HAVING Cast(Substr(MIN(TrackNumber), -2, 2) as INTEGER) || (MAX(Cast(TrackNumber as INTEGER)) - MIN(Cast(TrackNumber as INTEGER)) + 1 -COUNT(*)) <> '10' AND MAX(cast(TrackNumber as INTEGER)) >= COUNT(*)) GROUP BY IDAlbum)\<Album|Statistic:Count(All)>

Magic Nodes manual

Posted: Thu Jan 10, 2008 4:55 am
by renowden
I accept that, with hindsight, RTFM was a valid response to my query, but you must admit that such a manual does not really exist and it is quite hard to find the relevant information - I had read the first post but not far enough down!

Not wanting to complain without putting some action in, would it be acceptable/desirable for me to produce such a manual for the current version of Magic Notes (or is someone already doing it)? I have put together a draft for my own education which I can make available for inspection if this is thought useful. I have based it heavily on the tutorial, FAQ, examples and reference sections of the original 1.3b version and the first post of this thread but I have no idea what the copyright position would be.

Re: Magic Nodes manual

Posted: Thu Jan 10, 2008 7:48 am
by bob61
renowden wrote:Not wanting to complain without putting some action in, would it be acceptable/desirable for me to produce such a manual for the current version of Magic Notes (or is someone already doing it)? I have put together a draft for my own education which I can make available for inspection if this is thought useful. I have based it heavily on the tutorial, FAQ, examples and reference sections of the original 1.3b version and the first post of this thread but I have no idea what the copyright position would be.
Not sure what ZvezdanD's thought would be, I'd guess he'd be all for it. As a user, I give my big thumbs up on that. I just started using MN and have read all the details in this thread, plus what's on the original website and quite frankly I still don't think I have a total understanding of the power of this script do to the lack of a concise doc file.

Re: Magic Nodes manual

Posted: Thu Jan 10, 2008 11:58 am
by ZvezdanD
renowden wrote:RTFM was a valid response to my query, but you must admit that such a manual does not really exist
I didn't mentioned that there exists some kind of manual, but only information what is changed/renamed/added which is essential for using of the new versions of the script. In meantime, I added Important section to the top of the first post with abstracted the most significant parts.
renowden wrote:would it be acceptable/desirable for me to produce such a manual for the current version of Magic Notes
Of course it would be acceptable. I am waiting all the time for someone to suggest me something similar. I would be really grateful if you or somebody else write some nice manual for MN. I don't know English language very well to do something like that and I think it is much better if I spend my time in improving the script itself then writing such thing.

Well, next major upgrade of the script will be much more user-friendly and maybe such manual wouldn't be so useful as it could be in this moment. But anyway, I have a plan to incorporate help file (CHM or similar) with this version and your text could be used for it. Pablo wrote very nice tutorial and it could be used also, because it already gave me a permission for this. I especially recommend his "Downloadable help file" as a reference (http://magicnodes.110mb.com/magicnodes.htm).

Manual for Magic Nodes 1.6.2 on Media Monkey 3

Posted: Thu Jan 10, 2008 1:49 pm
by renowden
OK, so here goes - I hope my bandwidth can stand it.

The first draft of the manual can be found at

http://west-penwith.org.uk/misc/MagicNodes.pdf

I am sure there are stupid mistakes, misleading passages and all sorts of other errors in there but it is a start and we will get it right in the end.

Re: Manual for Magic Nodes 1.6.2 on Media Monkey 3

Posted: Thu Jan 10, 2008 6:08 pm
by ZvezdanD
renowden wrote:OK, so here goes - I hope my bandwidth can stand it.
It is very good and I am very satisfied. I have just a few suggestions and some corrections:

- MediaMonkey should be without the space character (it is not "Media Monkey").

- "Media Monkey provides no conductor node." This was with MM2, but it is not correct for MM3. Instead, you could replace Conductor with Lyricist which is not built-in node of MM yet.

- Maybe reference table should contain one additional column where you could state which fields are multi-item (Artist, Album Artist, Genre, Tempo, Mood, Occasion, Quality). Cover Type field is not multi-item in same sense as previous, but could return multiple values for each song as well. Maybe there is some another field with similar behavior, but I can't remember in this moment.

- You should mention in table that Date fields (added, modified, last played) are displayed in YYYY-MM-DD format.

- "ISRC - Not sure what this is" - International Standard Recording Code (if there is something you don't know, take a look on Wikipedia: http://en.wikipedia.org/wiki/Isrc)

- Path field could be used only inside of the Filter qualifier, not as a node branch; it contain same data as SongPath database field which is somewhat different then information displayed in Path column of the tracklist (there is no drive letter in the front).

- Lyrics field could be used in a same way as Path (only inside of the Filter qualifier, not as a node). Please, remove "Does not seem to work?".

- Track number field could be used only inside of the the Filter, Sort by and Statistic qualifiers, not as a node.

- Instead of "$" sign for Sort by/Statistic fields, I suggest "%" or "^" characters. "$" character could be used for signing some features which exists only in commercial Gold version of the program (although I don't know what could be mentioned about that).

- "Album Artist with Album" - description should be "Album Artist followed by Album (used to be Album and Year in an earlier version of Magic
Nodes)."

- "Album with Album Artist" - description is almost correct, but "in an earlier version of Magic Nodes" should be inside of parenthesis, immediately after "used to be".

- You should remove the space character after ":" in all qualifiers, e.g. "Show tracks: yes|no" should be "Show tracks:yes|no". I could modify the script to enable such syntax, but currently the space is not accepted.

- "Show tracks:yes|no - This doesn’t seem to work in MM3". - Please, remove this description. If you find some bug, you should report it to me first. Same state for description in the Local qualifiers table.

- "SQL filter:... - I don’t know anything about this ..." - Please, remove this description.

- "Left of" and "Right of" description should contain plural in "specified characters", not single "character".

- Instead "Controls whether an “All” value is displayed" - should be "Controls whether a node with all possible tracks (filtered or not) is displayed" or something like that.

- Instead of "Controls whether an “Unknown” value is displayed" - should be "Controls whether a node with unknown values is displayed"

- Show Sort Key should be alphabetically before Show Tracks and Top before Trim.

- Below of some tables as is Global qualifier you have a description with something like "Where bold indicates the default setting." - you should add description of "|" character which is used to separate several possible values.

- Maybe you should write a Content page and the Introduction chapter could be separated on 3-4 smaller, easier to follow parts. Also, you should write your name somewhere in the begin of the document.

Maybe we should continue with a discussion about this with PM, but maybe someone else wants to join with comments in improving this document? Anyway, thank you very much for doing this. If you don't mind, I could put a link to this document in the first post of this thread and maybe on the download page in my site.

Posted: Fri Jan 11, 2008 2:54 am
by paul_leclerc
Just to add my 2 euro's worth, I have read over the 1st post many times and read the original MagicNodes docs several times and still walk away puzzled. I know SQL very well, am a programmer by profession and still have problems following the different examples. I copy & paste examples and get errors and I get frustrated.

This is not a criticism of your English skills or your people skills at all. I think it's a combination of the unique ways people want to view their data, having to support both 2.x and 3.x of MediaMonkey, the format of the MN patterns, etc. Some of this can be fixed with good examples in a cookbook like style with lots of reference sections. Some of this can be improved with a change in the UI for MN to break out the different pieces of the patterns.

I am actually amazed at the work that you have done and deeply appreciate your efforts. I will be reviewing the PDF file just posted and your comments to see if it helps *ME* better understand things. Somehow something is not clear for *ME*.

Posted: Fri Jan 11, 2008 4:23 am
by renowden
Thanks for your review and comments Zvezdan, all are justified. I have corrected the PDF and uploaded a second draft.

The TOC is a bit rough as I can't figure out how to do it properly in OpenOffice!

My notes about things I found that I didn't understand were interim markers - I feel we need to say a bit more about SQL filters but I don't know enough about it yet - perhaps a few more simple but informative examples would do the job. I think we also need to say a bit more about filter expressions and their syntax - or, in both cases, refer people to some external document for the parser if one is available.

I see now why I couldn't get Lyrics to work, I was trying to use it in a node.

I think there is a problem with Show tracks: as a Global Qualifier in MM3, I didn't know whether it was a bug or a feature.

I had to dig the stuff about Left of: and Right of: out of the script as I could see no mention of it elsewhere.

Your English is pretty good, much better than some I have seen. Mine isn't brilliant even as a native - it is because we are techies.

Feel free to PM me (I will check to see if I have that enabled) but I work full time so replies may be delayed.

You are welcome to put a link to the PDF wherever you like - or if you prefer you cn host it once we have ironed out the errors. I was wondering if PDF was the right format or if it should be coded up as HTML?

Posted: Fri Jan 11, 2008 6:19 am
by Bex
Good work guys. Keep it up!

Posted: Fri Jan 11, 2008 6:25 am
by ZvezdanD
There is a revision of the script (1.6.2.1) with removed a bug about Show tracks in root node.

Posted: Fri Jan 11, 2008 6:51 am
by ZvezdanD
paul_leclerc wrote:still have problems following the different examples. I copy & paste examples and get errors and I get frustrated.
Please, could you specify which examples don't work? Before that, please read Important section from the first post which I added recently.
paul_leclerc wrote:Some of this can be fixed with good examples in a cookbook like style with lots of reference sections.
Actually, I thought to suggest Rick to add more examples, but I didn't wanted to ask to much from him. There is very nice examples of useful masks in this forum (not only in this thread), you should use Search option on the top of page and type for example "SQL filter" or something similar.
paul_leclerc wrote:Some of this can be improved with a change in the UI for MN to break out the different pieces of the patterns.
Yes, of course. Next major upgrade on which I am currently working will allow users to create simple masks without typing single character, but I need a time to finish this.