Friday, January 1, 2010

Rules That Play Together Stay Together

By: Joe Knapp

One of the least-used and probably the least-understood property of the Rule Groups in MusicMaster is called Group Mode. The default setting is "Rule group fails when any included rule fails." This simply means that when MusicMaster encounters a rule failure within this group, it moves on immediately. It doesn't waste time testing the rest of the rules in the group. A failure of any rule within the group makes the entire group act like a failed rule.

If you change the Group Mode to "Rule group fails when all included rules fail," something really interesting happens. MusicMaster now moves on when it encounters a rule that passes. The Rule Group only "fails" if EVERY rule in the group fails. How might one use this setting? We'll show you one really cool way to use this right now!



We're going to create a Rule Group that has several acceptable Shift Rotation Pattern rules in it. If ANY of these patterns are followed, everything is groovy. But, if MusicMaster is not able to match ANY of the patterns, we need to dig deeper until we find a song that works.



The Shift Pattern Rotation rule lets you create acceptable movement through the different parts of the day, which we call Shifts in MusicMaster. This station has seven Shifts, so we're saying here that movement from Shift 1, to 3, to 5, to 7, to 2, to 4, to 6, is fine. Any other pattern of moving a song through the dayparts would be unacceptable -- if this was the only such rule we establish.



Here we've created an alternate pattern, now allowing songs to move from Shift 1 to 4, then 7, then 3, then 6, then 2, then 5 (then back to 1 again). If we tried to apply BOTH of these rules, MusicMaster would be pretty confused. It would try to find songs that follow the first pattern, only to find that they don't follow the second, and vice-versa. But, if we put both of these patterns into a Rule Group and set the Group Mode to "Rule group fails when all included rules fail," MusicMaster will now allow songs to follow either rotation pattern! If the song last played in Shift 1, it can now play in Shifts 3 or 4. If it last played in Shift 2, it can now play in Shift 4 or 5. Do you see why this works? Pick any Shift number and look for it in both patterns, then look at the Shift number that's right next to it.

If you added more acceptable Shift Pattern Rotation rules to the group, you could expand this even farther. MusicMaster would love you for that, since every one you add makes it that much easier to find songs that "work" in any given Shift.



Here's what our Rule Group looks like in the Rule Tree with the two alternate patterns allowed.

See if you can think of any more interesting ways to use this Group Mode. If you come up with any, please let us know!

No comments: