diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs index eaf109ef..7556cbcd 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs @@ -115,23 +115,40 @@ namespace PepperDash.Essentials.Core /// public static ICec GetCecPort(ControlPropertiesConfig config) { - var dev = DeviceManager.GetDeviceForKey(config.ControlPortDevKey); + var dev = DeviceManager.GetDeviceForKey(config.ControlPortDevKey); + + if (dev != null) + { + if (!String.IsNullOrEmpty(config.ControlPortName)) + { + + var inputPort = (dev as IRoutingInputsOutputs).InputPorts[config.ControlPortName]; + + if (inputPort != null) + { + if (inputPort.Port is ICec) + return inputPort.Port as ICec; + } + + var outputPort = (dev as IRoutingInputsOutputs).OutputPorts[config.ControlPortName]; + + if (outputPort != null) + { + if (outputPort.Port is ICec) + return outputPort.Port as ICec; + } + + else + Debug.Console(0, "GetCecPort: Device '{0}' does not have a CEC port called: '{1}'", + config.ControlPortDevKey, config.ControlPortName); + } + else + { + Debug.Console(0, "GetCecPort: '{0}' - Configuration missing 'ControlPortName'", config.ControlPortDevKey); + } + } + Debug.Console(0, "GetCecPort: Device '{0}' is not a valid device.", config.ControlPortDevKey); - if (dev != null) - { - var inputPort = (dev as IRoutingInputsOutputs).InputPorts[config.ControlPortName]; - - if (inputPort != null) - if (inputPort.Port is ICec) - return inputPort.Port as ICec; - - var outputPort = (dev as IRoutingInputsOutputs).OutputPorts[config.ControlPortName]; - - if (outputPort != null) - if (outputPort.Port is ICec) - return outputPort.Port as ICec; - } - Debug.Console(0, "GetCecPort: Device '{0}' does not have a CEC port called: '{1}'", config.ControlPortDevKey, config.ControlPortName); return null; } diff --git a/essentials-framework/pepperdashcore-builds b/essentials-framework/pepperdashcore-builds index b64665a6..18cb0c27 160000 --- a/essentials-framework/pepperdashcore-builds +++ b/essentials-framework/pepperdashcore-builds @@ -1 +1 @@ -Subproject commit b64665a60ebfa8cd4dc680acccb3ef0d94cbbf82 +Subproject commit 18cb0c273eb8b750f657d74160ad82eff1b24bca