From c3dbd419420392b3cc5a9820ff38723b740c2f0f Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Mon, 13 Jan 2020 21:55:59 -0700 Subject: [PATCH] Adds configuratble property for current audio/video output text. Defaults to "". --- .../Essentials_DM/Chassis/DmChassisController.cs | 13 +++++++++++-- .../Essentials_DM/Chassis/DmpsRoutingController.cs | 12 ++++++++++-- .../Essentials_DM/Config/DMChassisConfig.cs | 3 +++ .../Essentials_DM/Config/DmpsRoutingConfig.cs | 3 +++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs index 136f3c86..e5a2d4a7 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs @@ -66,6 +66,11 @@ namespace PepperDash.Essentials.DM public const int RouteOffTime = 500; Dictionary RouteOffTimers = new Dictionary(); + /// + /// Text that represents when an output has no source routed to it + /// + public string NoRouteText = ""; + /// /// Factory method to create a new chassis controller from config data. Limited to 8x8 right now /// @@ -128,6 +133,10 @@ namespace PepperDash.Essentials.DM controller.InputNames = properties.InputNames; controller.OutputNames = properties.OutputNames; + + if (!string.IsNullOrEmpty(properties.NoRouteText)) + controller.NoRouteText = properties.NoRouteText; + controller.PropertiesConfig = properties; return controller; } @@ -217,7 +226,7 @@ namespace PepperDash.Essentials.DM } else { - return ""; + return NoRouteText; } }); OutputAudioRouteNameFeedbacks[tempX] = new StringFeedback(() => @@ -228,7 +237,7 @@ namespace PepperDash.Essentials.DM } else { - return ""; + return NoRouteText; } }); diff --git a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs index 0c4ff887..6ed0e63b 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmpsRoutingController.cs @@ -48,6 +48,11 @@ namespace PepperDash.Essentials.DM public const int RouteOffTime = 500; Dictionary RouteOffTimers = new Dictionary(); + /// + /// Text that represents when an output has no source routed to it + /// + public string NoRouteText = ""; + public static DmpsRoutingController GetDmpsRoutingController(string key, string name, DmpsRoutingPropertiesConfig properties) { @@ -67,6 +72,9 @@ namespace PepperDash.Essentials.DM controller.InputNames = properties.InputNames; controller.OutputNames = properties.OutputNames; + if (!string.IsNullOrEmpty(properties.NoRouteText)) + controller.NoRouteText = properties.NoRouteText; + return controller; } @@ -191,7 +199,7 @@ namespace PepperDash.Essentials.DM } else { - return ""; + return NoRouteText; } }); OutputAudioRouteNameFeedbacks[outputCard.Number] = new StringFeedback(() => @@ -202,7 +210,7 @@ namespace PepperDash.Essentials.DM } else { - return ""; + return NoRouteText; } }); diff --git a/essentials-framework/Essentials DM/Essentials_DM/Config/DMChassisConfig.cs b/essentials-framework/Essentials DM/Essentials_DM/Config/DMChassisConfig.cs index 22da6c44..d347fbc8 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Config/DMChassisConfig.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Config/DMChassisConfig.cs @@ -32,6 +32,9 @@ namespace PepperDash.Essentials.DM.Config [JsonProperty("outputNames")] public Dictionary OutputNames { get; set; } + [JsonProperty("noRouteText")] + public string NoRouteText { get; set; } + [JsonProperty("inputSlotSupportsHdcp2")] public Dictionary InputSlotSupportsHdcp2 { get; set; } diff --git a/essentials-framework/Essentials DM/Essentials_DM/Config/DmpsRoutingConfig.cs b/essentials-framework/Essentials DM/Essentials_DM/Config/DmpsRoutingConfig.cs index 57dd4a72..b4ed5342 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Config/DmpsRoutingConfig.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Config/DmpsRoutingConfig.cs @@ -20,6 +20,9 @@ namespace PepperDash.Essentials.DM.Config [JsonProperty("outputNames")] public Dictionary OutputNames { get; set; } + [JsonProperty("noRouteText")] + public string NoRouteText { get; set; } + public DmpsRoutingPropertiesConfig() { InputNames = new Dictionary();