¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Combinable / Divisible Rooms


 

I've done a bunch of combinable rooms in my time.? Sometimes they are fun, sometimes not so much.? They usually give you a sense of pride and accomplishment when they work well though, especially the more complicated ones.

Last week, I just worked on a 2x2 quad combinable room that had 6-7 combine possibilities (it was going to be more, but we found out one of the air-walls weren't all the way across and couldn't be opened in all the ways we though it could.? Luckily, these were fairly small functionality rooms, so it wasn't too bad.

Some tips I would give:
1) make sure you know all the possible combine states that will be required, this is important and determins the best method to the whole program.

2) figure out if all the panels in a combined space need control, or if only a master panel will control the larger space.? This changes depending on requirements, but if only a single panel needs to control a combined space, this is less programming, as you don't have to worry about the 2nd or 3rd panel doing everything as well.

4) Find out how you are going to combine everything in the audio DSP (if one) and determine the best way to handle audio.? In other words, when rooms are separate, each room has it's own volume fader.? When combined, do you need to have both of those faders track each other using code, or can you just adjust the master rooms fader.? The answer to this depends on how the DSP configuration is being created.? I usually discuss with the person doing the DSP config ahead of time so I know how much work I have to do.

3) I would recommend NOT using cross points (but this may be a personal choice).? Buffers make things easier IMHO, and are not crazy in these cases, but Cross-points can make some headache of code.? I've worked behind someone who used cross-points on a system, and I couldn't make heads or tails of it without major code study, and even the original programmer was having a hard time making some of the requirements work out, because the cross-points were painting him in a corner.? When rooms combine, they are not separate zones, they are one large room, so cross-points aren't the best choice to me.? Cross-points are better when you have a "1 to many" relationship, or a "many to many" relationship.? This isn't the relationship that a combinable room has in most cases.

4)? for routing, program every source from all the rooms to be able to route to every display in every room from a single buffer (even a disabled buffer to use a placeholder).? When all the signals and routes are setup to route anything anywhere (as an abstraction), then no matter the combined mode, you have signals and code defined for how to route something to where you need it to go.? An example of this would be say there are 2 rooms, with 2 dispalys each, and each room has 10 inputs.? I would create a buffer for a single display that has signals to route all 20 inputs to the single display and the code after the buffer to handle this (switcher code, projector code, etc.).? Then duplicate this for the next projector, and so on, so that you have code pre-defined to route anywhere.? This gives you a generic routing ability that you can then drive from other buffers depending on how the rooms are combined, and what sources are available at any given time.? Not sure if I explained this well or not, but hopefully you get the gist.

5)? If more than 2 rooms are involved, and especially over 3 rooms, then TruthTables can be your friend to determine configurations and what rooms are combined with what.

I usually allow combining to happen "on-the-fly" at any point.? This makes things more convenient for the users.? This way they don't have to shutdown if they decide to open a wall up and make the room bigger.

If there are partition sensors, then great, if not, I usually try to make only one panel have control of room combine states (usually a master panel, or the head of the room, or whatever makes the most sense for the room layout and such.? (sometimes all of them will need this capability, but since it's a function that can screw up other rooms if they are being used, I try not to do that unless specifically requested).? In any case, I usually add buttons that mimic the partition sensors, so that if they add sensors in later, the logic is already there, I just need to drive it from a sensor instead of a toggle button.? So if there are 3 rooms A,B,C,? I will have 2 buttons, one labeled "Combine A&B", and another that says "Combine B&C" that can be toggled on/off.? In this scenario, the middle room B would have this option on the panel and A and C wouldn't, since B is kind of naturally the master room.? If that is to complicated to use for the end user, I have done all the layouts as separate buttons, such as "All Separate", "A&B Combined", "B&C Combined", "All Combined" etc., but then the logic diverges from how partition sensors would work, so you'd have to rework that if sensors were ever added down the road.

Final Tip:? Plan, plan plan, don't paint yourself into a corner.? Abstract as much as you can, so when changes come up (they will), you aren't chasing spaghetti code trying to make it work in all the combine possibilities.

-jason

Join [email protected] to automatically receive all group messages.