diff --git a/.gitignore b/.gitignore
index 739a60ab..36d84cbc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -390,3 +390,4 @@ MigrationBackup/
FodyWeavers.xsd
essentials-framework/Essentials Interfaces/PepperDash_Essentials_Interfaces/PepperDash_Essentials_Interfaces.csproj
.DS_Store
+/._PepperDash.Essentials.sln
diff --git a/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs
index c8033b92..5d8e0724 100644
--- a/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs
+++ b/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs
@@ -64,6 +64,24 @@ namespace PepperDash.Essentials.Core
IntFeedback VolumeLevelFeedback { get; }
}
+ ///
+ /// Adds the ability to display a raw volume level and the units of that level
+ ///
+ public interface IBasicVolumeWithFeedbackAdvanced : IBasicVolumeWithFeedback
+ {
+ int RawVolumeLevel { get; }
+
+ eVolumeLevelUnits Units { get; }
+ }
+
+ public enum eVolumeLevelUnits
+ {
+ Decibels,
+ Percent,
+ Relative,
+ Absolute
+ }
+
///
/// A class that implements this contains a reference to a current IBasicVolumeControls device.
/// The class may have multiple IBasicVolumeControls.
diff --git a/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj b/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj
index fbc03a2e..da717cb4 100644
--- a/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj
+++ b/src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj
@@ -23,7 +23,7 @@
-
+
diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs
index d83e5362..f807ffe7 100644
--- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs
+++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs
@@ -210,6 +210,10 @@ namespace PepperDash.Essentials.Room.Config
///
[JsonProperty("userCanChangeShareMode")]
public bool UserCanChangeShareMode { get; set; }
+
+
+ [JsonProperty("matrixRoutingKey", NullValueHandling = NullValueHandling.Ignore)]
+ public string MatrixRoutingKey { get; set; }
}
public class EssentialsConferenceRoomPropertiesConfig : EssentialsAvRoomPropertiesConfig
@@ -218,6 +222,7 @@ namespace PepperDash.Essentials.Room.Config
public string VideoCodecKey { get; set; }
[JsonProperty("audioCodecKey")]
public string AudioCodecKey { get; set; }
+
}
public class EssentialsEnvironmentPropertiesConfig
diff --git a/src/PepperDash.Essentials.Core/Room/Interfaces.cs b/src/PepperDash.Essentials.Core/Room/Interfaces.cs
index 3bf2dc0f..e4f93802 100644
--- a/src/PepperDash.Essentials.Core/Room/Interfaces.cs
+++ b/src/PepperDash.Essentials.Core/Room/Interfaces.cs
@@ -50,6 +50,34 @@ namespace PepperDash.Essentials.Core
{
void RunDirectRoute(string sourceKey, string destinationKey, eRoutingSignalType type = eRoutingSignalType.AudioVideo);
}
+
+ ///
+ /// Describes a room with matrix routing
+ ///
+ public interface IHasMatrixRouting
+ {
+ string MatrixRoutingDeviceKey { get; }
+
+ List EndpointKeys { get; }
+ }
+
+ ///
+ /// Describes a room with routing endpoints
+ ///
+ public interface IHasRoutingEndpoints
+ {
+ List EndpointKeys { get; }
+ }
+
+ ///
+ /// Describes a room with a shutdown prompt timer
+ ///
+ public interface IShutdownPromptTimer
+ {
+ SecondsCountdownTimer ShutdownPromptTimer { get; }
+
+ void SetShutdownPromptSeconds(int seconds);
+ }
///
/// For rooms that default presentation only routing
diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs
index 93b96614..faee0fe9 100644
--- a/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs
+++ b/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace PepperDash.Essentials.Core.Routing
+namespace PepperDash.Essentials.Core.Routing
{
public interface IRoutingInputSlot: IRoutingSlot, IOnline, IVideoSync
{
diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs
index 160db482..478961cc 100644
--- a/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs
+++ b/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs
@@ -3,12 +3,12 @@ using System.Collections.Generic;
namespace PepperDash.Essentials.Core.Routing
{
- public interface IRoutingOutputSlot:IRoutingSlot
+ public interface IRoutingOutputSlot : IRoutingSlot
{
event EventHandler OutputSlotChanged;
string RxDeviceKey { get; }
Dictionary CurrentRoutes { get; }
- }
+ }
}
diff --git a/src/PepperDash.Essentials.Devices.Common/Displays/MockDisplay.cs b/src/PepperDash.Essentials.Devices.Common/Displays/MockDisplay.cs
index dd036205..a1241821 100644
--- a/src/PepperDash.Essentials.Devices.Common/Displays/MockDisplay.cs
+++ b/src/PepperDash.Essentials.Devices.Common/Displays/MockDisplay.cs
@@ -26,7 +26,6 @@ namespace PepperDash.Essentials.Devices.Common.Displays
{
return () =>
{
- Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** Display Power is {0}", _PowerIsOn ? "on" : "off");
return _PowerIsOn;
};
} }
@@ -36,7 +35,6 @@ namespace PepperDash.Essentials.Devices.Common.Displays
{
return () =>
{
- Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** {0}", _IsCoolingDown ? "Display is cooling down" : "Display has finished cooling down");
return _IsCoolingDown;
};
}
@@ -47,7 +45,6 @@ namespace PepperDash.Essentials.Devices.Common.Displays
{
return () =>
{
- Debug.LogMessage(LogEventLevel.Verbose, this, "*************************************************** {0}", _IsWarmingUp ? "Display is warming up" : "Display has finished warming up");
return _IsWarmingUp;
};
}
diff --git a/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj b/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj
index c7feb653..abfcd9c2 100644
--- a/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj
+++ b/src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj
@@ -27,6 +27,6 @@
-
+
\ No newline at end of file
diff --git a/src/PepperDash.Essentials.Devices.Common/Room/IEssentialsRoomPropertiesConfig.cs b/src/PepperDash.Essentials.Devices.Common/Room/IEssentialsRoomPropertiesConfig.cs
new file mode 100644
index 00000000..e32be4c4
--- /dev/null
+++ b/src/PepperDash.Essentials.Devices.Common/Room/IEssentialsRoomPropertiesConfig.cs
@@ -0,0 +1,14 @@
+using PepperDash.Essentials.Room.Config;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PepperDash.Essentials.Devices.Common.Room
+{
+ public interface IEssentialsRoomPropertiesConfig
+ {
+ EssentialsRoomPropertiesConfig PropertiesConfig { get; }
+ }
+}
diff --git a/src/PepperDash.Essentials/PepperDash.Essentials.csproj b/src/PepperDash.Essentials/PepperDash.Essentials.csproj
index 70a2d2d4..e10707c2 100644
--- a/src/PepperDash.Essentials/PepperDash.Essentials.csproj
+++ b/src/PepperDash.Essentials/PepperDash.Essentials.csproj
@@ -47,7 +47,7 @@
-
+