Step 4: Rules
Set the constraints that keep your schedule varied and free of repetition.
Go to Music Scheduling > Settings > Rules.
Rules are constraints the scheduler checks every candidate track against, to keep your schedule varied and free of repetition.
Rule list
The Music Rules page groups your rules into Unbreakable and Breakable sections, then by rule type. Click a rule type to expand it and see its description and each rule of that type, with its scope and threshold. Inactive rules are shown dimmed. Use the edit button to change a rule, or the delete button to remove it (you'll be asked to confirm).
Creating a rule
Click Create Rule and fill in:
- Rule Type: select from the available types (see Rule types below).
- Breakable: choose Unbreakable (the candidate is rejected and the scheduler tries another) or Breakable (the track can still be placed, and the violation is logged as an issue).
- Scope: All audio items, Music only or Non-music only.
- Value and Unit: the threshold for the rule, for example "3 Hours" or "90 Minutes". For time-based rules, use Minutes, Hours or Days.
- Priority (1-10): rules are checked with unbreakable rules first, then from highest to lowest priority.
- Active Rule: toggle whether the rule is currently enforced.
Click Create Rule to save it.
Rule types
| Group | Rule type | What it checks |
|---|---|---|
| Separation | Primary artist separation | The same artist was scheduled or played within the time set by Value and Unit |
| Separation | Secondary artist separation | Currently checked the same way as primary artist separation |
| Separation | Related artist separation | A related artist (for example, a solo artist and their band) was scheduled or played within the time window |
| Separation | Audio item separation | The exact same track was scheduled or played within the time window |
| Separation | Title separation | A track with the same title (for example, a cover version) was scheduled or played within the time window |
| Separation | Tag separation | A track sharing one of the same tags was scheduled or played within the time window |
| Rotation | Hour rotation | The same track was scheduled or played within the last number of hours set by Value |
| Rotation | Daypart rotation | The same track is already scheduled in the same daypart on the same day |
| Rotation | Yesterday, same hour | The same track was scheduled or played in the same hour yesterday |
| Flow and adjacent | Genre flow, Genre adjacent | The track shares a genre with the track before it |
| Flow and adjacent | Tempo flow | The track has exactly the same BPM as the track before it |
| Flow and adjacent | Tempo adjacent | The BPM changes by more than Value from the track before it |
| Flow and adjacent | Tag flow, Tag adjacent | The track shares a tag with the track before it |
| Flow and adjacent | Vocal gender adjacent | The track has the same vocal gender as the track before it |
| Flow and adjacent | Mood adjacent | The track has the same mood as the track before it |
| Flow and adjacent | Energy flow, Energy adjacent | The energy level changes by more than Value from the track before it |
Separation, rotation and "yesterday, same hour" rules look at both the schedule being generated and your station's play history. A rule is skipped for a track that's missing the information it checks, such as BPM or mood.
Custom field separation, Custom field flow and Custom field adjacent rules can be created, but they aren't applied when schedules are generated yet.
Time windows
By default, a rule applies at all times. You can restrict it to particular hours under Active Time Windows:
Breakable vs unbreakable
- Unbreakable: the scheduler rejects any candidate that violates this rule and tries the next one. Use this for critical constraints like artist separation.
- Breakable: the scheduler prefers tracks that don't break the rule, but if it has to, it places the track anyway and logs the violation as an issue. Use this for softer preferences like genre flow.
See Breakable vs unbreakable rules in Key concepts for more.
Next: Step 5: Pass orders.