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

Download and get help for different MediaMonkey Addons.

Moderators: Peke, Gurus

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Re: Again Field occasion

Post by ZvezdanD » Sun Dec 23, 2007 4:03 am

Poison Joe wrote:need help with the field "Occasion". What's wrong with this MagicNode: ... I remember some revisions before 1.5.0.2 this works fine.
I am really grateful for your reporting of a problem with the script. Unfortunately, a problem like this is difficult to reproduce for me because it depends of specific data in the database file. So, if you want to help me to remove a bug, I could only suggest that you send me your MM.DB file, packed with Zip, 7Z or Rar. If you don't know, location of the database file in MM3 is c:\Documents and Settings\<Your_name>\Local Settings\Application Data\MediaMonkey\. You could use some free file sharing server like http://www.yousendit.com. Before you do that, I suggest that you try again same MN mask with 1.4.3.1 version of the script, to be sure that a bug appeared in the last version of the script. Thank you.

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD » Sun Dec 23, 2007 4:47 am

nynaevelan wrote:1. ... Result: Shows me both tracks that have played today and yesterday
I didn't modified anything with this specific field, so same problem should be with the previous version of the script as well. Could you try the next mask:

Code: Select all

Played Today|SQL filter:CAST(julianday('now') - julianday('1899-12-30') - date(Songs.LastTimePlayed) AS integer) = 0\<genre>\<artist>
Could you also try your mask in the morning and in the evening? :) Seriously, there could be a problem with date/time functions which depends of the period of a day (before and after the midnight) - if this is a case, date() function could resolve that.
nynaevelan wrote:2. ... Result: Gives me an invalid call or argument at line 1308 Column 4
Count(Length) is not longer supported by the script. From the last version, Count function only accepts All, Tracks and Items arguments. You could read about that in the first post of this thread under Information about last version.

Instead of Length you should use All or Tracks (currently, they have same effect).
nynaevelan wrote:3. ... Result: Shows me both tracks that have added today and yesterday
Same answer as for 1. Please try to replace Songs.DateAdded with date(Songs.DateAdded).
nynaevelan wrote:4. MN: Played Yesterday|filter:DAYS SINCE LAST PLAYED < 0\<genre>\<artist>

or

Played Today|SQL filter:CAST(julianday('now') - julianday('1899-12-30') - Songs.LastTimePlayed AS integer) - 1\<genre>\<artist>

Result: Nothing
Same answer as for 1. Additionally, this masks are incorrect because of used conditions. In the first example (Played yesterday), instead of < 0 you should write = 1. In the second example (Played today), instead of - 1 you should write = 0. But in this second example, I suppose you wrote incorrectly "Played today" instead of "Played yesterday", so the condition in this example should be also = 1.

Thank you very much for reporting all of this and sorry for your inconvenience. Your testing are very valuable to me.

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD » Sun Dec 23, 2007 5:01 am

I should give one big apologize to all of you people. I am working very hard on the next major upgrade of this script, mainly on its user interface and I really don't have to much time to test all possible conditions of the database engine itself. Please, try to understand this and don't blame me to much for some bugs. I'll try to remove all of them, but you should help me with testing. Thanks!

MM3 monkey
Posts: 445
Joined: Mon Aug 27, 2007 2:34 am

3.4 stars

Post by MM3 monkey » Sun Dec 23, 2007 8:07 am

You can ignore this bcos you're busy but I'm feeling a bit special and proud of myself at the moment:

I've got a song that's rated 3.4 stars!

Cool, eh?

