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