Updates to VideoCodecControllerJoinMap to fix joins for Participant triggers. Updated ZoomRoomJoinMaps to implement zConfiguration.eLayoutStyle to pass the name across the bridge.

This commit is contained in:
Jason DeVito
2021-05-11 18:13:18 -05:00
parent b4edb021ee
commit c14193f9ac
3 changed files with 2348 additions and 2340 deletions

View File

@@ -879,7 +879,7 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps
public JoinDataComplete ParticipantAudioMuteToggleStart = new JoinDataComplete( public JoinDataComplete ParticipantAudioMuteToggleStart = new JoinDataComplete(
new JoinData new JoinData
{ {
JoinNumber = 500, JoinNumber = 501,
JoinSpan = 50 JoinSpan = 50
}, },
new JoinMetadata new JoinMetadata
@@ -893,7 +893,7 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps
public JoinDataComplete ParticipantVideoMuteToggleStart = new JoinDataComplete( public JoinDataComplete ParticipantVideoMuteToggleStart = new JoinDataComplete(
new JoinData new JoinData
{ {
JoinNumber = 800, JoinNumber = 801,
JoinSpan = 50 JoinSpan = 50
}, },
new JoinMetadata new JoinMetadata
@@ -907,7 +907,7 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps
public JoinDataComplete ParticipantPinToggleStart = new JoinDataComplete( public JoinDataComplete ParticipantPinToggleStart = new JoinDataComplete(
new JoinData new JoinData
{ {
JoinNumber = 1100, JoinNumber = 1101,
JoinSpan = 50 JoinSpan = 50
}, },
new JoinMetadata new JoinMetadata

View File

@@ -3,11 +3,13 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharp.Reflection;
using Crestron.SimplSharpPro.CrestronThread; using Crestron.SimplSharpPro.CrestronThread;
using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.DeviceSupport;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Core.Intersystem.Tokens;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Bridges;
using PepperDash.Essentials.Core.Config; using PepperDash.Essentials.Core.Config;
@@ -53,7 +55,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
_receiveQueue = new CrestronQueue<string>(1024); _receiveQueue = new CrestronQueue<string>(1024);
// The thread responsible for dequeuing and processing the messages // The thread responsible for dequeuing and processing the messages
_receiveThread = new Thread(o => ProcessQueue(), null) {Priority = Thread.eThreadPriority.MediumPriority}; _receiveThread = new Thread(o => ProcessQueue(), null) { Priority = Thread.eThreadPriority.MediumPriority };
Communication = comm; Communication = comm;
@@ -82,7 +84,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
PhonebookSyncState = new CodecPhonebookSyncState(Key + "--PhonebookSync"); PhonebookSyncState = new CodecPhonebookSyncState(Key + "--PhonebookSync");
PortGather = new CommunicationGather(Communication, "\x0A") {IncludeDelimiter = true}; PortGather = new CommunicationGather(Communication, "\x0A") { IncludeDelimiter = true };
PortGather.LineReceived += Port_LineReceived; PortGather.LineReceived += Port_LineReceived;
CodecOsdIn = new RoutingInputPort(RoutingPortNames.CodecOsd, CodecOsdIn = new RoutingInputPort(RoutingPortNames.CodecOsd,
@@ -348,7 +350,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
public void GetDirectoryFolderContents(string folderId) public void GetDirectoryFolderContents(string folderId)
{ {
var directoryResults = new CodecDirectory {ResultsFolderId = folderId}; var directoryResults = new CodecDirectory { ResultsFolderId = folderId };
directoryResults.AddContactsToDirectory( directoryResults.AddContactsToDirectory(
DirectoryRoot.CurrentDirectoryResults.FindAll(c => c.ParentFolderId.Equals(folderId))); DirectoryRoot.CurrentDirectoryResults.FindAll(c => c.ParentFolderId.Equals(folderId)));
@@ -953,7 +955,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
var eType = var eType =
(eZoomRoomResponseType) (eZoomRoomResponseType)
Enum.Parse(typeof (eZoomRoomResponseType), message["type"].Value<string>(), true); Enum.Parse(typeof(eZoomRoomResponseType), message["type"].Value<string>(), true);
var topKey = message["topKey"].Value<string>(); var topKey = message["topKey"].Value<string>();
@@ -1488,7 +1490,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
if (callStatus != zStatus.eCallStatus.IN_MEETING && callStatus != zStatus.eCallStatus.CONNECTING_MEETING) if (callStatus != zStatus.eCallStatus.IN_MEETING && callStatus != zStatus.eCallStatus.CONNECTING_MEETING)
{ {
Debug.Console(1, this, "Creating new Status.Call object"); Debug.Console(1, this, "Creating new Status.Call object");
Status.Call = new zStatus.Call {Status = callStatus}; Status.Call = new zStatus.Call { Status = callStatus };
SetUpCallFeedbackActions(); SetUpCallFeedbackActions();
} }
@@ -1510,7 +1512,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
break; break;
} }
var newCall = new CodecActiveCallItem {Status = newStatus}; var newCall = new CodecActiveCallItem { Status = newStatus };
ActiveCalls.Add(newCall); ActiveCalls.Add(newCall);
@@ -1620,7 +1622,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
public override void MuteOff() public override void MuteOff()
{ {
SetVolume((ushort) _previousVolumeLevel); SetVolume((ushort)_previousVolumeLevel);
} }
public override void MuteOn() public override void MuteOn()
@@ -1735,6 +1737,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
== (a.AvailableLayouts & zConfiguration.eLayoutStyle.Strip)); == (a.AvailableLayouts & zConfiguration.eLayoutStyle.Strip));
trilist.SetBool(joinMap.LayoutShareAllIsAvailable.JoinNumber, zConfiguration.eLayoutStyle.ShareAll trilist.SetBool(joinMap.LayoutShareAllIsAvailable.JoinNumber, zConfiguration.eLayoutStyle.ShareAll
== (a.AvailableLayouts & zConfiguration.eLayoutStyle.ShareAll)); == (a.AvailableLayouts & zConfiguration.eLayoutStyle.ShareAll));
// pass the names used to set the layout through the bridge
trilist.SetString(joinMap.LayoutGalleryIsAvailable.JoinNumber, zConfiguration.eLayoutStyle.Gallery.ToString());
trilist.SetString(joinMap.LayoutSpeakerIsAvailable.JoinNumber, zConfiguration.eLayoutStyle.Speaker.ToString());
trilist.SetString(joinMap.LayoutStripIsAvailable.JoinNumber, zConfiguration.eLayoutStyle.Strip.ToString());
trilist.SetString(joinMap.LayoutShareAllIsAvailable.JoinNumber, zConfiguration.eLayoutStyle.ShareAll.ToString());
}; };
layoutsCodec.CanSwapContentWithThumbnailFeedback.LinkInputSig(trilist.BooleanInput[joinMap.CanSwapContentWithThumbnail.JoinNumber]); layoutsCodec.CanSwapContentWithThumbnailFeedback.LinkInputSig(trilist.BooleanInput[joinMap.CanSwapContentWithThumbnail.JoinNumber]);
@@ -1826,7 +1834,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
public override void Dial(Meeting meeting) public override void Dial(Meeting meeting)
{ {
Debug.Console(1, this,"Dialing meeting.Id: {0} Title: {1}", meeting.Id, meeting.Title); Debug.Console(1, this, "Dialing meeting.Id: {0} Title: {1}", meeting.Id, meeting.Title);
SendText(string.Format("zCommand Dial Start meetingNumber: {0}", meeting.Id)); SendText(string.Format("zCommand Dial Start meetingNumber: {0}", meeting.Id));
} }
@@ -2030,7 +2038,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
{ {
var user = Participants.CurrentParticipants.FirstOrDefault(p => p.UserId.Equals(userId)); var user = Participants.CurrentParticipants.FirstOrDefault(p => p.UserId.Equals(userId));
if(user == null) if (user == null)
{ {
Debug.Console(2, this, "Unable to find user with id: {0}", userId); Debug.Console(2, this, "Unable to find user with id: {0}", userId);
return; return;
@@ -2153,7 +2161,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
#region Implementation of IHasPhoneDialing #region Implementation of IHasPhoneDialing
private Func<bool> PhoneOffHookFeedbackFunc {get {return () => Status.PhoneCall.OffHook; }} private Func<bool> PhoneOffHookFeedbackFunc { get { return () => Status.PhoneCall.OffHook; } }
private Func<string> CallerIdNameFeedbackFunc { get { return () => Status.PhoneCall.PeerDisplayName; } } private Func<string> CallerIdNameFeedbackFunc { get { return () => Status.PhoneCall.PeerDisplayName; } }
private Func<string> CallerIdNumberFeedbackFunc { get { return () => Status.PhoneCall.PeerNumber; } } private Func<string> CallerIdNumberFeedbackFunc { get { return () => Status.PhoneCall.PeerNumber; } }
@@ -2182,7 +2190,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
public event EventHandler<LayoutInfoChangedEventArgs> AvailableLayoutsChanged; public event EventHandler<LayoutInfoChangedEventArgs> AvailableLayoutsChanged;
private Func<bool> LayoutViewIsOnFirstPageFeedbackFunc {get {return () => Status.Layout.is_In_First_Page; } } private Func<bool> LayoutViewIsOnFirstPageFeedbackFunc { get { return () => Status.Layout.is_In_First_Page; } }
private Func<bool> LayoutViewIsOnLastPageFeedbackFunc { get { return () => Status.Layout.is_In_Last_Page; } } private Func<bool> LayoutViewIsOnLastPageFeedbackFunc { get { return () => Status.Layout.is_In_Last_Page; } }
private Func<bool> CanSwapContentWithThumbnailFeedbackFunc { get { return () => Status.Layout.can_Switch_Floating_Share_Content; } } private Func<bool> CanSwapContentWithThumbnailFeedbackFunc { get { return () => Status.Layout.can_Switch_Floating_Share_Content; } }
private Func<bool> ContentSwappedWithThumbnailFeedbackFunc { get { return () => Configuration.Call.Layout.ShareThumb; } } private Func<bool> ContentSwappedWithThumbnailFeedbackFunc { get { return () => Configuration.Call.Layout.ShareThumb; } }
@@ -2512,7 +2520,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
{ {
public ZoomRoomFactory() public ZoomRoomFactory()
{ {
TypeNames = new List<string> {"zoomroom"}; TypeNames = new List<string> { "zoomroom" };
} }
public override EssentialsDevice BuildDevice(DeviceConfig dc) public override EssentialsDevice BuildDevice(DeviceConfig dc)

View File

@@ -119,7 +119,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
{ {
Description = "FB Indicates if layout 'Gallery' is available", Description = "FB Indicates if layout 'Gallery' is available",
JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinCapabilities = eJoinCapabilities.ToSIMPL,
JoinType = eJoinType.Digital JoinType = eJoinType.DigitalSerial
}); });
[JoinName("LayoutSpeakerIsAvailable")] [JoinName("LayoutSpeakerIsAvailable")]
@@ -133,7 +133,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
{ {
Description = "FB Indicates if layout 'Speaker' is available", Description = "FB Indicates if layout 'Speaker' is available",
JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinCapabilities = eJoinCapabilities.ToSIMPL,
JoinType = eJoinType.Digital JoinType = eJoinType.DigitalSerial
}); });
[JoinName("LayoutStripIsAvailable")] [JoinName("LayoutStripIsAvailable")]
@@ -147,7 +147,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
{ {
Description = "FB Indicates if layout 'Strip' is available", Description = "FB Indicates if layout 'Strip' is available",
JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinCapabilities = eJoinCapabilities.ToSIMPL,
JoinType = eJoinType.Digital JoinType = eJoinType.DigitalSerial
}); });
[JoinName("LayoutShareAllIsAvailable")] [JoinName("LayoutShareAllIsAvailable")]
@@ -161,7 +161,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
{ {
Description = "FB Indicates if layout 'ShareAll' is available", Description = "FB Indicates if layout 'ShareAll' is available",
JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinCapabilities = eJoinCapabilities.ToSIMPL,
JoinType = eJoinType.Digital JoinType = eJoinType.DigitalSerial
}); });
//[JoinName("ParticipantAudioMuteToggleStart")] //[JoinName("ParticipantAudioMuteToggleStart")]