Fixes for UpdateCallStatusXSig() method

This commit is contained in:
Alex Johnson
2020-10-06 16:59:27 -04:00
parent decdaf9f1f
commit ad4a6e9383
2 changed files with 216 additions and 200 deletions

View File

@@ -12,8 +12,8 @@ using PepperDash.Core.WebApi.Presets;
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;
using PepperDash.Essentials.Core.Devices; using PepperDash.Essentials.Core.Devices;
using PepperDash.Essentials.Core.DeviceTypeInterfaces; using PepperDash.Essentials.Core.DeviceTypeInterfaces;
using PepperDash.Essentials.Core.Routing; using PepperDash.Essentials.Core.Routing;
using PepperDash.Essentials.Devices.Common.Cameras; using PepperDash.Essentials.Devices.Common.Cameras;
using PepperDash.Essentials.Devices.Common.Codec; using PepperDash.Essentials.Devices.Common.Codec;
@@ -61,9 +61,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
public List<CodecActiveCallItem> ActiveCalls { get; set; } public List<CodecActiveCallItem> ActiveCalls { get; set; }
public bool ShowSelfViewByDefault { get; protected set; } public bool ShowSelfViewByDefault { get; protected set; }
protected bool SupportsCameraOff; protected bool SupportsCameraOff;
protected bool SupportsCameraAutoMode; protected bool SupportsCameraAutoMode;
public bool IsReady { get; protected set; } public bool IsReady { get; protected set; }
@@ -310,22 +310,22 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
{ {
trilist.SetBool(joinMap.CameraSupportsAutoMode.JoinNumber, SupportsCameraAutoMode); trilist.SetBool(joinMap.CameraSupportsAutoMode.JoinNumber, SupportsCameraAutoMode);
LinkVideoCodecCameraModeToApi(codec as IHasCameraAutoMode, trilist, joinMap); LinkVideoCodecCameraModeToApi(codec as IHasCameraAutoMode, trilist, joinMap);
} }
if (codec is IHasCameraOff) if (codec is IHasCameraOff)
{ {
trilist.SetBool(joinMap.CameraSupportsOffMode.JoinNumber, SupportsCameraOff); trilist.SetBool(joinMap.CameraSupportsOffMode.JoinNumber, SupportsCameraOff);
LinkVideoCodecCameraOffToApi(codec as IHasCameraOff, trilist, joinMap); LinkVideoCodecCameraOffToApi(codec as IHasCameraOff, trilist, joinMap);
} }
if (codec is IHasCodecLayouts) if (codec is IHasCodecLayouts)
{ {
LinkVideoCodecCameraLayoutsToApi(codec as IHasCodecLayouts, trilist, joinMap); LinkVideoCodecCameraLayoutsToApi(codec as IHasCodecLayouts, trilist, joinMap);
} }
if (codec is IHasSelfviewPosition) if (codec is IHasSelfviewPosition)
{ {
LinkVideoCodecSelfviewPositionToApi(codec as IHasSelfviewPosition, trilist, joinMap); LinkVideoCodecSelfviewPositionToApi(codec as IHasSelfviewPosition, trilist, joinMap);
} }
if (codec is IHasDirectory) if (codec is IHasDirectory)
@@ -341,11 +341,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
if (codec is IHasParticipants) if (codec is IHasParticipants)
{ {
LinkVideoCodecParticipantsToApi(codec as IHasParticipants, trilist, joinMap); LinkVideoCodecParticipantsToApi(codec as IHasParticipants, trilist, joinMap);
} }
if (codec is IHasFarEndContentStatus) if (codec is IHasFarEndContentStatus)
{ {
(codec as IHasFarEndContentStatus).ReceivingContent.LinkInputSig(trilist.BooleanInput[joinMap.RecievingContent.JoinNumber]); (codec as IHasFarEndContentStatus).ReceivingContent.LinkInputSig(trilist.BooleanInput[joinMap.RecievingContent.JoinNumber]);
} }
trilist.OnlineStatusChange += (device, args) => trilist.OnlineStatusChange += (device, args) =>
@@ -377,75 +377,75 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
if (codec is IHasCodecSelfView) if (codec is IHasCodecSelfView)
{ {
(codec as IHasCodecSelfView).SelfviewIsOnFeedback.FireUpdate(); (codec as IHasCodecSelfView).SelfviewIsOnFeedback.FireUpdate();
}
if (codec is IHasCameraAutoMode)
{
(codec as IHasCameraAutoMode).CameraAutoModeIsOnFeedback.FireUpdate();
}
if (codec is IHasCameraOff)
{
(codec as IHasCameraOff).CameraIsOffFeedback.FireUpdate();
} }
SharingContentIsOnFeedback.FireUpdate(); if (codec is IHasCameraAutoMode)
{
(codec as IHasCameraAutoMode).CameraAutoModeIsOnFeedback.FireUpdate();
}
if (codec is IHasCameraOff)
{
(codec as IHasCameraOff).CameraIsOffFeedback.FireUpdate();
}
SharingContentIsOnFeedback.FireUpdate();
trilist.SetBool(joinMap.HookState.JoinNumber, IsInCall); trilist.SetBool(joinMap.HookState.JoinNumber, IsInCall);
UpdateCallStatusXSig(); trilist.SetString(joinMap.CurrentCallData.JoinNumber, UpdateCallStatusXSig());
}; };
} }
private void LinkVideoCodecSelfviewPositionToApi(IHasSelfviewPosition codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap) private void LinkVideoCodecSelfviewPositionToApi(IHasSelfviewPosition codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
{ {
trilist.SetSigFalseAction(joinMap.SelfviewPosition.JoinNumber, codec.SelfviewPipPositionToggle); trilist.SetSigFalseAction(joinMap.SelfviewPosition.JoinNumber, codec.SelfviewPipPositionToggle);
codec.SelfviewPipPositionFeedback.LinkInputSig(trilist.StringInput[joinMap.SelfviewPositionFb.JoinNumber]); codec.SelfviewPipPositionFeedback.LinkInputSig(trilist.StringInput[joinMap.SelfviewPositionFb.JoinNumber]);
} }
private void LinkVideoCodecCameraOffToApi(IHasCameraOff codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap) private void LinkVideoCodecCameraOffToApi(IHasCameraOff codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
{ {
trilist.SetSigFalseAction(joinMap.CameraModeOff.JoinNumber, codec.CameraOff); trilist.SetSigFalseAction(joinMap.CameraModeOff.JoinNumber, codec.CameraOff);
codec.CameraIsOffFeedback.OutputChange += (o, a) => codec.CameraIsOffFeedback.OutputChange += (o, a) =>
{ {
if (a.BoolValue) if (a.BoolValue)
{ {
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false);
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false);
return; return;
} }
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false);
var autoCodec = codec as IHasCameraAutoMode; var autoCodec = codec as IHasCameraAutoMode;
if (autoCodec == null) return; if (autoCodec == null) return;
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, autoCodec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, autoCodec.CameraAutoModeIsOnFeedback.BoolValue);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !autoCodec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !autoCodec.CameraAutoModeIsOnFeedback.BoolValue);
}; };
if (codec.CameraIsOffFeedback.BoolValue) if (codec.CameraIsOffFeedback.BoolValue)
{ {
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false);
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false);
return; return;
} }
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false);
var autoModeCodec = codec as IHasCameraAutoMode; var autoModeCodec = codec as IHasCameraAutoMode;
if (autoModeCodec == null) return; if (autoModeCodec == null) return;
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, autoModeCodec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, autoModeCodec.CameraAutoModeIsOnFeedback.BoolValue);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !autoModeCodec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !autoModeCodec.CameraAutoModeIsOnFeedback.BoolValue);
} }
private void LinkVideoCodecVolumeToApi(BasicTriList trilist, VideoCodecControllerJoinMap joinMap) private void LinkVideoCodecVolumeToApi(BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
{ {
MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMuteOn.JoinNumber]); MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMuteOn.JoinNumber]);
@@ -665,11 +665,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
tokenArray[stringIndex + 3] = new XSigSerialToken(stringIndex + 4, String.Empty); tokenArray[stringIndex + 3] = new XSigSerialToken(stringIndex + 4, String.Empty);
tokenArray[stringIndex + 4] = new XSigSerialToken(stringIndex + 5, String.Empty); tokenArray[stringIndex + 4] = new XSigSerialToken(stringIndex + 5, String.Empty);
tokenArray[stringIndex + 5] = new XSigSerialToken(stringIndex + 6, String.Empty); tokenArray[stringIndex + 5] = new XSigSerialToken(stringIndex + 6, String.Empty);
tokenArray[stringIndex + 6] = new XSigSerialToken(stringIndex + 7, String.Empty); tokenArray[stringIndex + 6] = new XSigSerialToken(stringIndex + 7, String.Empty);
digitalIndex += maxDigitals; digitalIndex += maxDigitals;
meetingIndex += offset; meetingIndex += offset;
stringIndex += maxStrings; stringIndex += maxStrings;
} }
return GetXSigString(tokenArray); return GetXSigString(tokenArray);
@@ -763,8 +763,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
() => Dial(trilist.StringOutput[joinMap.CurrentDialString.JoinNumber].StringValue)); () => Dial(trilist.StringOutput[joinMap.CurrentDialString.JoinNumber].StringValue));
//End All calls for now //End All calls for now
trilist.SetSigFalseAction(joinMap.EndCall.JoinNumber, EndAllCalls); trilist.SetSigFalseAction(joinMap.EndCall.JoinNumber, EndAllCalls);
trilist.SetBool(joinMap.HookState.JoinNumber, IsInCall); trilist.SetBool(joinMap.HookState.JoinNumber, IsInCall);
CallStatusChange += (sender, args) => CallStatusChange += (sender, args) =>
@@ -779,9 +779,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
trilist.SetSigFalseAction(joinMap.IncomingReject.JoinNumber, () => RejectCall(args.CallItem)); trilist.SetSigFalseAction(joinMap.IncomingReject.JoinNumber, () => RejectCall(args.CallItem));
} }
var callStatusXsig = UpdateCallStatusXSig(); trilist.SetString(joinMap.CurrentCallData.JoinNumber, UpdateCallStatusXSig());
trilist.SetString(joinMap.CurrentCallData.JoinNumber, callStatusXsig);
}; };
} }
@@ -790,26 +788,44 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
const int maxCalls = 8; const int maxCalls = 8;
const int maxStrings = 5; const int maxStrings = 5;
const int offset = 6; const int offset = 6;
var callIndex = 0; var stringIndex = 0;
var digitalIndex = maxStrings*maxCalls; var digitalIndex = maxStrings * maxCalls;
var arrayIndex = 0;
var tokenArray = new XSigToken[ActiveCalls.Count*offset]; //set array size for number of calls * pieces of info var tokenArray = new XSigToken[maxCalls*offset]; //set array size for number of calls * pieces of info
foreach (var call in ActiveCalls) foreach (var call in ActiveCalls)
{ {
var arrayIndex = callIndex; if (arrayIndex >= maxCalls * offset)
break;
//digitals //digitals
tokenArray[arrayIndex] = new XSigDigitalToken(digitalIndex + 1, call.IsActiveCall); tokenArray[arrayIndex] = new XSigDigitalToken(digitalIndex + 1, call.IsActiveCall);
//serials //serials
tokenArray[arrayIndex + 1] = new XSigSerialToken(callIndex + 1, call.Name ?? String.Empty); tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 1, call.Name ?? String.Empty);
tokenArray[arrayIndex + 2] = new XSigSerialToken(callIndex + 2, call.Number ?? String.Empty); tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 2, call.Number ?? String.Empty);
tokenArray[arrayIndex + 3] = new XSigSerialToken(callIndex + 3, call.Direction.ToString()); tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 3, call.Direction.ToString());
tokenArray[arrayIndex + 4] = new XSigSerialToken(callIndex + 4, call.Type.ToString()); tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 4, call.Type.ToString());
tokenArray[arrayIndex + 5] = new XSigSerialToken(callIndex + 5, call.Status.ToString()); tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 5, call.Status.ToString());
callIndex += offset; arrayIndex += offset;
stringIndex += maxStrings;
digitalIndex++;
}
while (digitalIndex < maxCalls)
{
//digitals
tokenArray[arrayIndex] = new XSigDigitalToken(digitalIndex + 1, false);
//serials
tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 1, String.Empty);
tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 2, String.Empty);
tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 3, String.Empty);
tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 4, String.Empty);
tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 5, String.Empty);
arrayIndex += offset;
stringIndex += maxStrings;
digitalIndex++; digitalIndex++;
} }
@@ -842,54 +858,54 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
private void LinkVideoCodecCameraModeToApi(IHasCameraAutoMode codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap) private void LinkVideoCodecCameraModeToApi(IHasCameraAutoMode codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
{ {
trilist.SetSigFalseAction(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeOn); trilist.SetSigFalseAction(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeOn);
trilist.SetSigFalseAction(joinMap.CameraModeManual.JoinNumber, codec.CameraAutoModeOff); trilist.SetSigFalseAction(joinMap.CameraModeManual.JoinNumber, codec.CameraAutoModeOff);
codec.CameraAutoModeIsOnFeedback.OutputChange += (o, a) => codec.CameraAutoModeIsOnFeedback.OutputChange += (o, a) =>
{ {
var offCodec = codec as IHasCameraOff; var offCodec = codec as IHasCameraOff;
if (offCodec != null) if (offCodec != null)
{ {
if (offCodec.CameraIsOffFeedback.BoolValue) if (offCodec.CameraIsOffFeedback.BoolValue)
{ {
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false);
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true);
return; return;
} }
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, a.BoolValue); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, a.BoolValue);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !a.BoolValue); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !a.BoolValue);
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false);
return; return;
} }
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, a.BoolValue); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, a.BoolValue);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !a.BoolValue); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !a.BoolValue);
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false);
}; };
var offModeCodec = codec as IHasCameraOff; var offModeCodec = codec as IHasCameraOff;
if (offModeCodec != null) if (offModeCodec != null)
{ {
if (offModeCodec.CameraIsOffFeedback.BoolValue) if (offModeCodec.CameraIsOffFeedback.BoolValue)
{ {
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, false);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, false);
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, true);
return; return;
} }
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeIsOnFeedback.BoolValue);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !codec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !codec.CameraAutoModeIsOnFeedback.BoolValue);
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false);
return; return;
} }
trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeIsOnFeedback.BoolValue);
trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !codec.CameraAutoModeIsOnFeedback.BoolValue); trilist.SetBool(joinMap.CameraModeManual.JoinNumber, !codec.CameraAutoModeIsOnFeedback.BoolValue);
trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false); trilist.SetBool(joinMap.CameraModeOff.JoinNumber, false);
} }
private void LinkVideoCodecSelfviewToApi(IHasCodecSelfView codec, BasicTriList trilist, private void LinkVideoCodecSelfviewToApi(IHasCodecSelfView codec, BasicTriList trilist,
@@ -979,7 +995,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
{ {
var i = (ushort) codec.Cameras.FindIndex((c) => c.Key == args.SelectedCamera.Key); var i = (ushort) codec.Cameras.FindIndex((c) => c.Key == args.SelectedCamera.Key);
if (codec is IHasCodecRoomPresets) if (codec is IHasCodecRoomPresets)
{ {
return; return;
} }
@@ -992,56 +1008,56 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
var cam = args.SelectedCamera as IHasCameraPresets; var cam = args.SelectedCamera as IHasCameraPresets;
SetCameraPresetNames(cam.Presets); SetCameraPresetNames(cam.Presets);
(args.SelectedCamera as IHasCameraPresets).PresetsListHasChanged += (o, eventArgs) => SetCameraPresetNames(cam.Presets); (args.SelectedCamera as IHasCameraPresets).PresetsListHasChanged += (o, eventArgs) => SetCameraPresetNames(cam.Presets);
trilist.SetUShortSigAction(joinMap.CameraPresetSelect.JoinNumber, trilist.SetUShortSigAction(joinMap.CameraPresetSelect.JoinNumber,
(a) => (a) =>
{ {
cam.PresetSelect(a); cam.PresetSelect(a);
trilist.SetUshort(joinMap.CameraPresetSelect.JoinNumber, a); trilist.SetUshort(joinMap.CameraPresetSelect.JoinNumber, a);
}); });
trilist.SetSigFalseAction(joinMap.CameraPresetSave.JoinNumber, trilist.SetSigFalseAction(joinMap.CameraPresetSave.JoinNumber,
() => () =>
{ {
cam.PresetStore(trilist.UShortOutput[joinMap.CameraPresetSelect.JoinNumber].UShortValue, cam.PresetStore(trilist.UShortOutput[joinMap.CameraPresetSelect.JoinNumber].UShortValue,
String.Empty); String.Empty);
trilist.PulseBool(joinMap.CameraPresetSave.JoinNumber, 3000); trilist.PulseBool(joinMap.CameraPresetSave.JoinNumber, 3000);
}); });
}; };
if (!(codec is IHasCodecRoomPresets)) return; if (!(codec is IHasCodecRoomPresets)) return;
var presetCodec = codec as IHasCodecRoomPresets; var presetCodec = codec as IHasCodecRoomPresets;
presetCodec.CodecRoomPresetsListHasChanged += presetCodec.CodecRoomPresetsListHasChanged +=
(sender, args) => SetCameraPresetNames(presetCodec.NearEndPresets); (sender, args) => SetCameraPresetNames(presetCodec.NearEndPresets);
//Camera Presets //Camera Presets
trilist.SetUShortSigAction(joinMap.CameraPresetSelect.JoinNumber, (i) => trilist.SetUShortSigAction(joinMap.CameraPresetSelect.JoinNumber, (i) =>
{ {
presetCodec.CodecRoomPresetSelect(i); presetCodec.CodecRoomPresetSelect(i);
trilist.SetUshort(joinMap.CameraPresetSelect.JoinNumber, i); trilist.SetUshort(joinMap.CameraPresetSelect.JoinNumber, i);
}); });
trilist.SetSigFalseAction(joinMap.CameraPresetSave.JoinNumber, trilist.SetSigFalseAction(joinMap.CameraPresetSave.JoinNumber,
() => () =>
{ {
presetCodec.CodecRoomPresetStore( presetCodec.CodecRoomPresetStore(
trilist.UShortOutput[joinMap.CameraPresetSelect.JoinNumber].UShortValue, String.Empty); trilist.UShortOutput[joinMap.CameraPresetSelect.JoinNumber].UShortValue, String.Empty);
trilist.PulseBool(joinMap.CameraPresetSave.JoinNumber, 3000); trilist.PulseBool(joinMap.CameraPresetSave.JoinNumber, 3000);
}); });
} }
private string SetCameraPresetNames(IEnumerable<CodecRoomPreset> presets) private string SetCameraPresetNames(IEnumerable<CodecRoomPreset> presets)
{ {
return SetCameraPresetNames(presets.Select(p => p.Description).ToList()); return SetCameraPresetNames(presets.Select(p => p.Description).ToList());
} }
private string SetCameraPresetNames(IEnumerable<CameraPreset> presets) private string SetCameraPresetNames(IEnumerable<CameraPreset> presets)
{ {
return SetCameraPresetNames(presets.Select(p => p.Description).ToList()); return SetCameraPresetNames(presets.Select(p => p.Description).ToList());
} }
private string SetCameraPresetNames(ICollection<string> presets) private string SetCameraPresetNames(ICollection<string> presets)

View File

@@ -1402,7 +1402,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
} }
public override void StartSharing() public override void StartSharing()
{ {
throw new NotImplementedException(); SendText("zCommand Call Sharing HDMI Start");
} }
/// <summary> /// <summary>