diff --git a/program/Crescendo Loft.lpz b/program/Crescendo Loft.lpz index 0ff3bf5..60089b8 100644 Binary files a/program/Crescendo Loft.lpz and b/program/Crescendo Loft.lpz differ diff --git a/program/Crescendo Theater.lpz b/program/Crescendo Theater.lpz index 9e02130..b75a2e8 100644 Binary files a/program/Crescendo Theater.lpz and b/program/Crescendo Theater.lpz differ diff --git a/program/Crescendo Theater.sig b/program/Crescendo Theater.sig index a75a2fd..be3de2a 100644 Binary files a/program/Crescendo Theater.sig and b/program/Crescendo Theater.sig differ diff --git a/program/Keypad.um2 b/program/Keypad.um2 index b184040..3d06dbe 100644 --- a/program/Keypad.um2 +++ b/program/Keypad.um2 @@ -4,7 +4,7 @@ Version=1 [ ObjTp=FSgntr Sgntr=UserMacro -RelVrs=4.05.04 +RelVrs=4.06.01 IntStrVrs=2 MinSMWVrs=2.07.04 MinTIOVrs=0 @@ -16,14 +16,14 @@ S0Nd=1 S1Nd=2 SLNd=3 PrNm=Keypad.umc -DbVr=60.00.006.00 -DvcDbVr=80.00.002.00 +DbVr=61.06.001.00 +DvcDbVr=82.00.002.00 PgmNm=Adelyte Company CltNm=Keypad Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816, McNm=Keypad -SmVr=1016 -DvVr=1016 +SmVr=1024 +DvVr=1024 TpN1=1 TpN2=2 TpN3=3 @@ -702,7 +702,6 @@ n2I=308 n1O=453 Cmn1=C5[ID]h\\ mI=1071 -I12=9 I212=196 I213=195 I214=197 @@ -725,7 +724,7 @@ I344=310 I345=311 mO=761 tO=1070 -O1=9 +O1=17 O321=55 O322=56 O323=57 @@ -1045,11 +1044,6 @@ Nm=__K__Room_Source_Route!... ] [ ObjTp=Sg -H=9 -Nm=__K__Source_Connected -] -[ -ObjTp=Sg H=10 Nm=//__K__Generic_Route SgTp=2 @@ -1088,6 +1082,11 @@ SgTp=4 ] [ ObjTp=Sg +H=17 +Nm=//__K__Source_Connected +] +[ +ObjTp=Sg H=18 Nm=//__K__Room_Connected ] diff --git a/program/Keypad.umc b/program/Keypad.umc index 3d06dbe..5e4d1a5 100644 --- a/program/Keypad.umc +++ b/program/Keypad.umc @@ -4,7 +4,7 @@ Version=1 [ ObjTp=FSgntr Sgntr=UserMacro -RelVrs=4.06.01 +RelVrs=4.09.04 IntStrVrs=2 MinSMWVrs=2.07.04 MinTIOVrs=0 @@ -16,14 +16,14 @@ S0Nd=1 S1Nd=2 SLNd=3 PrNm=Keypad.umc -DbVr=61.06.001.00 -DvcDbVr=82.00.002.00 +DbVr=66.00.002.00 +DvcDbVr=90.05.002.00 PgmNm=Adelyte Company CltNm=Keypad Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816, McNm=Keypad -SmVr=1024 -DvVr=1024 +SmVr=1050 +DvVr=1050 TpN1=1 TpN2=2 TpN3=3 @@ -987,7 +987,7 @@ O1=18 O33=89 O36=75 O46=15 -O52=79 +O53=79 O268=46 O284=76 O297=16 diff --git a/program/Rooms-Sources Controller.ush b/program/Rooms-Sources Controller.ush index d58e3d3..8bc86bf 100755 --- a/program/Rooms-Sources Controller.ush +++ b/program/Rooms-Sources Controller.ush @@ -15,8 +15,8 @@ [BEGIN] ObjTp=Symbol Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,718,756,854, - Exclusions_CDS=5 - Inclusions_CDS=6 + Exclusions_CDS= + Inclusions_CDS=5,6 Name=Rooms-Sources Controller SmplCName=Rooms-Sources Controller.usp Code=1 diff --git a/program/Rooms-Sources Controller.usp b/program/Rooms-Sources Controller.usp index c692540..9b6faf6 100755 --- a/program/Rooms-Sources Controller.usp +++ b/program/Rooms-Sources Controller.usp @@ -223,13 +223,34 @@ PUSH Listen_Source PUSH Share_Source { INTEGER share, room; + STRING __Sources__[#SOURCES_MAX]; share = GETLASTMODIFIEDARRAYINDEX(); room = ShareToRoom(share); IF(room = 0) TERMINATEEVENT; + + IF(Room_Sources_Is[room] = "") + { + __Sources__ = Default_Available_Sources; + } + ELSE IF(Room_Sources_Is[room] = "\x00") + { + __Sources__ = ""; + } + ELSE + { + __Sources__ = Room_Sources_Is[room]; + } - MAKESTRING(Room_Source[room], "\x50%c", Source_Is); + IF(FIND(CHR(Source_Is), __Sources__)) + { + MAKESTRING(Room_Source[room], "\x50%c", Source_Is); + } + ELSE IF(FIND(CHR(#AUDIO_VIDEO_ID_OFFSET + Source_Is), __Sources__)) + { + MAKESTRING(Room_Source[room], "\x50%c", #AUDIO_VIDEO_ID_OFFSET + Source_Is); + } } PUSH Share_Power_Off @@ -753,13 +774,21 @@ FUNCTION UpdateShareVisible(INTEGER room) RETURN; } - IF(room = Room_Is) + IF(room = IdToIndex(Room_Is)) { Share_Visible[share] = 0; } ELSE { Share_Visible[share] = FIND(CHR(Source_Is), __Sources__); + + IF(Share_Visible[share] = 0) + { + IF(Source_Is < #AUDIO_VIDEO_ID_OFFSET) + { + Share_Visible[share] = FIND(CHR(#AUDIO_VIDEO_ID_OFFSET + Source_Is), __Sources__); + } + } } }