Closed patrickhampson closed 8 years ago
By design, the Room
module does not sync its source state from its associated switchers. Source selection is expected to push from a room to switchers—not pull from switchers to a room.
Your question could apply to two different use cases, the first of which I have addressed as an example of what not to do.
This use case is not very useful because it requires spaghetti code and leads to layers of bugs. It is a good example of how elementary SIMPL programming can go awry and how mucking with the internal state of a finite state machine is not a good idea.
Depending on the audio/video signal path, room power feedback needs to be some combination of AND
s and OR
s. For example:
Source_Output_Is_Audio AND Receiver_Power_Is_On
OR
Source_Output_Is_Audio/Video AND TV_Power_Is_On AND Receiver_Power_Is_On
OR
Source_Output_Is_Video AND TV_Power_Is_On
To implement, modify Room
as follows:
Power_Is_On_Override
.__R__Power_Is_On
on S-4.1.2.1
.Power_Is_On_Override
to __R__Power_Is_On
.Continuing with this approach, override Current_Source$
and test to find that the source name and icon sync but volume controls still do not work. Take a deep dive into the framework and begin a wholesale rewrite of Room
, or give up and proceed to the second use case.
Use the input feedback from the switcher driver to trigger a source selection on the [Source~]
input slot of the room. For example, if the surround receiver is switcher 01, the room is 01, and the AirPlay source is 81:
X-01__Input_Is_AirPlay > Serial Send "\x50\x81" > R-01__Source~ > [Source~]
We do this all the time to turn on conference and presentation rooms based on video sync, like when a presenter plugs in a laptop.
This worked perfectly! Thank you very much. I would love to see an explanation of how the other inputs can be used in the docs.
Crescendo Docs will cover this and other techniques. Thank you for raising the issue @patrickhampson!
How can I update or sync the state of a room to match the current state of the equipment? For example if a receiver is turned on via airplay, change touch panels to show that the "Airplay" source is active and the room is on.
Thanks!