(Maybe it's an RC6 thing but) MM says it's got 3.5 stars but it's under my 'rating magic node' in a 3.4 stars node.

My mask:

Code: Select all

Rating|child of:location\<rating|statistic:count(all)|sort order:desc>\<Album artist|Sort by:Count(all)|Sort Order:Desc>\<Album>
It's the same in other nodes involving rating (but not the in-built MM one).

Any thoughts?

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Re: 3.4 stars

Post by ZvezdanD » Sun Dec 23, 2007 9:27 am

MM3 monkey wrote:MM says it's got 3.5 stars but it's under my 'rating magic node' in a 3.4 stars node.
Your report is valuable as usual, but this one should be much easier to resolve. It is interesting that same behavior this script have from the same begin, even the official one, and nobody complained about that. The answer is simple: the Rating value is stored in the database in the range from 0 to 100, and the script round a value divided by 20 to the one decimal digit. Fix for this would be in the next revision. Thanks!

MM3 monkey
Posts: 445
Joined: Mon Aug 27, 2007 2:34 am

Post by MM3 monkey » Sun Dec 23, 2007 11:23 am

But it begs the question why MM has given a song one of those ratings? Maybe it's from my MEXP days. Some of my music was rated with MEXP and saved in the tags and I've no idea how it did it. That said, it only had 5 stars, no half stars, so ... ?

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD » Sun Dec 23, 2007 12:11 pm

Well, I don't know how rating value is stored in the tags of audio files and how MEXP works with this value internally. Anyway, half stars are nothing unusual - All Music Guide have them. BTW, IMDb have one decimal digit as MN :) .

nynaevelan
Posts: 5559
Joined: Wed Feb 07, 2007 11:07 pm
Location: New Jersey, USA
Contact:

Post by nynaevelan » Sun Dec 23, 2007 12:19 pm

ZvezdanD wrote:
nynaevelan wrote:1. ... Result: Shows me both tracks that have played today and yesterday
I didn't modified anything with this specific field, so same problem should be with the previous version of the script as well. Could you try the next mask:

Code: Select all

Played Today|SQL filter:CAST(julianday('now') - julianday('1899-12-30') - date(Songs.LastTimePlayed) AS integer) = 0\<genre>\<artist>
Could you also try your mask in the morning and in the evening? :) Seriously, there could be a problem with date/time functions which depends of the period of a day (before and after the midnight) - if this is a case, date() function could resolve that.
nynaevelan wrote:2. ... Result: Gives me an invalid call or argument at line 1308 Column 4
Count(Length) is not longer supported by the script. From the last version, Count function only accepts All, Tracks and Items arguments. You could read about that in the first post of this thread under Information about last version.

Instead of Length you should use All or Tracks (currently, they have same effect).
nynaevelan wrote:3. ... Result: Shows me both tracks that have added today and yesterday
Same answer as for 1. Please try to replace Songs.DateAdded with date(Songs.DateAdded).
nynaevelan wrote:4. MN: Played Yesterday|filter:DAYS SINCE LAST PLAYED < 0\<genre>\<artist>

or

Played Today|SQL filter:CAST(julianday('now') - julianday('1899-12-30') - Songs.LastTimePlayed AS integer) - 1\<genre>\<artist>

Result: Nothing
Same answer as for 1. Additionally, this masks are incorrect because of used conditions. In the first example (Played yesterday), instead of < 0 you should write = 1. In the second example (Played today), instead of - 1 you should write = 0. But in this second example, I suppose you wrote incorrectly "Played today" instead of "Played yesterday", so the condition in this example should be also = 1.

Thank you very much for reporting all of this and sorry for your inconvenience. Your testing are very valuable to me.
Thanks for the help, I will read the new instructions and try to reconfigure my nodes.
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins

Join Dropbox, the online site to share your files

nynaevelan
Posts: 5559
Joined: Wed Feb 07, 2007 11:07 pm
Location: New Jersey, USA
Contact:

Post by nynaevelan » Tue Dec 25, 2007 3:49 pm

How do you write a node when you are interested in finding results which have a null value?

Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins

Join Dropbox, the online site to share your files

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD » Tue Dec 25, 2007 5:56 pm

nynaevelan wrote:How do you write a node when you are interested in finding results which have a null value?
If you are interested in MM3, you could write something like this:

Code: Select all

SQL filter:TypeOf(ArtistsSongs.PersonType) = 'null'
I am not sure if it will work, because word "null" should be written with small caps and MN script converts SQL filter to uppercase. I'll try to modify the script to support this if this not works. Please, let me know about a result.

BTW, did you tried my previous suggestion about nodes with date function?

nynaevelan
Posts: 5559
Joined: Wed Feb 07, 2007 11:07 pm
Location: New Jersey, USA
Contact:

Post by nynaevelan » Tue Dec 25, 2007 10:56 pm

