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
{