From 412795aa8a656ae84f6e9653343af7a6ee7a66a5 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Tue, 13 Feb 2024 13:31:10 -0600 Subject: [PATCH] feat: add additional speakertrack commands --- src/CiscoCodecJoinMap.cs | 60 ++++++++++++++++++++++++++++++++++++++++ src/CiscoRoomOsCodec.cs | 51 ++++++++++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) diff --git a/src/CiscoCodecJoinMap.cs b/src/CiscoCodecJoinMap.cs index de6cf10..6b0afb4 100644 --- a/src/CiscoCodecJoinMap.cs +++ b/src/CiscoCodecJoinMap.cs @@ -519,6 +519,66 @@ public class CiscoCodecJoinMap : VideoCodecControllerJoinMap JoinType = eJoinType.Digital }); + [JoinName("SpeakerTrackGroupDeactivate")] + public JoinDataComplete SpeakerTrackGroupDeactivate = new JoinDataComplete( + new JoinData + { + JoinNumber = 451, + JoinSpan = 1, + }, + new JoinMetadata + { + Description = "Deactivate SpeakerTrack Group mode", + JoinCapabilities = eJoinCapabilities.ToFromSIMPL, + JoinType = eJoinType.Digital + } + ); + + [JoinName("SpeakerTrackGroupActivate")] + public JoinDataComplete SpeakerTrackGroupActivate = new JoinDataComplete( + new JoinData + { + JoinNumber = 452, + JoinSpan = 1, + }, + new JoinMetadata + { + Description = "Activate SpeakerTrack Group mode.", + JoinCapabilities = eJoinCapabilities.ToFromSIMPL, + JoinType = eJoinType.Digital + } + ); + + [JoinName("SpeakerTrackFramesDeactivate")] + public JoinDataComplete SpeakerTrackFramesDeactivate = new JoinDataComplete( + new JoinData + { + JoinNumber = 453, + JoinSpan = 1, + }, + new JoinMetadata + { + Description = "Deactivate SpeakerTrack Frames mode", + JoinCapabilities = eJoinCapabilities.ToFromSIMPL, + JoinType = eJoinType.Digital + } + ); + + [JoinName("SpeakerTrackFramesActivate")] + public JoinDataComplete SpeakerTrackFramesActivate = new JoinDataComplete( + new JoinData + { + JoinNumber = 454, + JoinSpan = 1, + }, + new JoinMetadata + { + Description = "Activate SpeakerTrack Frames mode.", + JoinCapabilities = eJoinCapabilities.ToFromSIMPL, + JoinType = eJoinType.Digital + } + ); + #endregion diff --git a/src/CiscoRoomOsCodec.cs b/src/CiscoRoomOsCodec.cs index 975b9c6..7b9e881 100644 --- a/src/CiscoRoomOsCodec.cs +++ b/src/CiscoRoomOsCodec.cs @@ -5339,6 +5339,11 @@ public void LinkCiscoCodecToApi(BasicTriList trilist, CiscoCodecJoinMap joinMap) } }); + trilist.SetSigTrueAction(joinMap.SpeakerTrackFramesActivate.JoinNumber, SpeakerTrackFramesOn); + trilist.SetSigTrueAction(joinMap.SpeakerTrackFramesDeactivate.JoinNumber, SpeakerTrackFramesOff); + trilist.SetSigTrueAction(joinMap.SpeakerTrackGroupActivate.JoinNumber, SpeakerTrackGroupOn); + trilist.SetSigTrueAction(joinMap.SpeakerTrackGroupDeactivate.JoinNumber, SpeakerTrackGroupOff); + DirectorySearchInProgress.LinkInputSig(trilist.BooleanInput[joinMap.DirectorySearchBusy.JoinNumber]); PresentationActiveFeedback.LinkInputSig(trilist.BooleanInput[joinMap.PresentationActive.JoinNumber]); @@ -5829,6 +5834,8 @@ public void SpeakerTrackOn() CameraMuteOff(); } + EnqueueCommand("xCommand Cameras SpeakerTrack Closeup Activate"); + EnqueueCommand("xCommand Cameras SpeakerTrack Frames Deactivate"); EnqueueCommand("xCommand Cameras SpeakerTrack Activate"); } @@ -5843,6 +5850,49 @@ public void SpeakerTrackOff() } + public void SpeakerTrackGroupOn() + { + if (CameraIsOffFeedback.BoolValue) + { + CameraMuteOff(); + } + + EnqueueCommand("xCommand Cameras SpeakerTrack Closeup Deactivate"); + EnqueueCommand("xCommand Cameras SpeakerTrack Frames Deactivate"); + EnqueueCommand("xCommand Cameras SpeakerTrack Activate"); + } + + public void SpeakerTrackGroupOff() + { + if (CameraIsOffFeedback.BoolValue) + { + CameraMuteOff(); + } + + EnqueueCommand("xCommand Cameras SpeakerTrack Deactivate"); + } + + public void SpeakerTrackFramesOn() + { + if (CameraIsOffFeedback.BoolValue) + { + CameraMuteOff(); + } + + EnqueueCommand("xCommand Cameras SpeakerTrack Frames Activate"); + EnqueueCommand("xCommand Cameras SpeakerTrack Activate"); + } + + public void SpeakerTrackFramesOff() + { + if (CameraIsOffFeedback.BoolValue) + { + CameraMuteOff(); + } + + EnqueueCommand("xCommand Cameras SpeakerTrack Deactivate"); + } + #endregion @@ -5874,6 +5924,7 @@ public void PresenterTrackFollow() CameraMuteOff(); } + EnqueueCommand("xCommand Cameras SpeakerTrack Deactivate"); EnqueueCommand("xCommand Cameras PresenterTrack Set Mode: Follow"); }