diff --git a/src/Chassis/DmChassisController.cs b/src/Chassis/DmChassisController.cs index 9a19ea4..7023480 100644 --- a/src/Chassis/DmChassisController.cs +++ b/src/Chassis/DmChassisController.cs @@ -2179,6 +2179,13 @@ public void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType return; } + + if (inputSlot is DmMatrixClearInput) + { + + ExecuteSwitch(null, Chassis.Outputs[(uint)outputSlot.SlotNumber], type); + return; + } ExecuteSwitch(Chassis.Inputs[(uint)inputSlot.SlotNumber], Chassis.Outputs[(uint)outputSlot.SlotNumber], type); } } diff --git a/src/Routing/DmMatrixOutput.cs b/src/Routing/DmMatrixOutput.cs index 111ad8d..662a142 100644 --- a/src/Routing/DmMatrixOutput.cs +++ b/src/Routing/DmMatrixOutput.cs @@ -41,6 +41,8 @@ private void Switcher_DMOutputChange(Switch device, DMOutputEventArgs args) uint inputNumber = 0; var routeType = eRoutingSignalType.Video; + + switch (args.EventId) { case DMOutputEventIds.VideoOutEventId: @@ -55,6 +57,7 @@ private void Switcher_DMOutputChange(Switch device, DMOutputEventArgs args) routeType = eRoutingSignalType.Audio; break; } + default: return; } var inputSlot = _chassis.InputSlots.Values.FirstOrDefault(input => input.SlotNumber == inputNumber); SetInputRoute(routeType, inputSlot);