ZvezdanD wrote:
nynaevelan wrote:How do you write a node when you are interested in finding results which have a null value?
If you are interested in MM3, you could write something like this:

Code: Select all

SQL filter:TypeOf(ArtistsSongs.PersonType) = 'null'
I am not sure if it will work, because word "null" should be written with small caps and MN script converts SQL filter to uppercase. I'll try to modify the script to support this if this not works. Please, let me know about a result.

Z:

I tried your suggestion but I think my inexperience is not enough to get a successful result. Here is what I used but I did not get any results. Please forgive my ignorance when it comes to programming, I am completely illiterate.

Code: Select all

Songs with no lyrics|SQL filter: TypeOf(Songs.lyrics) = 'null'\<Artist>
BTW, did you tried my previous suggestion about nodes with date function?
Yes I did I was going to send you a big THANK YOU after I finished testing all my current nodes and (trying to) convert them over to MM3.

Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins

Join Dropbox, the online site to share your files

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD » Wed Dec 26, 2007 2:57 am

nynaevelan wrote:I tried your suggestion ...

Code: Select all

Songs with no lyrics|SQL filter: TypeOf(Songs.lyrics) = 'null'\<Artist>
I tried this condition again and came to same conclusion - "null" should be written with lowercase characters, but the script itself converts user masks to uppercase. I need to modify it to disable this behavior.

Anyway, your mask do not need to test the condition about null, it should test if the string value is empty:

Code: Select all

Songs with no lyrics|SQL filter:Length(Songs.Lyrics) = 0\<Artist>
nynaevelan wrote:I was going to send you a big THANK YOU after I finished testing all my current nodes
Please don't get me wrong. I didn't wanted your thanks, although I am glad if you do. I just wanted to know if my sugestion works correctly, so I could modify the script to incorporate mentioned date function.

nynaevelan
Posts: 5559
Joined: Wed Feb 07, 2007 11:07 pm
Location: New Jersey, USA
Contact:

Post by nynaevelan » Wed Dec 26, 2007 8:29 am

ZvezdanD wrote:
nynaevelan wrote:I tried your suggestion ...

Code: Select all

Songs with no lyrics|SQL filter: TypeOf(Songs.lyrics) = 'null'\<Artist>
I tried this condition again and came to same conclusion - "null" should be written with lowercase characters, but the script itself converts user masks to uppercase. I need to modify it to disable this behavior.

Anyway, your mask do not need to test the condition about null, it should test if the string value is empty:

Code: Select all

Songs with no lyrics|SQL filter:Length(Songs.Lyrics) = 0\<Artist>
This worked perfectly, thank you.
nynaevelan wrote:I was going to send you a big THANK YOU after I finished testing all my current nodes
Please don't get me wrong. I didn't wanted your thanks, although I am glad if you do. I just wanted to know if my sugestion works correctly, so I could modify the script to incorporate mentioned date function.
I understand, but since I was "beta testing" I thought I would complete all of my nodes before sending in a results.

Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins

Join Dropbox, the online site to share your files

Eminent
Posts: 22
Joined: Sun Dec 11, 2005 8:57 am

Post by Eminent » Mon Dec 31, 2007 1:44 am

First of all, I'd like to to point to this thread, I'm Mikkel.

The problem occurs when changing the search setting to "entire library". This setting stays in effect without any issues until you select a Magic Node, at which point the setting reverts to "current selection" until a standard node is selected again (at which point it changes back to "entire library"). I'm using the latest versions of both MM (version 3.0.1.1127) and Magic Nodes (version 1.5.0.2).

I'm not sure whether or not it's a bug or incompability, nor whether or not it's MediaMonkey or Magic Nodes "fault". But I thought I better report it anyhow. I've also posted a bug report.

ZvezdanD
Posts: 3111
Joined: Thu Jun 08, 2006 7:40 pm

Post by ZvezdanD » Mon Dec 31, 2007 6:36 am

Eminent wrote:The problem occurs when changing the search setting to "entire library".
Thanks for the report. Unfortunately, there is very little I can do in this situation because the script itself don't change anything about search settings. AFAIK, there is no API functions for this, but I'll look further.

Post Reply