From 6ac96814fe3d8dd9ac317adffffaaf9e81c02ec6 Mon Sep 17 00:00:00 2001 From: tzim Date: Fri, 15 Nov 2013 10:34:59 +0000 Subject: [PATCH] --- DMX-2.0/Conduite.cs | 17 ++++++++++++++++- DMX-2.0/SequenceurLineaire.cs | 21 +++++++-------------- DMX-2.0/SequenceurMaitre.cs | 17 +++++++++++++++++ 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/DMX-2.0/Conduite.cs b/DMX-2.0/Conduite.cs index b4ef3a4..2de2aa8 100644 --- a/DMX-2.0/Conduite.cs +++ b/DMX-2.0/Conduite.cs @@ -221,11 +221,12 @@ namespace DMX2 } } + + EventManager.ProcessEvents(); } // Cette fonction retourne quasi immédiatement, même si il y'a beaucoup a faire sur l'affichage } - EventManager.ProcessEvents(); if(tickTime - derniereMaj > TimeSpan.FromMilliseconds(50)){ MainWindow.Win.ScheduleUpdate(); @@ -302,6 +303,11 @@ namespace DMX2 univ.Save(xmlUniversList); } + XmlElement xmlMaster = xmlDoc.CreateElement("Master"); + xmlMaster.SetAttribute("value",master.ToString()); + EventManager.SaveBindings(xmlMaster,masterEventTarget); + xmlRoot.AppendChild(xmlMaster); + seqmaitre.Save(xmlRoot); return xmlDoc; @@ -344,6 +350,15 @@ namespace DMX2 univers.Add(u); } + XmlElement xmlMaster; + if((xmlMaster = root["Master"])!=null) + { + master = int.Parse( xmlMaster.GetAttribute("value")); + foreach(string id in EventManager.LoadBindings(xmlMaster)) + BindMaster(id); + + } + seqmaitre = SequenceurMaitre.Load(this,root["SequenceurMaitre"]); } diff --git a/DMX-2.0/SequenceurLineaire.cs b/DMX-2.0/SequenceurLineaire.cs index 233b9ca..9444855 100644 --- a/DMX-2.0/SequenceurLineaire.cs +++ b/DMX-2.0/SequenceurLineaire.cs @@ -164,15 +164,19 @@ namespace DMX2 TimeSpan timeStamp = TimeSpan.Zero; TimeSpan tempsTransition = TimeSpan.Zero; - List circuitsSeq = new List (); List effets = new List (); Effet effetcourrant = null; bool enTransition = false; + bool paused=false; + + + // TODO rassembler tout ca en un seul dictionnaire ... + List circuitsSeq = new List (); Dictionary valeurscourantes = new Dictionary (); Dictionary valeursinitiales = new Dictionary (); Dictionary valeurschangees = new Dictionary (); - Dictionary targets = new Dictionary(); + actionEventTarget masterEventTarget=null; actionEventTarget goNextEventTarget=null; actionEventTarget goBackEventTarget=null; @@ -261,18 +265,9 @@ namespace DMX2 circuitsSeq.Remove (c); valeurscourantes.Remove (c); valeursinitiales.Remove (c); + targets.Remove(c); } - /*public override void MajCircuitsSupprimes () - { - lock (this) { - foreach (var c in circuitsSeq.ToArray()) { - if (!Conduite.Courante.Circuits.Contains (c)) - RetireCircuit (c); - } - } - }*/ - public override int ValeurCircuit (Circuit c) { lock(this) { @@ -314,8 +309,6 @@ namespace DMX2 return targets[c].Attache; } - bool paused=false; - public bool Paused { get { return paused; diff --git a/DMX-2.0/SequenceurMaitre.cs b/DMX-2.0/SequenceurMaitre.cs index f17b95d..e468420 100644 --- a/DMX-2.0/SequenceurMaitre.cs +++ b/DMX-2.0/SequenceurMaitre.cs @@ -267,6 +267,12 @@ namespace DMX2 foreach(Ligne l in lignes) l.Save(el); + XmlElement xmlEl = parent.OwnerDocument.CreateElement ("EffetSuivant"); + if(EventManager.SaveBindings(xmlEl,goNextEventTarget )) el.AppendChild(xmlEl); + + xmlEl = parent.OwnerDocument.CreateElement ("EffetPrecedent"); + if(EventManager.SaveBindings(xmlEl,goBackEventTarget )) el.AppendChild(xmlEl); + } @@ -278,6 +284,17 @@ namespace DMX2 seq.lignes.Add(Ligne.Load(c,xl as XmlElement)); } + + XmlElement xmlE; + if ((xmlE = el["EffetSuivant"])!= null) + foreach(string id in EventManager.LoadBindings(xmlE)) + seq.BindEffetSuivant(id); + + if ((xmlE = el["EffetPrecedent"])!= null) + foreach(string id in EventManager.LoadBindings(xmlE)) + seq.BindEffetPrecedent(id); + + return seq; } }