MegaDJ v2.59 [MM3+4] 2012: Better compatibility + time fix

Download and get help for different MediaMonkey Addons.

Moderators: Peke, Gurus

cotp
Posts: 46
Joined: Fri May 11, 2007 7:53 am
Location: France
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by cotp »

Hello :)

Someone pointed out this script on another post since I want to achieve a special sorting with not twice the same artist. Maybe someone will be nice to explain me how I can do it with this script. here is the excerpt from original post:
cotp wrote:I want to create an auto list with different artists that I select but then I want to sort artists and not have two songs that follow each other with the same artist. Could be able maybe to display the space before the same artists comes again.

Example with 4 artists.

When I use Random sorting I now have:
Artist1
Artist1
Artist1
Artist2
Artist1
Artist1
Artist3
Artist3
Artist1
Artist4


and I would like with mimium space 2.
Artist1
Artist2
Artist4
Artist3
Artist2
Artist1
Artist3
Artist4
Artist1
Artist2
Thanks in advance to those who will help me on that.

I first tried using the script by writing "Artist equals Artist1|Artist2|Artist3|Artist4" but it didn't work.

Cotp
twinbee
Posts: 180
Joined: Tue May 13, 2008 2:36 am
Location: England
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by twinbee »

The nearest way you can go about doing this is to probably set up say 4 nodes to represent the 4 artists (each node click Advanced, and then the 'Random' button, and perhaps with "No Dupes") and then use a 5th node like:

rotate(ArtistNode1, ArtistNode2, ArtistNode3, ArtistNode4).

... to rotate consecutively between the 4 artists.
MegaDJ v2 - Lightning fast and easy to use search to replace the standard AutoPlaylist. Features include random jukebox style playlists, along with syncing, weighting options, and logic complete querying.
cotp
Posts: 46
Joined: Fri May 11, 2007 7:53 am
Location: France
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by cotp »

twinbee wrote:The nearest way you can go about doing this is to probably set up say 4 nodes to represent the 4 artists (each node click Advanced, and then the 'Random' button, and perhaps with "No Dupes") and then use a 5th node like:

rotate(ArtistNode1, ArtistNode2, ArtistNode3, ArtistNode4).

... to rotate consecutively between the 4 artists.

Thanks twinbee, I did what you said and.. it worked ;)

Now 2 comments:
1 do have Arist1 - Artiste 2 - Artist 3 - Artist 4 - Artist 1 etc...
but what I would like to try to achive is a Random where we do not have twice the same Artist but a true random :
instead of 1234 - 1234 -1234 i would like something like 1342123421421 see what I mean ?

A problem also with this is I have to create a node for EVERY artist I want which can be quickly a pain... if someone comes up with an easier solution, would be greatly appreciated...

Thanks nevertheless :) happy to play around ^^

Cotp
twinbee
Posts: 180
Joined: Tue May 13, 2008 2:36 am
Location: England
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by twinbee »

Yes, another one to add to the todo feature list by the looks of it.
MegaDJ v2 - Lightning fast and easy to use search to replace the standard AutoPlaylist. Features include random jukebox style playlists, along with syncing, weighting options, and logic complete querying.
monkey maniac

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by monkey maniac »

Hi,
How do I make a filter where it adds the songs based on its ratings & on a bell curve?

For example: 3 is played more often, 5 i played a little less & 1 is played a lot less..
Thanks!
Bman

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by Bman »

I created an awesome filter with megadj that biases towards higher rated songs, unrated songs and unplayed songs.

I've just noticed that the resulting playlist is sorted rather than random, so the artist is now grouped together. I don't recall this behaviour before, maybe I changed a setting accidently.

Is there a way to remove the sorting or to sort by random?

As a dirty fix I've got the now playing list playing in random mode but I'd prefer if now playing played sequentially but was ordered randomly (so I can see the random song that is playing next)...
twinbee
Posts: 180
Joined: Tue May 13, 2008 2:36 am
Location: England
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by twinbee »

Bman, try clicking on the "Now Playing" node and back to the MDJ node again. That's the best we can do until Mediamonkey supports the basic number # "sorting type" on non-playlist nodes.

