INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Expression Confusion (Mix() problem, I think)  (Read 1013 times)

bunglemebaby

  • Galactic Citizen
  • ****
  • Posts: 469
Expression Confusion (Mix() problem, I think)
« on: January 05, 2010, 09:50:39 am »

I'm trying to create a mildly complicated search expression, as follows, but I'm getting unexpected results, as detailed in the linked picture.
Essentially, I'd like to have a mix of genres/styles (limited to 5 of each style), with a heavier percentage of highly rated songs.
Code: [Select]
[Media Categories]=[Music]
[Genre]=[Classical],[Electro],[Jazz],[Rock],[Urban],[World]
[Style]=[Ambient],[Classical],[Downtempo],[Rock - Art],[Rock - Folk],[Rock - Post],[Rock - Soft],[Soundscape],[Trip-Hop],[World],[Chamber],[Avant-Garde],[Drum n' Bass],[Electronica],[Funk],[NeoProg],[Traditional Jazz]
-[Moods]=[Funny],[Sedate],[Somber]
[Last Played]=>2w [Last Skipped]=>3w
~limit=-1,5,[Style]
~limit=-1,1,[Artist]
~mix=1000,45%,{[Rating]=>3},30%,{[Rating]=3},25%,{[Rating]=2}
~sort=Random
~t=4h

http://www.pix01.com/gallery/2F09E72F-4806-4C14-BE36-ABD7F1D9E97F/MC/bigpage.html?image=82854780_orig0.jpg


I tried using ~nodup=[Artist],[Name] , but all this accomplished was removing the duplicate songs leaving me with a list that doesn't follow the Mix() parameters. I'm assuming that my problem is with the Mix() expression, but I just can't figure out what from the documentation and my experimenting.

Any thought or pointers?

-JB
Logged

marko

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8971
Re: Expression Confusion (Mix() problem, I think)
« Reply #1 on: January 05, 2010, 12:34:52 pm »

Using lots of complex modifiers can often produce unexpected results, especially the ~mix modifier...

Your ~mix rule looks fine, but, what you need to know is that the list that the ~mix rule has to work with has been heavily filtered by all the rules that precede it. What this means is that, if there are not 1000 tracks in the list for the ~mix to work with, it will add duplicates until the parameters specified in the ~mix are met.

You could try moving the ~mix rule above the two ~limit rules, but then you must also bear in mind that once the ~mix rule has produced it's 1000 tracks, those tracks will then be further trimmed by the limit rules and then again by the time restriction, which will upset the overall percentages specified by ~mix

To see what I mean more clearly, try removing the ~mix, ~sort and ~t rules from above and check your list now. This list is what ~mix will have to work with once you add it back in.... are there 1000 files in the list?
If not, ~mix will recycle the available tracks until there are 1000 listed.

-marko.

bunglemebaby

  • Galactic Citizen
  • ****
  • Posts: 469
Re: Expression Confusion (Mix() problem, I think)
« Reply #2 on: January 05, 2010, 02:07:18 pm »

Ah, clarity begins to seep in...

Moving the Mix() rule up higher does indeed work better. The overall percentages stay close enough to what I want for this method to be plenty useful, for this purpose at least. Playing with the number of tracks included in the Mix() rule also aids in getting good results, now that I can see what I'm doing here.

It turns out I shot myself in the foot with the 4 hour limit at the end. There's no way I was going to notice that the Mix() rule was filling out the 1000 file portion of the rule with only 40-50 tracks in the total list.

Thanks a ton for the help, again, Marko. My MC experience has been much richer thanks to your help.
-Jon
Logged
Pages: [1]   Go Up