From ea2e765caa094d9d4097a6eee2869fcd3213a612 Mon Sep 17 00:00:00 2001 From: tzim Date: Fri, 17 Jul 2015 20:08:04 +0000 Subject: [PATCH] Correction bug clignotement sur telecommande --- DMX-2.0/Conduite.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/DMX-2.0/Conduite.cs b/DMX-2.0/Conduite.cs index f57b240..fbae8d9 100644 --- a/DMX-2.0/Conduite.cs +++ b/DMX-2.0/Conduite.cs @@ -229,10 +229,10 @@ namespace DMX2 } } - List circuitTelecomande=new List(); + HashSet circuitTelecomande=new HashSet(); int circuitTelecomandeVal=0; - public List CircuitTelecomande { + public HashSet CircuitTelecomande { get { return circuitTelecomande; } @@ -250,6 +250,12 @@ namespace DMX2 } } + bool IsCircuitTel(Circuit c){ + if (circuitTelecomande.Count == 0) + return false; + return circuitTelecomande.Contains (c); + } + // On utilise un thread qui boucle au lieu d'un timer. // C'est un peu moins précis, mais ca consomme beaucoup moins de ressources @@ -314,6 +320,8 @@ namespace DMX2 foreach (var seq in sequenceurs) { val = Math.Max (val, seq.ValeurCircuit (c)); } + if (IsCircuitTel (c)) + val = circuitTelecomandeVal; c.ValeurCourante = val * master / 100; } } else { @@ -322,15 +330,17 @@ namespace DMX2 foreach (var seq in sequenceurs) { val = Math.Max (val, seq.ValeurCircuit (c)); } + if (IsCircuitTel (c)) + val = circuitTelecomandeVal; c.ValeurCourante = val; } } - if (circuitTelecomande.Count > 0) { + /*if (circuitTelecomande.Count > 0) { foreach (Circuit c in circuitTelecomande) { c.ValeurCourante = circuitTelecomandeVal * master / 100; } - } + }*/ EventManager.ProcessEvents(); }