I do (still) agree that Zone Groups would be a useful addition to Media Center.
However, for me, I think a lot of the need for Zone Groups would be eliminated with
a revamp of the DSP Preset system. In fact, some of what I had originally wanted Zone Groups for, would be handled better by DSP Presets.
DSP Presets handle the per-track changes that you want, and Zones handle per-device changes.
Zone Grouping, for me, was a way to have a single playlist for a group of disparate output devices, and have MC intelligently switch between them.
Your suggestions sound a lot more like the existing Zone Linking system, only with a way to assign a name to each link.
Where Zone Grouping would be useful to me is when I have a mixture of say 2.0 and 5.1 audio tracks that I want to play.
I want to have a single playlist which contains both types of track, but each type is handled by a separate playback device.
Currently, with no way of grouping those zones together, you end up with two separate playlists playing simultaneously. Or you have to convert everything to 2.0 or 5.1
I want to be able to play to my "Video Group" and which has a single playlist, and it will automatically switch between devices depending on which Sub-Zone it should play in.
Zones and Zone Groups would be presented as Playing Now destinations on the same level, i.e. you get a list of all the individual zones plus all the zone groups. Or, if you like, the individual zone definitions are just that and not exposed, and default zone groups are created consisting of the individual zones. Maybe that's the way to think about backward compatibility - change the back-end to expose zone groups to the client as zones.
This gets really tricky. If you have, for example:
Downstairs Rooms:- Entryway
- Living Room
- Dining Room
- Kitchen
And you can choose to
either play to an individual room or the group as a whole, you have a lot of potential conflicts to deal with.
If you are currently playing to the "downstairs rooms" group, which plays music in all rooms, what happens when someone tries to play different audio in the kitchen?
Or what if someone is listening to their own music in the living room, and someone else starts playing different music to the "downstairs rooms" group?
Does the last command override everything?
Should it ignore rooms which are already playing music? What if you
wanted to override a room and play music everywhere?
Should it prompt the user and ask every time?
What if you're playing music in the kitchen, start playing different music to the group but
not the kitchen, and then 20 minutes later decide you want to add the kitchen back in without interrupting playback?