When adding a channel (a permament one) it would be perfect to have a choice of selecting a preset channelstructure for squad tactics.
By squad tactics I mean a pyramid structure with a top level branching out to subchannels one or more steps. The thing is that depending on which channel you are in (and the access may of course be restricted by ACL as usual but should be more visual, like right klicking on a channel and mark list of users as approved for entering the channel) you have your normal PTT for your channel, one for higher channels ("commanders" would then have one or more for the closest sub channels) and perhaps one for broadcasting to channels on the same level. Most important thing is - this need to be visualized with arrows between channels, maybe on a separate window (same window that's used for creating the "Team" channel" and selecting its size and levels).
[The ACL is really an app killer. It has given me a sleeping disorder and I can't get it to work as the manual says it should (may be a problem on my side of course but if mumble is to reach the status it deserves this need to be adressed, not everyone has time to dig in to the ACL world).]
As a first step, the auto-channel function can be done with a script, I think, using regular ACLs and channels. If more levels are needed, just add sub-channels with the "auto" function as an inheritance. The need for a few extra whisper buttons might prove more challenging to auto-create for users entering the channel, a set of three whisper buttons minimum need to be defined by the user standardised as F-keys. For a commander it would probably be acceptable to use F-keys for sub groups. The second step with the visualization might prove more tricky. Perhaps Freemind have something to contribute with (building visual trees and connecting them with arrows (either with arrow head on one or two sides to signify speaking/listening rights)? Providing the player with mapping info (which keys goes where could be done with overlay in the future).
A squad structure is very powerful. For instance, when playing Red Orchestra we have each tankcrew in a separate channel. When need arises they can broadcast to other tank crews. These channels are positioned in a team channel in the RO-game channel. Any players in the team channel but not in a squad channel have the same ability to speak amongst themselves and then broadcasting to all squad channels effectively creating a commander channel. With ACL a second function can be added to commanders so that they each have a whisper function to reach only a set subchannel (or made with channel structure). Apart from the last bit this is a really simple set-up using only a whisper command sending to the above level and then down to sub channels. The RO game channel (under the root channel) has an ACL where whispering is denied for all effectively stopping the team from disturbing casual players. So far so good.
I have yet to add more teams though, but the same structure should apply. Since squad channels only send to the parent level and down they should not interfere with other teams channels but players in different teams will whisper to eachothers squads (for emergencis it's a good thing, otherwise not). Making the team channel broadcast to current and down instead of up-then-down as for the squads this should work for communication within the team. An up-then-down whisper would then be used for inter-team speaking by this "commander class". However, the keys for this changes as they are static. I would like them to be channel dependant. For a squad member LMB is always in channel, RMB is team broadcast. For the commanders in the team "root" the same should apply but by the structure described above they would have another set of whisper data than the other players. Not very user firendly.
You see? If this could be automatic it would be a nice feather in the hat.
For positional audio: check distances between speakers and make an automatic link between squads if closer than X meters (a fictious large channel where positional data is compared between all members of the linked channel until the distance between the closest members from two teams exceeds Y meters, then brake link). Several link channels possible?
Best of luck!