diff --git a/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs b/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs
index 6ed993ef..c795ba60 100644
--- a/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs
+++ b/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs
@@ -393,12 +393,12 @@ namespace PepperDash.Essentials.Devices.Displays
public void InputHdmi1()
{
- SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x22, 0x00 });
+ SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x21, 0x00 });
}
public void InputHdmi2()
{
- SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x24, 0x00 });
+ SendBytes(new byte[] { 0xAA, 0x14, 0x00, 0x01, 0x23, 0x00 });
}
public void InputHdmi3()
diff --git a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj
index 39f4a0f0..ab3b8eeb 100644
--- a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj
+++ b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj
@@ -120,6 +120,7 @@
+
diff --git a/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyController.cs b/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyController.cs
index a8d4ea1b..3918294e 100644
--- a/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyController.cs
+++ b/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyController.cs
@@ -15,7 +15,7 @@ namespace PepperDash.Essentials.Devices.Common.Microphones
/// Used for applications where one or more microphones with momentary contact closure outputs are used to
/// toggle the privacy state of the room. Privacy state feedback is represented
///
- public class MicrophonePrivacyController
+ public class MicrophonePrivacyController : Device
{
public bool EnableLeds
{
@@ -44,13 +44,17 @@ namespace PepperDash.Essentials.Devices.Common.Microphones
public IPrivacy PrivacyDevice { get; private set; }
- public MicrophonePrivacyController(IPrivacy privacyDevice)
+ public MicrophonePrivacyController(string key, MicrophonePrivacyControllerConfig config) :
+ base(key)
+ {
+ Inputs = new List();
+ }
+
+ public void SetPrivacyDevice(IPrivacy privacyDevice)
{
PrivacyDevice = privacyDevice;
PrivacyDevice.PrivacyModeIsOnFeedback.OutputChange += new EventHandler(PrivacyModeIsOnFeedback_OutputChange);
-
- Inputs = new List();
}
void PrivacyModeIsOnFeedback_OutputChange(object sender, EventArgs e)
diff --git a/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyControllerConfig.cs b/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyControllerConfig.cs
new file mode 100644
index 00000000..42651064
--- /dev/null
+++ b/Essentials Devices Common/Essentials Devices Common/Microphones/MicrophonePrivacyControllerConfig.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+
+namespace PepperDash.Essentials.Devices.Common.Microphones
+{
+ public class MicrophonePrivacyControllerConfig
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Essentials/PepperDashEssentials/ControlSystem.cs b/Essentials/PepperDashEssentials/ControlSystem.cs
index 6c74b9bc..5271248f 100644
--- a/Essentials/PepperDashEssentials/ControlSystem.cs
+++ b/Essentials/PepperDashEssentials/ControlSystem.cs
@@ -130,31 +130,6 @@ namespace PepperDash.Essentials
Debug.Console(0, "WARNING: Cannot load unknown device type '{0}', key '{1}'.", devConf.Type, devConf.Key);
}
- // CODEC TESTING
- /*
- try
- {
- GenericSshClient TestCodecClient = new GenericSshClient("TestCodec-1--SshClient", "10.11.50.135", 22, "crestron", "2H3Zu&OvgXp6");
-
- var props = new PepperDash.Essentials.Devices.Common.Codec.CiscoCodecPropertiesConfig();
-
- props.PhonebookMode = "Local";
- props.Favorites = new System.Collections.Generic.List();
- props.Favorites.Add(new PepperDash.Essentials.Devices.Common.Codec.CodecActiveCallItem() { Name = "NYU Cisco Webex", Number = "10.11.50.211" });
-
- PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec TestCodec =
- new PepperDash.Essentials.Devices.Common.VideoCodec.Cisco.CiscoCodec("TestCodec-1", "Cisco Spark Room Kit", TestCodecClient, props);
-
- TestCodec.CommDebuggingIsOn = true;
-
- TestCodec.CustomActivate();
- }
- catch (Exception e)
- {
- Debug.Console(0, "Error in something Neil is working on ;) \r{0}", e);
- }
- */
- // CODEC TESTING
}
///
diff --git a/Essentials/PepperDashEssentials/Room/Config/EssentialsRoomConfig.cs b/Essentials/PepperDashEssentials/Room/Config/EssentialsRoomConfig.cs
index 313027a4..683a10da 100644
--- a/Essentials/PepperDashEssentials/Room/Config/EssentialsRoomConfig.cs
+++ b/Essentials/PepperDashEssentials/Room/Config/EssentialsRoomConfig.cs
@@ -73,6 +73,8 @@ namespace PepperDash.Essentials.Room.Config
rm.DefaultSourceItem = props.DefaultSourceItem;
rm.DefaultVolume = (ushort)(props.Volumes.Master.Level * 65535 / 100);
+ rm.MicrophonePrivacy = GetMicrophonePrivacy(props, rm); // Get Microphone Privacy object, if any
+
rm.Emergency = GetEmergency(props, rm); // Get emergency object, if any
return rm;
@@ -97,6 +99,21 @@ namespace PepperDash.Essentials.Room.Config
}
return null;
}
+
+ PepperDash.Essentials.Devices.Common.Microphones.MicrophonePrivacyController GetMicrophonePrivacy(EssentialsRoomPropertiesConfig props, EssentialsHuddleVtc1Room room)
+ {
+ var microphonePrivacy = props.MicrophonePrivacy;
+ if (microphonePrivacy != null)
+ {
+ // Get the MicrophonePrivacy device from the device manager
+ var mP = (DeviceManager.GetDeviceForKey(props.MicrophonePrivacy.Key) as PepperDash.Essentials.Devices.Common.Microphones.MicrophonePrivacyController);
+ // Set this room as the IPrivacy device
+ mP.SetPrivacyDevice(room);
+
+ return mP;
+ }
+ return null;
+ }
}
///
@@ -105,6 +122,7 @@ namespace PepperDash.Essentials.Room.Config
public class EssentialsRoomPropertiesConfig
{
public EssentialsRoomEmergencyConfig Emergency { get; set; }
+ public EssentialsRoomMicrophonePrivacyConfig MicrophonePrivacy {get; set;}
public string HelpMessage { get; set; }
public string Description { get; set; }
public int ShutdownVacancySeconds { get; set; }
@@ -118,6 +136,11 @@ namespace PepperDash.Essentials.Room.Config
public EssentialsRoomVolumesConfig Volumes { get; set; }
}
+ public class EssentialsRoomMicrophonePrivacyConfig
+ {
+ public string Key { get; set; }
+ }
+
///
/// Properties for the help text box
///
diff --git a/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs b/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs
index 75d819d4..60f87c7b 100644
--- a/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs
+++ b/Essentials/PepperDashEssentials/Room/Types/EssentialsRoomBase.cs
@@ -51,6 +51,8 @@ namespace PepperDash.Essentials
public PepperDash.Essentials.Room.EssentialsRoomEmergencyBase Emergency { get; set; }
+ public PepperDash.Essentials.Devices.Common.Microphones.MicrophonePrivacyController MicrophonePrivacy { get; set; }
+
public string LogoUrl { get; set; }
protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; }