diff --git a/DMX-2.0/SequenceurSon.cs b/DMX-2.0/SequenceurSon.cs index 7bb22c7..4b0b140 100644 --- a/DMX-2.0/SequenceurSon.cs +++ b/DMX-2.0/SequenceurSon.cs @@ -55,6 +55,8 @@ namespace DMX2 Gst.State state,pending; Gst.StateChangeReturn scret; + bool repeat = false; + actionEventTargetEx volumeEventTarget=null; public ReadOnlyCollection Files { @@ -72,6 +74,7 @@ namespace DMX2 return files.IndexOf (curfile); } set { + repeat = false; if(value>=0 && value< files.Count) lock(this) LoadFile(value); @@ -229,12 +232,13 @@ namespace DMX2 get { if(element == null) return "Stopped"; UpdateState(); + string rpStr = repeat ? " (r)" : string.Empty; if(pending == Gst.State.VoidPending){ - return state.ToString(); + return string.Format("{0}{1}", state.ToString(),rpStr); } if(scret == Gst.StateChangeReturn.Async) - return string.Format("{0}=>{1}", state,pending); - return string.Format("{0}=>{1} : {2}",state,pending,scret); + return string.Format("{0}=>{1}{2}", state,pending,rpStr); + return string.Format("{0}=>{1} : {2} {3}",state,pending,scret,rpStr); } } @@ -286,6 +290,13 @@ namespace DMX2 } } + if (repeat) { + if (state == Gst.State.Playing) { + if ((Duration - PlayTime).TotalSeconds < 0.001) { + PlayTime = TimeSpan.Zero; + } + } + } } public override void Save (System.Xml.XmlElement parent) @@ -325,11 +336,11 @@ namespace DMX2 static System.Text.RegularExpressions.Regex regexCommand1 = new System.Text.RegularExpressions.Regex( - @"(?\d+)?(g(?[\d\.:]+))?(v(?\d+)(,(?\d+))?)?(?(ps|p|s))?", + @"(?\d+)?(g(?[\d\.:]+))?(v(?\d+)(,(?\d+))?)?(?(ps|p|s))?(?(r))?", System.Text.RegularExpressions.RegexOptions.Compiled); static System.Text.RegularExpressions.Regex regexCommand2 = new System.Text.RegularExpressions.Regex( - @"^(?\d+)(?[gvp](.+)?)?", + @"^(?\d+)(?[gvpsr](.+)?)?", System.Text.RegularExpressions.RegexOptions.Compiled); @@ -393,6 +404,9 @@ namespace DMX2 break; } } + if (cmd.Groups ["repeat"].Success) { + repeat = true; + } } } } diff --git a/DMX-2.0/gtk-gui/DMX2.MainWindow.cs b/DMX-2.0/gtk-gui/DMX2.MainWindow.cs index ce45230..5b82d65 100644 --- a/DMX-2.0/gtk-gui/DMX2.MainWindow.cs +++ b/DMX-2.0/gtk-gui/DMX2.MainWindow.cs @@ -497,6 +497,7 @@ namespace DMX2 this.toolbar7 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar7"))); this.toolbar7.Name = "toolbar7"; this.toolbar7.ShowArrow = false; + this.toolbar7.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0)); this.hbox4.Add (this.toolbar7); global::Gtk.Box.BoxChild w80 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.toolbar7])); w80.Position = 0; diff --git a/DMX-2.0/gtk-gui/DMX2.SeqLinUI.cs b/DMX-2.0/gtk-gui/DMX2.SeqLinUI.cs index 513b798..7a54214 100644 --- a/DMX-2.0/gtk-gui/DMX2.SeqLinUI.cs +++ b/DMX-2.0/gtk-gui/DMX2.SeqLinUI.cs @@ -185,6 +185,7 @@ namespace DMX2 this.toolbar2 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar2"))); this.toolbar2.Name = "toolbar2"; this.toolbar2.ShowArrow = false; + this.toolbar2.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0)); this.toolbar2.IconSize = ((global::Gtk.IconSize)(2)); this.vbox4.Add (this.toolbar2); global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.toolbar2])); diff --git a/DMX-2.0/gtk-gui/gui.stetic b/DMX-2.0/gtk-gui/gui.stetic index 042ee46..0400ede 100644 --- a/DMX-2.0/gtk-gui/gui.stetic +++ b/DMX-2.0/gtk-gui/gui.stetic @@ -617,6 +617,7 @@ page False + Icons @@ -1015,6 +1016,7 @@ au sequenceur False + Icons SmallToolbar @@ -3900,7 +3902,6 @@ trames DMX (ms) - True True