diff --git a/PepperDashEssentials/AppServer/Messengers/SIMPLCameraMessenger.cs b/PepperDashEssentials/AppServer/Messengers/SIMPLCameraMessenger.cs
index bbf16cea..468331d6 100644
--- a/PepperDashEssentials/AppServer/Messengers/SIMPLCameraMessenger.cs
+++ b/PepperDashEssentials/AppServer/Messengers/SIMPLCameraMessenger.cs
@@ -8,6 +8,7 @@ using Crestron.SimplSharpPro.EthernetCommunication;
using PepperDash.Core;
using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Bridges;
using PepperDash.Essentials.Devices.Common.Cameras;
namespace PepperDash.Essentials.AppServer.Messengers
@@ -16,92 +17,96 @@ namespace PepperDash.Essentials.AppServer.Messengers
{
BasicTriList EISC;
- uint JoinStart;
+ CameraControllerJoinMap JoinMap;
- public class BoolJoin
- {
- ///
- /// 1
- ///
- public const uint CameraControlUp = 1;
- ///
- /// 2
- ///
- public const uint CameraControlDown = 2;
- ///
- /// 3
- ///
- public const uint CameraControlLeft = 3;
- ///
- /// 4
- ///
- public const uint CameraControlRight = 4;
- ///
- /// 5
- ///
- public const uint CameraControlZoomIn = 5;
- ///
- /// 6
- ///
- public const uint CameraControlZoomOut = 6;
- ///
- /// 10
- ///
- public const uint CameraHasPresets = 10;
- ///
- /// 11 - 20
- ///
- public const uint CameraPresetStart = 10;
+ //public class BoolJoin
+ //{
+ // ///
+ // /// 1
+ // ///
+ // public const uint CameraControlUp = 1;
+ // ///
+ // /// 2
+ // ///
+ // public const uint CameraControlDown = 2;
+ // ///
+ // /// 3
+ // ///
+ // public const uint CameraControlLeft = 3;
+ // ///
+ // /// 4
+ // ///
+ // public const uint CameraControlRight = 4;
+ // ///
+ // /// 5
+ // ///
+ // public const uint CameraControlZoomIn = 5;
+ // ///
+ // /// 6
+ // ///
+ // public const uint CameraControlZoomOut = 6;
+ // ///
+ // /// 10
+ // ///
+ // public const uint CameraHasPresets = 10;
+ // ///
+ // /// 11 - 20
+ // ///
+ // public const uint CameraPresetStart = 10;
- ///
- /// 21
- ///
- public const uint CameraModeAuto = 21;
- ///
- /// 22
- ///
- public const uint CameraModeManual = 22;
- ///
- /// 23
- ///
- public const uint CameraModeOff = 23;
- ///
- /// 24
- ///
- public const uint CameraSupportsModeAuto = 24;
- ///
- /// 25
- ///
- public const uint CameraSupportsModeOff = 25;
- }
+ // ///
+ // /// 21
+ // ///
+ // public const uint CameraModeAuto = 21;
+ // ///
+ // /// 22
+ // ///
+ // public const uint CameraModeManual = 22;
+ // ///
+ // /// 23
+ // ///
+ // public const uint CameraModeOff = 23;
+ // ///
+ // /// 24
+ // ///
+ // public const uint CameraSupportsModeAuto = 24;
+ // ///
+ // /// 25
+ // ///
+ // public const uint CameraSupportsModeOff = 25;
+ //}
- public class UshortJoin
- {
- ///
- /// 10
- ///
- public const uint CameraPresetCount = 10;
- }
+ //public class UshortJoin
+ //{
+ // ///
+ // /// 10
+ // ///
+ // public const uint CameraPresetCount = 10;
+ //}
- public class StringJoin
- {
- ///
- /// 11-20
- ///
- public const uint CameraPresetNameStart = 10;
- }
+ //public class StringJoin
+ //{
+ // ///
+ // /// 11-20
+ // ///
+ // public const uint CameraPresetNameStart = 10;
+ //}
public SIMPLCameraMessenger(string key, BasicTriList eisc, string messagePath, uint joinStart)
: base(key, messagePath)
{
EISC = eisc;
- JoinStart = joinStart - 1;
+ //JoinStart = joinStart - 1;
+ JoinMap = new CameraControllerJoinMap();
- EISC.SetUShortSigAction(UshortJoin.CameraPresetCount + JoinStart, (u) => SendCameraFullMessageObject());
+ JoinMap.OffsetJoinNumbers(joinStart);
- EISC.SetBoolSigAction(BoolJoin.CameraModeAuto, (b) => PostCameraMode());
- EISC.SetBoolSigAction(BoolJoin.CameraModeManual, (b) => PostCameraMode());
- EISC.SetBoolSigAction(BoolJoin.CameraModeOff, (b) => PostCameraMode());
+
+ EISC.SetUShortSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.NumberOfPresets), (u) => SendCameraFullMessageObject());
+
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeAuto), (b) => PostCameraMode());
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeManual), (b) => PostCameraMode());
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeOff), (b) => PostCameraMode());
}
@@ -114,24 +119,29 @@ namespace PepperDash.Essentials.AppServer.Messengers
// Add press and holds using helper action
Action addPHAction = (s, u) =>
asc.AddAction(MessagePath + s, new PressAndHoldAction(b => EISC.SetBool(u, b)));
- addPHAction("/cameraUp", BoolJoin.CameraControlUp + JoinStart);
- addPHAction("/cameraDown", BoolJoin.CameraControlDown + JoinStart);
- addPHAction("/cameraLeft", BoolJoin.CameraControlLeft + JoinStart);
- addPHAction("/cameraRight", BoolJoin.CameraControlRight + JoinStart);
- addPHAction("/cameraZoomIn", BoolJoin.CameraControlZoomIn + JoinStart);
- addPHAction("/cameraZoomOut", BoolJoin.CameraControlZoomOut + JoinStart);
+ addPHAction("/cameraUp", JoinMap.GetJoinForKey(CameraControllerJoinMap.TiltUp));
+ addPHAction("/cameraDown", JoinMap.GetJoinForKey(CameraControllerJoinMap.TiltDown));
+ addPHAction("/cameraLeft", JoinMap.GetJoinForKey(CameraControllerJoinMap.PanLeft));
+ addPHAction("/cameraRight", JoinMap.GetJoinForKey(CameraControllerJoinMap.PanRight));
+ addPHAction("/cameraZoomIn", JoinMap.GetJoinForKey(CameraControllerJoinMap.ZoomIn));
+ addPHAction("/cameraZoomOut", JoinMap.GetJoinForKey(CameraControllerJoinMap.ZoomOut));
Action addAction = (s, u) =>
asc.AddAction(MessagePath + s, new Action(() => EISC.PulseBool(u, 100)));
- addAction("/cameraModeAuto", BoolJoin.CameraModeAuto);
- addAction("/cameraModeManual", BoolJoin.CameraModeManual);
- addAction("/cameraModeOff", BoolJoin.CameraModeOff);
+ addAction("/cameraModeAuto", JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeAuto));
+ addAction("/cameraModeManual", JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeManual));
+ addAction("/cameraModeOff", JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeOff));
+ var presetStart = JoinMap.GetJoinForKey(CameraControllerJoinMap.PresetRecallStart);
+ var presetEnd = JoinMap.GetJoinForKey(CameraControllerJoinMap.PresetRecallStart) + JoinMap.GetJoinSpanForKey(CameraControllerJoinMap.PresetRecallStart);
+
+ int presetId = 1;
// camera presets
- for (uint i = 1; i <= 6; i++)
+ for (uint i = presetStart; i <= presetEnd; i++)
{
- addAction("/cameraPreset" + (i), BoolJoin.CameraPresetStart + i + JoinStart);
+ addAction("/cameraPreset" + (presetId), i);
+ presetId++;
}
}
@@ -149,11 +159,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
appServerController.RemoveAction(MessagePath + "/cameraModeManual");
appServerController.RemoveAction(MessagePath + "/cameraModeOff");
- EISC.SetUShortSigAction(UshortJoin.CameraPresetCount + JoinStart, null);
+ EISC.SetUShortSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.NumberOfPresets), null);
- EISC.SetBoolSigAction(BoolJoin.CameraModeAuto, null);
- EISC.SetBoolSigAction(BoolJoin.CameraModeManual, null);
- EISC.SetBoolSigAction(BoolJoin.CameraModeOff, null);
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeAuto), null);
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeManual), null);
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeOff), null);
}
///
@@ -164,20 +174,25 @@ namespace PepperDash.Essentials.AppServer.Messengers
var presetList = new List();
// Build a list of camera presets based on the names and count
- if (EISC.GetBool(JoinStart + BoolJoin.CameraHasPresets))
+ if (EISC.GetBool(JoinMap.GetJoinForKey(CameraControllerJoinMap.SupportsPresets)))
{
- for (uint i = 1; i <= EISC.GetUshort(UshortJoin.CameraPresetCount); i++)
+ var presetStart = JoinMap.GetJoinForKey(CameraControllerJoinMap.PresetLabelStart);
+ var presetEnd = JoinMap.GetJoinForKey(CameraControllerJoinMap.PresetLabelStart) + JoinMap.GetJoinForKey(CameraControllerJoinMap.NumberOfPresets);
+
+ var presetId = 1;
+ for (uint i = presetStart; i < presetEnd; i++)
{
- var presetName = EISC.GetString(StringJoin.CameraPresetNameStart + i + JoinStart);
- var preset = new CameraPreset((int)i, presetName, string.IsNullOrEmpty(presetName), true);
+ var presetName = EISC.GetString(i);
+ var preset = new CameraPreset(presetId, presetName, string.IsNullOrEmpty(presetName), true);
presetList.Add(preset);
+ presetId++;
}
}
PostStatusMessage(new
{
cameraMode = GetCameraMode(),
- hasPresets = EISC.GetBool(BoolJoin.CameraHasPresets),
+ hasPresets = EISC.GetBool(JoinMap.GetJoinForKey(CameraControllerJoinMap.SupportsPresets)),
presets = presetList
});
}
@@ -200,8 +215,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
string GetCameraMode()
{
string m;
- if (EISC.GetBool(BoolJoin.CameraModeAuto)) m = eCameraControlMode.Auto.ToString().ToLower();
- else if (EISC.GetBool(BoolJoin.CameraModeManual)) m = eCameraControlMode.Manual.ToString().ToLower();
+ if (EISC.GetBool(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeAuto))) m = eCameraControlMode.Auto.ToString().ToLower();
+ else if (EISC.GetBool(JoinMap.GetJoinForKey(CameraControllerJoinMap.CameraModeManual))) m = eCameraControlMode.Manual.ToString().ToLower();
else m = eCameraControlMode.Off.ToString().ToLower();
return m;
}
diff --git a/PepperDashEssentials/AppServer/RoomBridges/MobileControlSIMPLRoomBridge.cs b/PepperDashEssentials/AppServer/RoomBridges/MobileControlSIMPLRoomBridge.cs
index d93da71c..45f0e709 100644
--- a/PepperDashEssentials/AppServer/RoomBridges/MobileControlSIMPLRoomBridge.cs
+++ b/PepperDashEssentials/AppServer/RoomBridges/MobileControlSIMPLRoomBridge.cs
@@ -21,199 +21,6 @@ namespace PepperDash.Essentials.Room.MobileControl
{
public class MobileControlSIMPLRoomBridge : MobileControlBridgeBase, IDelayedConfiguration
{
- public class BoolJoin
- {
-
- ///
- /// 1
- ///
- public const uint ConfigIsInEssentials = 100;
-
- ///
- /// 301
- ///
- public const uint RoomIsOn = 301;
-
- ///
- /// 12
- ///
- public const uint PrivacyMute = 12;
-
- ///
- /// 41
- ///
- public const uint PromptForCode = 41;
- ///
- /// 42
- ///
- public const uint ClientJoined = 42;
- ///
- /// 51
- ///
- public const uint ActivityShare = 51;
- ///
- /// 52
- ///
- public const uint ActivityPhoneCall = 52;
- ///
- /// 53
- ///
- public const uint ActivityVideoCall = 53;
-
- ///
- /// 1
- ///
- public const uint MasterVolumeIsMuted = 1;
- ///
- /// 1
- ///
- public const uint MasterVolumeMuteToggle = 1;
- ///
- /// 1
- ///
- public const uint VolumeMutesJoinStart = 1;
- ///
- /// 61
- ///
- public const uint ShutdownCancel = 61;
- ///
- /// 62
- ///
- public const uint ShutdownEnd = 62;
- ///
- /// 63
- ///
- public const uint ShutdownStart = 63;
- ///
- /// 72
- ///
- public const uint SourceHasChanged = 71;
-
- ///
- /// 261 - The start of the range of speed dial visibles
- ///
- public const uint SpeedDialVisibleStartJoin = 261;
- ///
- /// 501
- ///
- public const uint ConfigIsReady = 501;
- ///
- /// 502
- ///
- public const uint HideVideoConfRecents = 502;
- ///
- /// 503
- ///
- public const uint ShowCameraWhenNotInCall = 503;
- ///
- /// 504
- ///
- public const uint UseSourceEnabled = 504;
- ///
- /// 601
- ///
- public const uint SourceShareDisableJoinStart = 601;
- ///
- /// 621
- ///
- public const uint SourceIsEnabledJoinStart = 621;
- }
-
- public class UshortJoin
- {
- ///
- /// 1
- ///
- public const uint MasterVolumeLevel = 1;
- ///
- /// 1
- ///
- public const uint VolumeSlidersJoinStart = 1;
- ///
- /// 61
- ///
- public const uint ShutdownPromptDuration = 61;
- ///
- /// 101
- ///
- public const uint NumberOfAuxFaders = 101;
- }
-
- public class StringJoin
- {
- ///
- /// 1
- ///
- public const uint VolumeSliderNamesJoinStart = 1;
- ///
- /// 71
- ///
- public const uint SelectedSourceKey = 71;
-
- ///
- /// 241
- ///
- public const uint SpeedDialNameStartJoin = 241;
-
- ///
- /// 251
- ///
- public const uint SpeedDialNumberStartJoin = 251;
-
- ///
- /// 501
- ///
- public const uint ConfigRoomName = 501;
- ///
- /// 502
- ///
- public const uint ConfigHelpMessage = 502;
- ///
- /// 503
- ///
- public const uint ConfigHelpNumber = 503;
- ///
- /// 504
- ///
- public const uint ConfigRoomPhoneNumber = 504;
- ///
- /// 505
- ///
- public const uint ConfigRoomURI = 505;
- ///
- /// 401
- ///
- public const uint UserCodeToSystem = 401;
- ///
- /// 402
- ///
- public const uint ServerUrl = 402;
- ///
- /// 601
- ///
- public const uint SourceNameJoinStart = 601;
- ///
- /// 621
- ///
- public const uint SourceIconJoinStart = 621;
- ///
- /// 641
- ///
- public const uint SourceKeyJoinStart = 641;
- ///
- /// 661
- ///
- public const uint SourceTypeJoinStart = 661;
- ///
- /// 761
- ///
- public const uint CameraNearNameStart = 761;
- ///
- /// 770 - presence of this name on the input will cause the camera to be added
- ///
- public const uint CameraFarName = 770;
- }
-
///
/// Fires when config is ready to go
///
@@ -231,7 +38,7 @@ namespace PepperDash.Essentials.Room.MobileControl
public override string RoomName
{
get {
- var name = EISC.StringOutput[StringJoin.ConfigRoomName].StringValue;
+ var name = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigRoomName)].StringValue;
return string.IsNullOrEmpty(name) ? "Not Loaded" : name;
}
}
@@ -260,9 +67,7 @@ namespace PepperDash.Essentials.Room.MobileControl
JoinMap = new MobileControlSIMPLRoomJoinMap();
- // TODO: Possibly set up alternate constructor or take in joinMapKey and joinStart properties in constructor
-
-
+ // TODO: Possibly set up alternate constructor or take in joinMapKey and joinStart properties in constructor
JoinMap.OffsetJoinNumbers(1);
SourceBridge = new MobileControlDdvc01DeviceBridge(key + "-sourceBridge", "DDVC01 source bridge", EISC);
@@ -300,19 +105,19 @@ namespace PepperDash.Essentials.Room.MobileControl
EISC.OnlineStatusChange += (o, a) =>
{
Debug.Console(1, this, "DDVC EISC online={0}. Config is ready={1}. Use Essentials Config={2}",
- a.DeviceOnLine, EISC.BooleanOutput[BoolJoin.ConfigIsReady].BoolValue, EISC.BooleanOutput[BoolJoin.ConfigIsInEssentials].BoolValue);
+ a.DeviceOnLine, EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsReady)].BoolValue, EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsLocal)].BoolValue);
- if (a.DeviceOnLine && EISC.BooleanOutput[BoolJoin.ConfigIsReady].BoolValue)
+ if (a.DeviceOnLine && EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsReady)].BoolValue)
LoadConfigValues();
- if (a.DeviceOnLine && EISC.BooleanOutput[BoolJoin.ConfigIsInEssentials].BoolValue)
+ if (a.DeviceOnLine && EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsLocal)].BoolValue)
UseEssentialsConfig();
};
// load config if it's already there
- if (EISC.IsOnline && EISC.BooleanOutput[BoolJoin.ConfigIsReady].BoolValue) // || EISC.BooleanInput[BoolJoin.ConfigIsReady].BoolValue)
+ if (EISC.IsOnline && EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsReady)].BoolValue) // || EISC.BooleanInput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsReady].BoolValue)
LoadConfigValues();
- if (EISC.IsOnline && EISC.BooleanOutput[BoolJoin.ConfigIsInEssentials].BoolValue)
+ if (EISC.IsOnline && EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsLocal)].BoolValue)
{
UseEssentialsConfig();
}
@@ -364,35 +169,38 @@ namespace PepperDash.Essentials.Room.MobileControl
///
void SetupFunctions()
{
- Parent.AddAction(@"/room/room1/promptForCode", new Action(() => EISC.PulseBool(BoolJoin.PromptForCode)));
- Parent.AddAction(@"/room/room1/clientJoined", new Action(() => EISC.PulseBool(BoolJoin.ClientJoined)));
+ Parent.AddAction(@"/room/room1/promptForCode", new Action(() => EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.PromptForCode))));
+ Parent.AddAction(@"/room/room1/clientJoined", new Action(() => EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ClientJoined))));
Parent.AddAction(@"/room/room1/status", new Action(SendFullStatus));
Parent.AddAction(@"/room/room1/source", new Action(c =>
{
- EISC.SetString(StringJoin.SelectedSourceKey, c.SourceListItem);
- EISC.PulseBool(BoolJoin.SourceHasChanged);
+ EISC.SetString(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SelectedSourceKey), c.SourceListItem);
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceHasChanged));
}));
Parent.AddAction(@"/room/room1/defaultsource", new Action(() =>
- EISC.PulseBool(BoolJoin.ActivityShare)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ActivityShare))));
Parent.AddAction(@"/room/room1/activityPhone", new Action(() =>
- EISC.PulseBool(BoolJoin.ActivityPhoneCall)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ActivityPhoneCall))));
Parent.AddAction(@"/room/room1/activityVideo", new Action(() =>
- EISC.PulseBool(BoolJoin.ActivityVideoCall)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ActivityVideoCall))));
Parent.AddAction(@"/room/room1/volumes/master/level", new Action(u =>
- EISC.SetUshort(UshortJoin.MasterVolumeLevel, u)));
+ EISC.SetUshort(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.MasterVolume), u)));
Parent.AddAction(@"/room/room1/volumes/master/muteToggle", new Action(() =>
- EISC.PulseBool(BoolJoin.MasterVolumeIsMuted)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.MasterVolume))));
Parent.AddAction(@"/room/room1/volumes/master/privacyMuteToggle", new Action(() =>
- EISC.PulseBool(BoolJoin.PrivacyMute)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.PrivacyMute))));
// /xyzxyz/volumes/master/muteToggle ---> BoolInput[1]
- for (uint i = 2; i <= 7; i++)
+ var volumeStart = JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.VolumeJoinStart);
+ var volumeEnd = JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.VolumeJoinStart) + JoinMap.GetJoinSpanForKey(MobileControlSIMPLRoomJoinMap.VolumeJoinStart);
+
+ for (uint i = volumeStart; i <= volumeEnd; i++)
{
var index = i;
Parent.AddAction(string.Format(@"/room/room1/volumes/level-{0}/level", index), new Action(u =>
@@ -402,11 +210,11 @@ namespace PepperDash.Essentials.Room.MobileControl
}
Parent.AddAction(@"/room/room1/shutdownStart", new Action(() =>
- EISC.PulseBool(BoolJoin.ShutdownStart)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownStart))));
Parent.AddAction(@"/room/room1/shutdownEnd", new Action(() =>
- EISC.PulseBool(BoolJoin.ShutdownEnd)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownEnd))));
Parent.AddAction(@"/room/room1/shutdownCancel", new Action(() =>
- EISC.PulseBool(BoolJoin.ShutdownCancel)));
+ EISC.PulseBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownCancel))));
}
@@ -436,21 +244,21 @@ namespace PepperDash.Essentials.Room.MobileControl
void SetupFeedbacks()
{
// Power
- EISC.SetBoolSigAction(BoolJoin.RoomIsOn, b =>
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.RoomIsOn), b =>
PostStatusMessage(new
{
isOn = b
}));
// Source change things
- EISC.SetSigTrueAction(BoolJoin.SourceHasChanged, () =>
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceHasChanged), () =>
PostStatusMessage(new
{
- selectedSourceKey = EISC.StringOutput[StringJoin.SelectedSourceKey].StringValue
+ selectedSourceKey = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SelectedSourceKey)].StringValue
}));
// Volume things
- EISC.SetUShortSigAction(UshortJoin.MasterVolumeLevel, u =>
+ EISC.SetUShortSigAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.MasterVolume), u =>
PostStatusMessage(new
{
volumes = new
@@ -465,7 +273,7 @@ namespace PepperDash.Essentials.Room.MobileControl
// map MasterVolumeIsMuted join -> status/volumes/master/muted
//
- EISC.SetBoolSigAction(BoolJoin.MasterVolumeIsMuted, b =>
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.MasterVolume), b =>
PostStatusMessage(new
{
volumes = new
@@ -476,7 +284,7 @@ namespace PepperDash.Essentials.Room.MobileControl
}
}
}));
- EISC.SetBoolSigAction(BoolJoin.PrivacyMute, b =>
+ EISC.SetBoolSigAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.PrivacyMute), b =>
PostStatusMessage(new
{
volumes = new
@@ -488,7 +296,10 @@ namespace PepperDash.Essentials.Room.MobileControl
}
}));
- for (uint i = 2; i <= 7; i++)
+ var volumeStart = JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.VolumeJoinStart);
+ var volumeEnd = JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.VolumeJoinStart) + JoinMap.GetJoinSpanForKey(MobileControlSIMPLRoomJoinMap.VolumeJoinStart);
+
+ for (uint i = volumeStart; i <= volumeEnd; i++)
{
var index = i; // local scope for lambdas
EISC.SetUShortSigAction(index, u => // start at join 2
@@ -519,7 +330,7 @@ namespace PepperDash.Essentials.Room.MobileControl
});
}
- EISC.SetUShortSigAction(UshortJoin.NumberOfAuxFaders, u =>
+ EISC.SetUShortSigAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.NumberOfAuxFaders), u =>
PostStatusMessage(new {
volumes = new {
numberOfAuxFaders = u,
@@ -527,30 +338,30 @@ namespace PepperDash.Essentials.Room.MobileControl
}));
// shutdown things
- EISC.SetSigTrueAction(BoolJoin.ShutdownCancel, new Action(() =>
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownCancel), new Action(() =>
PostMessage("/room/shutdown/", new
{
state = "wasCancelled"
})));
- EISC.SetSigTrueAction(BoolJoin.ShutdownEnd, new Action(() =>
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownEnd), new Action(() =>
PostMessage("/room/shutdown/", new
{
state = "hasFinished"
})));
- EISC.SetSigTrueAction(BoolJoin.ShutdownStart, new Action(() =>
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownStart), new Action(() =>
PostMessage("/room/shutdown/", new
{
state = "hasStarted",
- duration = EISC.UShortOutput[UshortJoin.ShutdownPromptDuration].UShortValue
+ duration = EISC.UShortOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ShutdownPromptDuration)].UShortValue
})));
// Config things
- EISC.SetSigTrueAction(BoolJoin.ConfigIsReady, LoadConfigValues);
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigIsReady), LoadConfigValues);
// Activity modes
- EISC.SetSigTrueAction(BoolJoin.ActivityShare, () => UpdateActivity(1));
- EISC.SetSigTrueAction(BoolJoin.ActivityPhoneCall, () => UpdateActivity(2));
- EISC.SetSigTrueAction(BoolJoin.ActivityVideoCall, () => UpdateActivity(3));
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ActivityShare), () => UpdateActivity(1));
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ActivityPhoneCall), () => UpdateActivity(2));
+ EISC.SetSigTrueAction(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ActivityVideoCall), () => UpdateActivity(3));
}
@@ -594,7 +405,7 @@ namespace PepperDash.Essentials.Room.MobileControl
Debug.Console(0, this, "Replacing Room[0] in config");
co.Rooms[0] = rm;
}
- rm.Name = EISC.StringOutput[StringJoin.ConfigRoomName].StringValue;
+ rm.Name = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigRoomName)].StringValue;
rm.Key = "room1";
rm.Type = "ddvc01";
@@ -605,13 +416,13 @@ namespace PepperDash.Essentials.Room.MobileControl
rmProps = JsonConvert.DeserializeObject(rm.Properties.ToString());
rmProps.Help = new EssentialsHelpPropertiesConfig();
- rmProps.Help.CallButtonText = EISC.StringOutput[StringJoin.ConfigHelpNumber].StringValue;
- rmProps.Help.Message = EISC.StringOutput[StringJoin.ConfigHelpMessage].StringValue;
+ rmProps.Help.CallButtonText = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigHelpNumber)].StringValue;
+ rmProps.Help.Message = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigHelpMessage)].StringValue;
rmProps.Environment = new EssentialsEnvironmentPropertiesConfig(); // enabled defaults to false
- rmProps.RoomPhoneNumber = EISC.StringOutput[StringJoin.ConfigRoomPhoneNumber].StringValue;
- rmProps.RoomURI = EISC.StringOutput[StringJoin.ConfigRoomURI].StringValue;
+ rmProps.RoomPhoneNumber = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigRoomPhoneNumber)].StringValue;
+ rmProps.RoomURI = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.ConfigRoomURI)].StringValue;
rmProps.SpeedDials = new List();
// This MAY need a check
@@ -619,7 +430,7 @@ namespace PepperDash.Essentials.Room.MobileControl
rmProps.VideoCodecKey = "videoCodec";
// volume control names
- var volCount = EISC.UShortOutput[UshortJoin.NumberOfAuxFaders].UShortValue;
+ var volCount = EISC.UShortOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.NumberOfAuxFaders)].UShortValue;
//// use Volumes object or?
//rmProps.VolumeSliderNames = new List();
@@ -664,18 +475,18 @@ namespace PepperDash.Essentials.Room.MobileControl
// add sources...
for (uint i = 0; i <= 19; i++)
{
- var name = EISC.StringOutput[StringJoin.SourceNameJoinStart + i].StringValue;
- if (EISC.BooleanOutput[BoolJoin.UseSourceEnabled].BoolValue
- && !EISC.BooleanOutput[BoolJoin.SourceIsEnabledJoinStart + i].BoolValue)
+ var name = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceNameJoinStart) + i].StringValue;
+ if (EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.UseSourceEnabled)].BoolValue
+ && !EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceIsEnabledJoinStart) + i].BoolValue)
{
continue;
}
- else if(!EISC.BooleanOutput[BoolJoin.UseSourceEnabled].BoolValue && string.IsNullOrEmpty(name))
+ else if(!EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.UseSourceEnabled)].BoolValue && string.IsNullOrEmpty(name))
break;
- var icon = EISC.StringOutput[StringJoin.SourceIconJoinStart + i].StringValue;
- var key = EISC.StringOutput[StringJoin.SourceKeyJoinStart + i].StringValue;
- var type = EISC.StringOutput[StringJoin.SourceTypeJoinStart + i].StringValue;
- var disableShare = EISC.BooleanOutput[BoolJoin.SourceShareDisableJoinStart + i].BoolValue;
+ var icon = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceIconJoinStart) + i].StringValue;
+ var key = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceKeyJoinStart) + i].StringValue;
+ var type = EISC.StringOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceTypeJoinStart) + i].StringValue;
+ var disableShare = EISC.BooleanOutput[JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SourceShareDisableJoinStart) + i].BoolValue;
Debug.Console(0, this, "Adding source {0} '{1}'", key, name);
var newSLI = new SourceListItem{
@@ -717,14 +528,14 @@ namespace PepperDash.Essentials.Room.MobileControl
var acFavs = new List();
for (uint i = 0; i < 4; i++)
{
- if (!EISC.GetBool(BoolJoin.SpeedDialVisibleStartJoin + i))
+ if (!EISC.GetBool(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SpeedDialVisibleStartJoin) + i))
{
break;
}
acFavs.Add(new PepperDash.Essentials.Devices.Common.Codec.CodecActiveCallItem()
{
- Name = EISC.GetString(StringJoin.SpeedDialNameStartJoin + i),
- Number = EISC.GetString(StringJoin.SpeedDialNumberStartJoin + i),
+ Name = EISC.GetString(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SpeedDialNameStartJoin) + i),
+ Number = EISC.GetString(JoinMap.GetJoinForKey(MobileControlSIMPLRoomJoinMap.SpeedDialNumberStartJoin) + i),
Type = PepperDash.Essentials.Devices.Common.Codec.eCodecCallType.Audio
});
}
@@ -756,7 +567,7 @@ namespace PepperDash.Essentials.Room.MobileControl
var camsProps = new List