From ef0a8dd3b9e668d48e3d56cf877b41dfa4558088 Mon Sep 17 00:00:00 2001 From: Heath Volmer Date: Tue, 29 Jan 2019 15:09:45 -0700 Subject: [PATCH] Don't know, screw this --- .../Messengers/Ddvc01VtcMessenger.cs | 146 ++++++++++++------ 1 file changed, 99 insertions(+), 47 deletions(-) diff --git a/PepperDashEssentials/AppServer/Messengers/Ddvc01VtcMessenger.cs b/PepperDashEssentials/AppServer/Messengers/Ddvc01VtcMessenger.cs index 16063b3e..00aceeae 100644 --- a/PepperDashEssentials/AppServer/Messengers/Ddvc01VtcMessenger.cs +++ b/PepperDashEssentials/AppServer/Messengers/Ddvc01VtcMessenger.cs @@ -110,6 +110,27 @@ namespace PepperDash.Essentials.AppServer.Messengers /// const uint BCameraPresetStart = 821; + /// + /// 831 + /// + const uint BCameraModeAuto = 831; + /// + /// 832 + /// + const uint BCameraModeManual = 832; + /// + /// 833 + /// + const uint BCameraModeOff = 833; + /// + /// 836 + /// + const uint BCameraNearEnd = 836; + /// + /// 837 + /// + const uint BCameraFarEnd = 837; + /********* Ushorts *********/ /// /// 801 @@ -165,6 +186,10 @@ namespace PepperDash.Essentials.AppServer.Messengers /// 1057 /// const uint SDirectoryEntrySelectedNumber = 1057; + /// + /// 1058 + /// + const uint SDirectorySelectedFolderName = 1058; /// @@ -191,16 +216,6 @@ namespace PepperDash.Essentials.AppServer.Messengers ushort PreviousDirectoryLength = 0; - /// - /// For tracking the directory-selected name while waiting for number - /// - string QueuedDirectorySelectedName; - - /// - /// For tracking the directory-selected number while waiting for the name - /// - string QueuedDirectorySelectedNumber; - /// /// /// @@ -226,25 +241,25 @@ namespace PepperDash.Essentials.AppServer.Messengers EISC.SetStringSigAction(SHookState, s => { CurrentCallItem.Status = (eCodecCallStatus)Enum.Parse(typeof(eCodecCallStatus), s, true); - SendFullStatus(); // SendCallsList(); + PostFullStatus(); // SendCallsList(); }); EISC.SetStringSigAction(SCurrentCallNumber, s => { CurrentCallItem.Number = s; - SendCallsList(); + PostCallsList(); }); EISC.SetStringSigAction(SCurrentCallName, s => { CurrentCallItem.Name = s; - SendCallsList(); + PostCallsList(); }); EISC.SetStringSigAction(SCallDirection, s => { CurrentCallItem.Direction = (eCodecCallDirection)Enum.Parse(typeof(eCodecCallDirection), s, true); - SendCallsList(); + PostCallsList(); }); EISC.SetBoolSigAction(BCallIncoming, b => @@ -266,7 +281,7 @@ namespace PepperDash.Essentials.AppServer.Messengers { IncomingCallItem = null; } - SendCallsList(); + PostCallsList(); }); // Directory insanity @@ -305,6 +320,18 @@ namespace PepperDash.Essentials.AppServer.Messengers }); }); + EISC.SetStringSigAction(SDirectorySelectedFolderName, s => PostStatusMessage(new + { + directorySelectedFolderName = EISC.GetString(SDirectorySelectedFolderName) + })); + + EISC.SetSigTrueAction(BCameraModeAuto, () => PostCameraMode()); + EISC.SetSigTrueAction(BCameraModeManual, () => PostCameraMode()); + EISC.SetSigTrueAction(BCameraModeOff, () => PostCameraMode()); + + EISC.SetSigTrueAction(BCameraNearEnd, PostSelectedCamera); + EISC.SetSigTrueAction(BCameraFarEnd, PostSelectedCamera); + // Add press and holds using helper action Action addPHAction = (s, u) => AppServerController.AddAction(MessagePath + s, new PressAndHoldAction(b => EISC.SetBool(u, b))); @@ -313,7 +340,7 @@ namespace PepperDash.Essentials.AppServer.Messengers addPHAction("/cameraLeft", BCameraControlLeft); addPHAction("/cameraRight", BCameraControlRight); addPHAction("/cameraZoomIn", BCameraControlZoomIn); - addPHAction("/cameraZoonOut", BCameraControlZoomOut); + addPHAction("/cameraZoomOut", BCameraControlZoomOut); // Add straight pulse calls using helper action Action addAction = (s, u) => @@ -325,14 +352,22 @@ namespace PepperDash.Essentials.AppServer.Messengers addAction("/speedDial2", BSpeedDial2); addAction("/speedDial3", BSpeedDial3); addAction("/speedDial4", BSpeedDial4); + addAction("/cameraModeAuto", BCameraModeAuto); + addAction("/cameraModeManual", BCameraModeManual); + addAction("/cameraModeOff", BCameraModeOff); + addAction("/cameraFarEnd", BCameraFarEnd); + addAction("/cameraNearEnd", BCameraNearEnd); + + + // camera presets for(uint i = 0; i < 6; i++) { addAction("/cameraPreset" + (i + 1), BCameraPresetStart + i); } - asc.AddAction(MessagePath + "/isReady", new Action(SendIsReady)); + asc.AddAction(MessagePath + "/isReady", new Action(PostIsReady)); // Get status - asc.AddAction(MessagePath + "/fullStatus", new Action(SendFullStatus)); + asc.AddAction(MessagePath + "/fullStatus", new Action(PostFullStatus)); // Dial on string asc.AddAction(MessagePath + "/dial", new Action(s => EISC.SetString(SCurrentDialString, s))); // Pulse DTMF @@ -389,22 +424,18 @@ namespace PepperDash.Essentials.AppServer.Messengers { EISC.PulseBool(BDirectoryRoot); } - })); - //asc.AddAction(MessagePath + "/directorySelectLine", new Action(u => - //{ - // EISC.SetUshort(UDirectorySelectRow, u); - // EISC.PulseBool(BDirectoryLineSelected); - //})); + })); } /// /// /// - void SendFullStatus() + void PostFullStatus() { this.PostStatusMessage(new { calls = GetCurrentCallList(), + cameraMode = GetCameraMode(), currentCallString = EISC.GetString(SCurrentCallNumber), currentDialString = EISC.GetString(SCurrentDialString), directoryContactSelected = new @@ -412,10 +443,13 @@ namespace PepperDash.Essentials.AppServer.Messengers name = EISC.GetString(SDirectoryEntrySelectedName), number = EISC.GetString(SDirectoryEntrySelectedNumber) }, + directorySelectedFolderName = EISC.GetString(SDirectorySelectedFolderName), isInCall = EISC.GetString(SHookState) == "Connected", hasDirectory = true, + hasDirectorySearch = false, hasRecents = true, - hasCameras = true + hasCameras = true, + selectedCamera = GetSelectedCamera(), }); } @@ -460,35 +494,53 @@ namespace PepperDash.Essentials.AppServer.Messengers PostStatusMessage(directoryMessage); } + /// + /// + /// + void PostCameraMode() + { + PostStatusMessage(new + { + cameraMode = GetCameraMode() + }); + } /// /// /// - //void SendDirectorySelectedNameNumberWhenReady() - //{ - // if (!string.IsNullOrEmpty(QueuedDirectorySelectedName) && - // !string.IsNullOrEmpty(QueuedDirectorySelectedNumber)) - // { - // var qName = QueuedDirectorySelectedName; - // var qNum = QueuedDirectorySelectedNumber; - // QueuedDirectorySelectedName = null; - // QueuedDirectorySelectedNumber = null; - // PostStatusMessage(new - // { - // directoryContactSelected = new - // { - // name = qName, - // number = qNum - // } - // }); + /// + string GetCameraMode() + { + string m; + if (EISC.GetBool(BCameraModeAuto)) m = "auto"; + else if (EISC.GetBool(BCameraModeManual)) m = "manual"; + else m = "off"; + return m; + } - // } - //} + void PostSelectedCamera() + { + PostStatusMessage(new + { + selectedCamera = GetSelectedCamera() + }); + } /// /// /// - void SendIsReady() + string GetSelectedCamera() + { + string m; + if (EISC.GetBool(BCameraNearEnd)) m = "camera1"; + else m = "cameraFar"; + return m; + } + + /// + /// + /// + void PostIsReady() { PostStatusMessage(new { @@ -499,7 +551,7 @@ namespace PepperDash.Essentials.AppServer.Messengers /// /// /// - void SendCallsList() + void PostCallsList() { PostStatusMessage(new {