diff --git a/DMX-2.0/DMX-2.0.csproj b/DMX-2.0/DMX-2.0.csproj index 56eeb14..9de3483 100644 --- a/DMX-2.0/DMX-2.0.csproj +++ b/DMX-2.0/DMX-2.0.csproj @@ -46,11 +46,14 @@ - False gtk-sharp-2.0 + + False + gstreamer-sharp-0.10 + @@ -150,7 +153,6 @@ - @@ -192,5 +194,6 @@ + \ No newline at end of file diff --git a/DMX-2.0/Main.cs b/DMX-2.0/Main.cs index 7c7bfea..8335159 100644 --- a/DMX-2.0/Main.cs +++ b/DMX-2.0/Main.cs @@ -26,7 +26,7 @@ namespace DMX2 public static void Main (string[] args) { bool fullscreen = false; - WebServer ws = null; bool webserv = false; + //WebServer ws = null; bool webserv = false; System.IO.FileInfo openfile=null; // Traitement des options en ligne de commande : @@ -37,9 +37,9 @@ namespace DMX2 case "fs": fullscreen = true; break; - case "ws": + /*case "ws": webserv = true; - break; + break; */ default: if(System.IO.File.Exists(arg)) openfile = new System.IO.FileInfo(arg); @@ -47,7 +47,7 @@ namespace DMX2 } } - if(webserv) ws = new WebServer(); + //if(webserv) ws = new WebServer(); // Initialisation GTK# Application.Init (); @@ -86,7 +86,7 @@ namespace DMX2 Conduite.Courante.Dispose (); } - if(ws!=null) ws.Dispose(); + //if(ws!=null) ws.Dispose(); } static void HandleUnhandledException (GLib.UnhandledExceptionArgs args) diff --git a/DMX-2.0/MainWindow.cs b/DMX-2.0/MainWindow.cs index 4433998..bc177fe 100644 --- a/DMX-2.0/MainWindow.cs +++ b/DMX-2.0/MainWindow.cs @@ -444,7 +444,7 @@ namespace DMX2 protected void OnOpenActionActivated (object sender, EventArgs e) { - FileChooserDialog fcd = new FileChooserDialog ("Sauver sous ...", this, FileChooserAction.Open, + FileChooserDialog fcd = new FileChooserDialog ("Ouvrir ...", this, FileChooserAction.Open, "Annuler", ResponseType.Cancel, "Ouvrir", ResponseType.Accept); diff --git a/DMX-2.0/SeqSonUI.cs b/DMX-2.0/SeqSonUI.cs index fcf5a4b..4695de3 100644 --- a/DMX-2.0/SeqSonUI.cs +++ b/DMX-2.0/SeqSonUI.cs @@ -25,15 +25,156 @@ namespace DMX2 [System.ComponentModel.ToolboxItem(true)] public partial class SeqSonUI : SequenceurUI { + + ListStore lsFiles = null; + + SequenceurSon sequenceur; + + public void buildListFiles () + { + lsFiles = new ListStore(typeof(string)); + + listFiles.EnableGridLines= TreeViewGridLines.Both; + + var idCol = new Gtk.TreeViewColumn (); + var idCell = new Gtk.CellRendererText (); + idCol.Title = "N°"; + idCol.PackStart (idCell, true); + idCol.SetCellDataFunc (idCell, new Gtk.TreeCellDataFunc (RenderNum)); + listFiles.AppendColumn (idCol); + + var fileCol = new Gtk.TreeViewColumn (); + var fileCell = new Gtk.CellRendererText (); + fileCol.Title = "Nom"; + fileCol.PackStart (fileCell, true); + fileCol.SetCellDataFunc (fileCell, new Gtk.TreeCellDataFunc (RenderFile)); + listFiles.AppendColumn (fileCol); + + listFiles.Model = lsFiles; + } + + void UpdListFiles () + { + lsFiles.Clear(); + foreach (var file in sequenceur.Files) { + lsFiles.AppendValues(file); + } + } + + void RenderNum (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) + { + if (Conduite.Courante==null) return; + string num=string.Empty; + string l = tree_model.GetValue (iter, 0) as string; + if( sequenceur.CurFile == l ) + num+= "->"; + (cell as Gtk.CellRendererText).Text = num + (sequenceur.Files.IndexOf(l)+1).ToString(); + } + + void RenderFile (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) + { + if (Conduite.Courante==null) return; + string l = tree_model.GetValue (iter, 0) as string; + (cell as Gtk.CellRendererText).Text = l; + } + public SeqSonUI (SequenceurSon s):base(s) { this.Build (); + sequenceur = s; + buildListFiles(); } #region implemented abstract members of DMX2.SequenceurUI public override void Update (bool full) { //throw new System.NotImplementedException (); } + + int IndexSelection() + { + var sel = listFiles.Selection.GetSelectedRows(); + if(sel.Length ==0) return -1; + return listFiles.Selection.GetSelectedRows()[0].Indices[0]; + } + + protected void OnActAddFileActivated (object sender, EventArgs e) + { + FileChooserDialog fcd = new FileChooserDialog ("Ouvrir ...", this.Parent as Gtk.Window, + FileChooserAction.Open, + "Annuler", ResponseType.Cancel, + "Ouvrir", ResponseType.Accept); + fcd.SelectMultiple = true; + /*fcd.Filter = new FileFilter (); + fcd.Filter.AddPattern ("*.mp3");*/ + if ((ResponseType)fcd.Run () == ResponseType.Cancel || fcd.Filename == null) { + fcd.Destroy (); + return; + } + + int pos = IndexSelection (); + foreach (var file in fcd.Filenames) { + pos = sequenceur.AddFile (pos + 1, file ); + if(sequenceur.CurFile.Equals(string.Empty)) + sequenceur.Index=0; + } + fcd.Destroy (); + UpdListFiles(); + + } + + protected void OnActDelFileActivated (object sender, EventArgs e) + { + int pos = IndexSelection(); + if (pos==-1) return; + sequenceur.DelFile(pos); + UpdListFiles(); + } + + protected void OnBtnNextClicked (object sender, EventArgs e) + { + sequenceur.Index+=1; + listFiles.QueueDraw(); + } + + + protected void OnBtnPlayClicked (object sender, EventArgs e) + { + sequenceur.Play(); + } + + protected void OnBtnPauseClicked (object sender, EventArgs e) + { + sequenceur.Pause(); + } + + protected void OnBtnStopClicked (object sender, EventArgs e) + { + sequenceur.Stop(); + } + + protected void OnBtnPrevClicked (object sender, EventArgs e) + { + sequenceur.Index-=1; + listFiles.QueueDraw(); + } + + protected void OnBtnRewindPressed (object sender, EventArgs e) + { + Console.WriteLine("Rew Pressed"); + } + protected void OnBtnRewindReleased (object sender, EventArgs e) + { + Console.WriteLine("Rew Released"); + } + protected void OnBtnForwardPressed (object sender, EventArgs e) + { + Console.WriteLine("FF Pressed"); + } + + protected void OnBtnForwardReleased (object sender, EventArgs e) + { + Console.WriteLine("FF Released"); + } #endregion } diff --git a/DMX-2.0/SequenceurSon.cs b/DMX-2.0/SequenceurSon.cs index 0dd1275..db9a985 100644 --- a/DMX-2.0/SequenceurSon.cs +++ b/DMX-2.0/SequenceurSon.cs @@ -29,8 +29,101 @@ namespace DMX2 SeqSonUI ui=null; + static bool gsinit=false; + + List files = new List(); + + string curfile = string.Empty; + + Gst.Element element = null; + + public ReadOnlyCollection Files { + get { + return files.AsReadOnly(); + } + } + + public string CurFile { + get{return curfile; } + } + + public int Index { + get { + return files.IndexOf (curfile); + } + set { + if(value>=0 && value< files.Count) + LoadFile(value); + } + } + + public int AddFile (int pos, string file) + { + lock (this) { + files.Insert (pos, file); + //CommandAdd(pos); + return pos; + } + } + + public void DelFile (int pos) + { + lock (this) { + + files.RemoveAt (pos); + //CommandRemove(pos); + } + } + + void LoadFile (int pos) + { + curfile = files[pos]; + if (element != null) { + element.SetState(Gst.State.Null); + element.Dispose(); + } + + Uri uri = new Uri(curfile); + + element = Gst.ElementFactory.Make("playbin2"); + element["uri"] = uri.AbsoluteUri; + element.SetState(Gst.State.Paused); + } + + public void Play () + { + if(element == null)return; + element.SetState(Gst.State.Playing); + } + + public void Pause () + { + if(element == null)return; + element.SetState(Gst.State.Paused); + } + public void Stop () + { + element.SetState(Gst.State.Null); + element.Dispose(); + element=null; + } + + public void MoveTo(ulong pos){ + + } + + static void GstInit () + { + if(gsinit) return; + gsinit=true; + string[] args = new string[] {"--gst-disable-segtrap"}; + Gst.Application.Init("dmx2", ref args ); + + } + public SequenceurSon () { + GstInit(); } #region implemented abstract members of DMX2.Sequenceur public override SequenceurUI GetUI () diff --git a/DMX-2.0/gtk-gui/DMX2.SeqSonUI.cs b/DMX-2.0/gtk-gui/DMX2.SeqSonUI.cs index 6e6c841..13a4ab6 100644 --- a/DMX-2.0/gtk-gui/DMX2.SeqSonUI.cs +++ b/DMX-2.0/gtk-gui/DMX2.SeqSonUI.cs @@ -13,8 +13,8 @@ namespace DMX2 private global::Gtk.Action mediaRewindAction; private global::Gtk.Action mediaForwardAction; private global::Gtk.Action mediaNextAction; - private global::Gtk.Action addAction; - private global::Gtk.Action removeAction; + private global::Gtk.Action actAddFile; + private global::Gtk.Action actDelFile; private global::Gtk.Action preferencesAction; private global::Gtk.Action closeAction1; private global::Gtk.Action preferencesAction1; @@ -29,16 +29,21 @@ namespace DMX2 private global::Gtk.Label actLabel; private global::Gtk.Label timeLabel; private global::Gtk.ProgressBar progressbar1; - private global::Gtk.Toolbar toolbar2; - private global::Gtk.HBox hbox4; - private global::Gtk.Toolbar toolbar3; + private global::Gtk.HBox hbox3; + private global::Gtk.Button btnPlay; + private global::Gtk.Button btnPause; + private global::Gtk.Button btnStop; + private global::Gtk.Button btnPrev; + private global::Gtk.Button btnRewind; + private global::Gtk.Button btnForward; + private global::Gtk.Button btnNext; private global::Gtk.Entry entry1; private global::Gtk.Button button133; private global::Gtk.VScale vscale1; private global::Gtk.Toolbar toolbar4; private global::Gtk.ScrolledWindow GtkScrolledWindow; - private global::Gtk.NodeView nodeview1; - private global::Gtk.Label GtkLabel3; + private global::Gtk.NodeView listFiles; + private global::Gtk.Label GtkLabel9; protected virtual void Build () { @@ -63,10 +68,10 @@ namespace DMX2 w2.Add (this.mediaForwardAction, null); this.mediaNextAction = new global::Gtk.Action ("mediaNextAction", null, null, "gtk-media-next"); w2.Add (this.mediaNextAction, null); - this.addAction = new global::Gtk.Action ("addAction", null, null, "gtk-add"); - w2.Add (this.addAction, null); - this.removeAction = new global::Gtk.Action ("removeAction", null, null, "gtk-remove"); - w2.Add (this.removeAction, null); + this.actAddFile = new global::Gtk.Action ("actAddFile", null, null, "gtk-add"); + w2.Add (this.actAddFile, null); + this.actDelFile = new global::Gtk.Action ("actDelFile", null, null, "gtk-remove"); + w2.Add (this.actDelFile, null); this.preferencesAction = new global::Gtk.Action ("preferencesAction", null, null, "gtk-preferences"); w2.Add (this.preferencesAction, null); this.closeAction1 = new global::Gtk.Action ("closeAction1", null, null, "gtk-close"); @@ -153,59 +158,205 @@ namespace DMX2 w8.Expand = false; w8.Fill = false; // Container child vbox3.Gtk.Box+BoxChild - this.UIManager.AddUiFromString (""); - 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.vbox3.Add (this.toolbar2); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.toolbar2])); - w9.Position = 2; - w9.Expand = false; - w9.Fill = false; - // Container child vbox3.Gtk.Box+BoxChild - this.hbox4 = new global::Gtk.HBox (); - this.hbox4.Name = "hbox4"; - this.hbox4.Spacing = 6; - // Container child hbox4.Gtk.Box+BoxChild - this.UIManager.AddUiFromString (""); - this.toolbar3 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar3"))); - this.toolbar3.Name = "toolbar3"; - this.toolbar3.ShowArrow = false; - this.toolbar3.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0)); - this.toolbar3.IconSize = ((global::Gtk.IconSize)(2)); - this.hbox4.Add (this.toolbar3); - global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.toolbar3])); - w10.Position = 0; - // Container child hbox4.Gtk.Box+BoxChild + this.hbox3 = new global::Gtk.HBox (); + this.hbox3.Name = "hbox3"; + this.hbox3.Spacing = 6; + // Container child hbox3.Gtk.Box+BoxChild + this.btnPlay = new global::Gtk.Button (); + this.btnPlay.CanFocus = true; + this.btnPlay.Name = "btnPlay"; + this.btnPlay.UseUnderline = true; + // Container child btnPlay.Gtk.Container+ContainerChild + global::Gtk.Alignment w9 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w10 = new global::Gtk.HBox (); + w10.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w11 = new global::Gtk.Image (); + w11.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-play", global::Gtk.IconSize.Button); + w10.Add (w11); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w13 = new global::Gtk.Label (); + w10.Add (w13); + w9.Add (w10); + this.btnPlay.Add (w9); + this.hbox3.Add (this.btnPlay); + global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnPlay])); + w17.Position = 0; + w17.Expand = false; + w17.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild + this.btnPause = new global::Gtk.Button (); + this.btnPause.CanFocus = true; + this.btnPause.Name = "btnPause"; + this.btnPause.UseUnderline = true; + // Container child btnPause.Gtk.Container+ContainerChild + global::Gtk.Alignment w18 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w19 = new global::Gtk.HBox (); + w19.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w20 = new global::Gtk.Image (); + w20.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-pause", global::Gtk.IconSize.Button); + w19.Add (w20); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w22 = new global::Gtk.Label (); + w19.Add (w22); + w18.Add (w19); + this.btnPause.Add (w18); + this.hbox3.Add (this.btnPause); + global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnPause])); + w26.Position = 1; + w26.Expand = false; + w26.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild + this.btnStop = new global::Gtk.Button (); + this.btnStop.CanFocus = true; + this.btnStop.Name = "btnStop"; + this.btnStop.UseUnderline = true; + // Container child btnStop.Gtk.Container+ContainerChild + global::Gtk.Alignment w27 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w28 = new global::Gtk.HBox (); + w28.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w29 = new global::Gtk.Image (); + w29.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-stop", global::Gtk.IconSize.Button); + w28.Add (w29); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w31 = new global::Gtk.Label (); + w28.Add (w31); + w27.Add (w28); + this.btnStop.Add (w27); + this.hbox3.Add (this.btnStop); + global::Gtk.Box.BoxChild w35 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnStop])); + w35.Position = 2; + w35.Expand = false; + w35.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild + this.btnPrev = new global::Gtk.Button (); + this.btnPrev.CanFocus = true; + this.btnPrev.Name = "btnPrev"; + this.btnPrev.UseUnderline = true; + // Container child btnPrev.Gtk.Container+ContainerChild + global::Gtk.Alignment w36 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w37 = new global::Gtk.HBox (); + w37.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w38 = new global::Gtk.Image (); + w38.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-previous", global::Gtk.IconSize.Button); + w37.Add (w38); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w40 = new global::Gtk.Label (); + w37.Add (w40); + w36.Add (w37); + this.btnPrev.Add (w36); + this.hbox3.Add (this.btnPrev); + global::Gtk.Box.BoxChild w44 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnPrev])); + w44.Position = 3; + w44.Expand = false; + w44.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild + this.btnRewind = new global::Gtk.Button (); + this.btnRewind.CanFocus = true; + this.btnRewind.Name = "btnRewind"; + this.btnRewind.UseUnderline = true; + // Container child btnRewind.Gtk.Container+ContainerChild + global::Gtk.Alignment w45 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w46 = new global::Gtk.HBox (); + w46.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w47 = new global::Gtk.Image (); + w47.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-rewind", global::Gtk.IconSize.Button); + w46.Add (w47); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w49 = new global::Gtk.Label (); + w46.Add (w49); + w45.Add (w46); + this.btnRewind.Add (w45); + this.hbox3.Add (this.btnRewind); + global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnRewind])); + w53.Position = 4; + w53.Expand = false; + w53.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild + this.btnForward = new global::Gtk.Button (); + this.btnForward.CanFocus = true; + this.btnForward.Name = "btnForward"; + this.btnForward.UseUnderline = true; + // Container child btnForward.Gtk.Container+ContainerChild + global::Gtk.Alignment w54 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w55 = new global::Gtk.HBox (); + w55.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w56 = new global::Gtk.Image (); + w56.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-forward", global::Gtk.IconSize.Button); + w55.Add (w56); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w58 = new global::Gtk.Label (); + w55.Add (w58); + w54.Add (w55); + this.btnForward.Add (w54); + this.hbox3.Add (this.btnForward); + global::Gtk.Box.BoxChild w62 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnForward])); + w62.Position = 5; + w62.Expand = false; + w62.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild + this.btnNext = new global::Gtk.Button (); + this.btnNext.CanFocus = true; + this.btnNext.Name = "btnNext"; + this.btnNext.UseUnderline = true; + // Container child btnNext.Gtk.Container+ContainerChild + global::Gtk.Alignment w63 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w64 = new global::Gtk.HBox (); + w64.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w65 = new global::Gtk.Image (); + w65.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-media-next", global::Gtk.IconSize.Button); + w64.Add (w65); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w67 = new global::Gtk.Label (); + w64.Add (w67); + w63.Add (w64); + this.btnNext.Add (w63); + this.hbox3.Add (this.btnNext); + global::Gtk.Box.BoxChild w71 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnNext])); + w71.Position = 6; + w71.Expand = false; + w71.Fill = false; + // Container child hbox3.Gtk.Box+BoxChild this.entry1 = new global::Gtk.Entry (); this.entry1.CanFocus = true; this.entry1.Name = "entry1"; this.entry1.IsEditable = true; this.entry1.InvisibleChar = '•'; - this.hbox4.Add (this.entry1); - global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.entry1])); - w11.Position = 1; - // Container child hbox4.Gtk.Box+BoxChild + this.hbox3.Add (this.entry1); + global::Gtk.Box.BoxChild w72 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.entry1])); + w72.Position = 7; + // Container child hbox3.Gtk.Box+BoxChild this.button133 = new global::Gtk.Button (); this.button133.CanFocus = true; this.button133.Name = "button133"; this.button133.UseUnderline = true; this.button133.Label = "GoTo"; - this.hbox4.Add (this.button133); - global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.button133])); - w12.Position = 2; - w12.Expand = false; - w12.Fill = false; - this.vbox3.Add (this.hbox4); - global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox4])); - w13.Position = 3; - w13.Expand = false; - w13.Fill = false; + this.hbox3.Add (this.button133); + global::Gtk.Box.BoxChild w73 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.button133])); + w73.Position = 8; + w73.Expand = false; + w73.Fill = false; + this.vbox3.Add (this.hbox3); + global::Gtk.Box.BoxChild w74 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox3])); + w74.Position = 2; + w74.Expand = false; + w74.Fill = false; this.hbox1.Add (this.vbox3); - global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3])); - w14.Position = 0; + global::Gtk.Box.BoxChild w75 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3])); + w75.Position = 0; // Container child hbox1.Gtk.Box+BoxChild this.vscale1 = new global::Gtk.VScale (null); this.vscale1.WidthRequest = 20; @@ -220,12 +371,12 @@ namespace DMX2 this.vscale1.Digits = 0; this.vscale1.ValuePos = ((global::Gtk.PositionType)(3)); this.hbox1.Add (this.vscale1); - global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vscale1])); - w15.Position = 1; - w15.Expand = false; - w15.Fill = false; + global::Gtk.Box.BoxChild w76 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vscale1])); + w76.Position = 1; + w76.Expand = false; + w76.Fill = false; // Container child hbox1.Gtk.Box+BoxChild - this.UIManager.AddUiFromString (""); + this.UIManager.AddUiFromString (""); this.toolbar4 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar4"))); this.toolbar4.Name = "toolbar4"; this.toolbar4.Orientation = ((global::Gtk.Orientation)(1)); @@ -233,40 +384,52 @@ namespace DMX2 this.toolbar4.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0)); this.toolbar4.IconSize = ((global::Gtk.IconSize)(2)); this.hbox1.Add (this.toolbar4); - global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.toolbar4])); - w16.Position = 2; - w16.Expand = false; - w16.Fill = false; + global::Gtk.Box.BoxChild w77 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.toolbar4])); + w77.Position = 2; + w77.Expand = false; + w77.Fill = false; this.vbox2.Add (this.hbox1); - global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); - w17.Position = 0; - w17.Expand = false; - w17.Fill = false; + global::Gtk.Box.BoxChild w78 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); + w78.Position = 0; + w78.Expand = false; + w78.Fill = false; // Container child vbox2.Gtk.Box+BoxChild this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); this.GtkScrolledWindow.Name = "GtkScrolledWindow"; this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); // Container child GtkScrolledWindow.Gtk.Container+ContainerChild - this.nodeview1 = new global::Gtk.NodeView (); - this.nodeview1.CanFocus = true; - this.nodeview1.Name = "nodeview1"; - this.GtkScrolledWindow.Add (this.nodeview1); + this.listFiles = new global::Gtk.NodeView (); + this.listFiles.CanFocus = true; + this.listFiles.Name = "listFiles"; + this.listFiles.RulesHint = true; + this.GtkScrolledWindow.Add (this.listFiles); this.vbox2.Add (this.GtkScrolledWindow); - global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.GtkScrolledWindow])); - w19.Position = 1; + global::Gtk.Box.BoxChild w80 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.GtkScrolledWindow])); + w80.Position = 1; this.GtkAlignment.Add (this.vbox2); this.frame1.Add (this.GtkAlignment); - this.GtkLabel3 = new global::Gtk.Label (); - this.GtkLabel3.Name = "GtkLabel3"; - this.GtkLabel3.LabelProp = "Sequenceur Son"; - this.GtkLabel3.UseMarkup = true; - this.frame1.LabelWidget = this.GtkLabel3; + this.GtkLabel9 = new global::Gtk.Label (); + this.GtkLabel9.Name = "GtkLabel9"; + this.GtkLabel9.LabelProp = "Sequenceur Son"; + this.GtkLabel9.UseMarkup = true; + this.frame1.LabelWidget = this.GtkLabel9; this.Add (this.frame1); if ((this.Child != null)) { this.Child.ShowAll (); } w1.SetUiManager (UIManager); this.Hide (); + this.actAddFile.Activated += new global::System.EventHandler (this.OnActAddFileActivated); + this.actDelFile.Activated += new global::System.EventHandler (this.OnActDelFileActivated); + this.btnPlay.Clicked += new global::System.EventHandler (this.OnBtnPlayClicked); + this.btnPause.Clicked += new global::System.EventHandler (this.OnBtnPauseClicked); + this.btnStop.Clicked += new global::System.EventHandler (this.OnBtnStopClicked); + this.btnPrev.Clicked += new global::System.EventHandler (this.OnBtnPrevClicked); + this.btnRewind.Pressed += new global::System.EventHandler (this.OnBtnRewindPressed); + this.btnRewind.Released += new global::System.EventHandler (this.OnBtnRewindReleased); + this.btnForward.Pressed += new global::System.EventHandler (this.OnBtnForwardPressed); + this.btnForward.Released += new global::System.EventHandler (this.OnBtnForwardReleased); + this.btnNext.Clicked += new global::System.EventHandler (this.OnBtnNextClicked); } } } diff --git a/DMX-2.0/gtk-gui/gui.stetic b/DMX-2.0/gtk-gui/gui.stetic index 6aae55f..41aa180 100644 --- a/DMX-2.0/gtk-gui/gui.stetic +++ b/DMX-2.0/gtk-gui/gui.stetic @@ -3532,7 +3532,7 @@ trames DMX (ms) - + Action @@ -3574,15 +3574,17 @@ trames DMX (ms) gtk-media-next - + Action gtk-add + - + Action gtk-remove + Action @@ -3698,46 +3700,128 @@ trames DMX (ms) - - - False - Icons - SmallToolbar - - - - - - - - - - - - 2 - True - False - False - - - - + 6 - + - False - Icons - SmallToolbar - - - - + True + TextAndIcon + stock:gtk-media-play Button + + True + 0 True + False + False + + + + + + True + TextAndIcon + stock:gtk-media-pause Button + + True + + + + 1 + True + False + False + + + + + + True + TextAndIcon + stock:gtk-media-stop Button + + True + + + + 2 + True + False + False + + + + + + True + TextAndIcon + stock:gtk-media-previous Button + + True + + + + 3 + True + False + False + + + + + + True + TextAndIcon + stock:gtk-media-rewind Button + + True + + + + + 4 + True + False + False + + + + + + True + TextAndIcon + stock:gtk-media-forward Button + + True + + + + + 5 + True + False + False + + + + + + True + TextAndIcon + stock:gtk-media-next Button + + True + + + + 6 + True + False + False @@ -3748,7 +3832,7 @@ trames DMX (ms) - 1 + 7 True @@ -3761,7 +3845,7 @@ trames DMX (ms) True - 2 + 8 True False False @@ -3769,7 +3853,7 @@ trames DMX (ms) - 3 + 2 True False False @@ -3811,6 +3895,8 @@ trames DMX (ms) SmallToolbar + + @@ -3833,10 +3919,11 @@ trames DMX (ms) In - + True True + True @@ -3850,7 +3937,7 @@ trames DMX (ms) - + Sequenceur Son True