monkey maniac, for a bell curve type distribution try entering this into the math filter (don't forget to select the "random" math filter type):

( 1 *2.718)^(-((rating-2.5)^2/(2* 1 ^2)))

You can alter the "1" numbers in the above formula to get different types of bell curve.
MegaDJ v2 - Lightning fast and easy to use search to replace the standard AutoPlaylist. Features include random jukebox style playlists, along with syncing, weighting options, and logic complete querying.
Bman

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by Bman »

Ok that seemed to sort them in a randomesque form, thanks for that twinbee!
Bman

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by Bman »

Twinbee (or anyone else), can you help me with this problem?

I've managed to make the following script which biases towards unrated and highly rated songs within the path Happy Hard:
if(rating<0, 8, 1.5^rating)&SongPath~"Happy Hard"

Now I'm trying to add a further condition whereby any track not played within the last 20 days is 'boosted' - I just scaled down (x0.8) ratings of songs heard within the last 20 days as I thought this would result in less computations...

I tried nesting the following within the script: if(lastplayedage<20,0.8^rating)

The end result being: if(rating<0, 8, 1.5^rating, if(lastplayedage<20,0.8^rating))&SongPath~"Happy Hard"

But I get an error, please edit math filter.

I'm sure I'm just making a rookie error, not being a programmer, what am I doing wrong?

I'd also like to take on a phrase that will bias towards songs never played.

Thanks in advance.
twinbee
Posts: 180
Joined: Tue May 13, 2008 2:36 am
Location: England
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by twinbee »

Hi,

Each If condition must always have 3 sections to it. You have 4 in your first "If" (the 4th is the second If itself!) and 2 sections in your second "If". Let me know if that's not clear and I can explain it more. Maybe you're looking for something more like:
if(rating<0, 8, 1.5^rating * if(lastplayedage<20,0.8^rating,1)) & SongPath~"Happy Hard"
MegaDJ v2 - Lightning fast and easy to use search to replace the standard AutoPlaylist. Features include random jukebox style playlists, along with syncing, weighting options, and logic complete querying.
Guest

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by Guest »

Thanks mate, I think I understand; the 3 parts basically being IF X THEN Y ELSE Z?

Will my new rating value from the first IF statement carry over to the second IF statement?

For example:
In the first IF statement, a song has a rating of 0 - this is converted to 8 automatically.
If this song is also not played in the last 20 days will it then be 8 x 0.8? Or will the second IF statement just use the actual rating of the song (0 x 0.8)?

Couple of syntax questions:
* is just a separator, so once I'm done with one line I just put one of those on the end?
and ^ is that multiply or square? If square, what's multiply?
Onweerwolf
Posts: 666
Joined: Tue Dec 12, 2006 5:32 pm
Location: The Netherlands
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by Onweerwolf »

I have two questions:

1) Where is the SyncMegaDJ playlist supposed to end up? I can't find it under my playlists.

2) How do I get back to the set sort order in a node once I've sorted a node by something else using main song list view?
Image
brian@stellargraphix.com

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by brian@stellargraphix.com »

Is there a way to limit tracks per artist. If I happen to have 1000 Tom Petty tracks and 20 ACDC tracks and I don't necessarily want to hear more Tom Petty.... so let's say the goal would be to add no more than 15 tracks per artist. Or if I want to do a neat playlist of 1 track per artist... so one-hit-wonders and top 40 superhero groups get equal airplay.

Thanks!
Bman

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by Bman »

brian@stellargraphix.com - Having the ability to limit songs by artist would be pretty awesome, I think I read somewhere that it's not implemented...

My script
I think I was a bit confused in what my script actually did. I interpreted ^ as multiply and * as end of expression... Oops

Now I've come up with the following: if(rating<0, 8, 1.5*rating * if(lastplayedage<10,0.8*rating,1))&SongPath~"Happy Hard"

This will:
1. Apply a rating of 8 for any unrated song and 1.5 x rating for any rated song.

2. Apply a 0.8 multiplier to any song played within last 10 days.

3. Finally, only songs from Happy Hard folder will be played...

Am I correct??? It seems to be working correctly.
twinbee
Posts: 180
Joined: Tue May 13, 2008 2:36 am
Location: England
Contact:

Re: MegaDJ v2.54 [MM3] - (2011-01-03) (escape char added)

Post by twinbee »

Thanks mate, I think I understand; the 3 parts basically being IF X THEN Y ELSE Z?
Yep. If you click the math drop down list, you'll see that at the bottom too.
If this song is also not played in the last 20 days will it then be 8 x 0.8? Or will the second IF statement just use the actual rating of the song
I think the latter if I understand you correctly, but I can't see where you got the 0x0.8 from as 1.5^0 = 1 not 0.
* is just a separator, so once I'm done with one line I just put one of those on the end?
Nope * means multiply (see the drop down box).
and ^ is that multiply or square?
All in the drop down box again, ^ means exponentiation or "to the power of". so 3^2 = 9, and 3*2 = 6.
1) Where is the SyncMegaDJ playlist supposed to end up? I can't find it under my playlists.
It is called "SyncMegaDJ", and yeah it should come under the Playlists section. Strangely enough, when I open it, there are no tracks there. Could be a bug (I don't know when this started to happen though...).
2) How do I get back to the set sort order in a node once I've sorted a node by something else using main song list view?
I would love MM to have a number sort field like it does for the playlists, but that's out of my hands. For now the only solution is to click to the "Now Playing" node and then back again to the MDJ node.
Is there a way to limit tracks per artist. If I happen to have 1000 Tom Petty tracks and 20 ACDC tracks and I don't necessarily want to hear more Tom Petty.... so let's say the goal would be to add no more than 15 tracks per artist. Or if I want to do a neat playlist of 1 track per artist... so one-hit-wonders and top 40 superhero groups get equal airplay.
Currently, the only way of going about this would be to set up mulitple nodes, with each node containing a particular artist, and then to use the rotate feature.
Now I've come up with the following: if(rating<0, 8, 1.5*rating * if(lastplayedage<10,0.8*rating,1))&SongPath~"Happy Hard"

This will:
1. Apply a rating of 8 for any unrated song and 1.5 x rating for any rated song.

2. Apply a 0.8 multiplier to any song played within last 10 days.

3. Finally, only songs from Happy Hard folder will be played...

Am I correct??? It seems to be working correctly.
Almost correct. Bear in mind that the 0.8 multiplier for the last 10 days won't apply to the unrated songs (8).

Also, you have 1.5*rating and 0.8*rating. I think you can omit the second "*rating", because otherwise it would be potentially be saying "1.5*rating*0.8*rating". In summary I think you want to mean:

if(rating<0, 8, 1.5*rating * if(lastplayedage<10,0.8,1))&SongPath~"Happy Hard"
MegaDJ v2 - Lightning fast and easy to use search to replace the standard AutoPlaylist. Features include random jukebox style playlists, along with syncing, weighting options, and logic complete querying.
Post Reply