public DM_RMC_4KZ_100_C(ICardInputOutputType SwitcherOutput)
        {
            DMOutput _DMOutput = SwitcherOutput as DMOutput;

            _DmRmc4kz100C        = new DmRmc4kz100C(_DMOutput);
            C2I_DMRMC100_4KZ_IR2 = _DmRmc4kz100C.IROutputPorts[1];
            Com01         = new DMPS3TwoWaySerialDriver(_DmRmc4kz100C.ComPorts[1]);
            CEC_DM_In     = new CECDevice(_DmRmc4kz100C.DmInputStreamCec);
            CEC_HDMI_Out  = new CECDevice(_DmRmc4kz100C.HdmiOutput.StreamCec);
            HDCP_HDMI_Out = new HDMIOutputHDCP(_DmRmc4kz100C.HdmiOutput);
        }
        public DmRmc4kZ100CController(string key, string name, DmRmc4kz100C rmc)
            : base(key, name, rmc)
        {
            _rmc = rmc;

            EdidManufacturerFeedback    = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.Manufacturer.StringValue);
            EdidNameFeedback            = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.Name.StringValue);
            EdidPreferredTimingFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.PreferredTiming.StringValue);
            EdidSerialNumberFeedback    = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.SerialNumber.StringValue);

            _rmc.HdmiOutput.OutputStreamChange += HdmiOutput_OutputStreamChange;

            //removed to prevent NullReferenceException
            //_rmc.HdmiOutput.ConnectedDevice.DeviceInformationChange += ConnectedDevice_DeviceInformationChange;
        }
        public DM_RMC_4KZ_100_C(ICardInputOutputType SwitcherOutput)
        {
            DMOutput _DMOutput = SwitcherOutput as DMOutput;

            _DmRmc4kz100C = new DmRmc4kz100C(_DMOutput);
        }