I have the current Denon/Marantz ...
I know about Marantz/Denon processors. That's why I'm currently using the Yamaha CX-A5000.
In my 6 zone example, it would obviously be impossible to set up a rule to let the JRiver decide which audio device to use ( the receiver or the USB DAC ) -- only I can decide that (manually).
Correct, because you duplicated your rule for 4.0/5.0 non-classical. You are specifically sending it to zone 4, but you are saying it should go to zone 6 because zone 6 = "Non-Classical, regardless of number of channels".
This makes it impossible for the computer to "decide" between zone 4 and 6, except by precedence: first match controls (as I said before). However, this sort of conflict in definition is not really the problem it might at first appear to be, because...
I don't mind selecting the audio device manually.
Good, because many people use ZoneSwitch in this way to automatically route traffic through different configurations of a
manually selected device. In other words, the user selects the output device manually, and the computer selects which configuration (zone) of that device should be used based on rules. This matches your use case.
This functionality works because when you configure ZoneSwitch, it implicitly creates associations between different zones when those zones are mentioned in corresponding ZoneSwitch rules, using the "Play in this zone" and "Stop Playback in these zones" settings.
Here's a simple English-language example of ZoneSwitch rules to help you understand:
Rule 1: Play Classical in Zone "Unprocessed Sound". Stop Playback in Zone "Processed Sound".
Rule 2: Play Non-Classical in Zone "Processed Sound". Stop Playback in Zone "Unprocessed Sound"
These rules create an association between the "Unprocessed Sound" and "Processed Sound" zones, because both rules mention both zones in a mutually-exclusive way. Rule 1 and Rule 2 are a "Rule Set" because they talk about all zones in the association, and only zones in the association.
Now imagine a second set of rules:
Rule 3: Play Classical in Zone "Dac1". Stop Playback in Zone "Dac2".
Rule 4: Play Non-Classical in Zone "Dac2". Stop Playback in Zone "Dac1"
In this second rule-set, an association is created between the Dac1 and Dac2 zones. Now you have two rule-sets.
Zones from Rule-set 1 are not mentioned in Rule-set 2, nor vice versa. This is what keeps them as separate Rule Sets. Note: there is no place in the interface where you explicitly "name" rule-sets. It's implicit, not explicit. To help keep it straight, you should add a common rule-set name to the start of your "Display Name" for each rule you create.
The trick is "How do you know which rule-set is active? If it's simply precedence, Rule-Set 2 would NEVER engage."
The answer is: When you have multiple rule-sets, created through segregated mutually exclusive associations, the controlling rule-set is derived from the zone that is active when playback begins.Thus, if you manually select the Dac2 zone, and then start playback, only rules from the rule-set that contains the Dac2 zone will be enforced. During playback, MC will freely switch between zones mentioned in that rule-set, as the rules dictate. Stop playback, and at that point, either Dac1 or Dac2 will be active. Restart Playback, and that rule-set will still be controlling.
But stop playback, manually select the "Processed Sound" zone, and then start playback, and what happens? The "Processed Sound" zone is in Rule-Set 1. So now Rule-Set 1 will be the set of rules that is enforced.
This is the way ZoneSwitch works.
Also, as I mentioned previously, the sort of thing you want can also be achieved by combining ZoneSwitch with automatic DSP Presets. I personally don't like the way auto DSP Presets are implemented, but you might like it because it would let you reduce the number of Zones you create (in your scenario, 2 zones would be required for each physical output device).
The information I've given you should be enough for you to figure the rest of the way for yourself. Good luck...
Hopefully a mod or the OP will modify the title of this thread to include "ZoneSwitch" since that will be helpful to others who are searching for a better understanding on this topic.