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 @@ - +