X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=win%2FC%23%2FfrmQueue.cs;h=352978960565caf1fa194c8a8985ae2816f6f26e;hb=cfa1fb7010dc9324e15d257bad7a73af66e9eb10;hp=4f8ac2c362c64be38f9c4977c2d532d273d66c3e;hpb=cbbdc517ad4577535c1934cbcf7f74dbfffe2f90;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/win/C#/frmQueue.cs b/win/C#/frmQueue.cs index 4f8ac2c3..35297896 100644 --- a/win/C#/frmQueue.cs +++ b/win/C#/frmQueue.cs @@ -8,34 +8,36 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; +using Handbrake.EncodeQueue; +using System.Collections.ObjectModel; namespace Handbrake { public partial class frmQueue : Form { private delegate void UpdateHandler(); - Queue.QueueHandler queue; + private EncodeAndQueueHandler queue; - public frmQueue(Queue.QueueHandler q) + public frmQueue(EncodeAndQueueHandler q) { InitializeComponent(); this.queue = q; - queue.OnEncodeStart += new EventHandler(queue_OnEncodeStart); - queue.OnQueueFinished += new EventHandler(queue_OnQueueFinished); - queue.OnPaused += new EventHandler(queue_OnPaused); + queue.NewJobStarted += new EventHandler(queueOnEncodeStart); + queue.QueueCompleted += new EventHandler(queueOnQueueFinished); + queue.QueuePauseRequested += new EventHandler(queueOnPaused); } - void queue_OnPaused(object sender, EventArgs e) + void queueOnPaused(object sender, EventArgs e) { setUIEncodeFinished(); updateUIElements(); } - void queue_OnQueueFinished(object sender, EventArgs e) + void queueOnQueueFinished(object sender, EventArgs e) { setUIEncodeFinished(); resetQueue(); // Reset the Queue Window } - void queue_OnEncodeStart(object sender, EventArgs e) + void queueOnEncodeStart(object sender, EventArgs e) { setUIEncodeStarted(); // make sure the UI is set correctly setCurrentEncodeInformation(); @@ -55,7 +57,7 @@ namespace Handbrake /// public new void Show() { - Show(true); + Show(true); } /// @@ -66,25 +68,26 @@ namespace Handbrake { if (doSetQueue) setQueue(); base.Show(); - Activate(); + + //Activate(); } // Start and Stop Controls private void btn_encode_Click(object sender, EventArgs e) { - if (queue.isPaused) + if (queue.PauseRequested) { setUIEncodeStarted(); MessageBox.Show("Encoding restarted", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } - if (!queue.isEncodeStarted) - queue.startEncode(); + if (!queue.isEncoding) + queue.StartEncodeQueue(); } private void btn_pause_Click(object sender, EventArgs e) { - queue.pauseEncode(); + queue.RequestPause(); setUIEncodeFinished(); resetQueue(); MessageBox.Show("No further items on the queue will start. The current encode process will continue until it is finished. \nClick 'Encode' when you wish to continue encoding the queue.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); @@ -139,8 +142,8 @@ namespace Handbrake } list_queue.Items.Clear(); - List theQueue = queue.getQueue(); - foreach (Queue.QueueItem queue_item in theQueue) + ReadOnlyCollection theQueue = queue.CurrentQueue; + foreach (Job queue_item in theQueue) { string q_item = queue_item.Query; Functions.QueryParser parsed = Functions.QueryParser.Parse(q_item); @@ -166,17 +169,15 @@ namespace Handbrake item.SubItems.Add(queue_item.Destination); // Destination item.SubItems.Add(parsed.VideoEncoder); // Video - // Display the first 4 audio tracks. - String audio = parsed.AudioEncoder1; - if (parsed.AudioEncoder2 != null) - audio += ", " + parsed.AudioEncoder2; - - if (parsed.AudioEncoder3 != null) - audio += ", " + parsed.AudioEncoder3; - - if (parsed.AudioEncoder4 != null) - audio += ", " + parsed.AudioEncoder4; - + // Display The Audio Track Information + string audio = string.Empty; + foreach (Functions.AudioTrack track in parsed.AudioInformation) + { + if (audio != "") + audio += ", " + track.Encoder; + else + audio = track.Encoder; + } item.SubItems.Add(audio); // Audio list_queue.Items.Add(item); @@ -203,9 +204,9 @@ namespace Handbrake } // found query is a global varible - Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.getLastQueryItem().Query); - lbl_source.Text = queue.getLastQueryItem().Source; - lbl_dest.Text = queue.getLastQueryItem().Destination; + Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query); + lbl_source.Text = queue.LastEncode.Source; + lbl_dest.Text = queue.LastEncode.Destination; lbl_title.Text = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString(); @@ -220,16 +221,16 @@ namespace Handbrake } lbl_vEnc.Text = parsed.VideoEncoder; - String audio = parsed.AudioEncoder1; - if (parsed.AudioEncoder2 != null) - audio += ", " + parsed.AudioEncoder2; - - if (parsed.AudioEncoder3 != null) - audio += ", " + parsed.AudioEncoder3; - - if (parsed.AudioEncoder4 != null) - audio += ", " + parsed.AudioEncoder4; + // Display The Audio Track Information + string audio = string.Empty; + foreach (Functions.AudioTrack track in parsed.AudioInformation) + { + if (audio != "") + audio += ", " + track.Encoder; + else + audio = track.Encoder; + } lbl_aEnc.Text = audio; } catch (Exception) @@ -254,9 +255,8 @@ namespace Handbrake // Remove each selected item foreach (int selectedIndex in selectedIndices) - queue.remove(selectedIndex); + queue.RemoveJob(selectedIndex); - queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file updateUIElements(); // Select the item where the first deleted item was previously @@ -309,9 +309,8 @@ namespace Handbrake // Move up each selected item foreach (int selectedIndex in selectedIndices) - queue.moveUp(selectedIndex); + queue.MoveUp(selectedIndex); - queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file updateUIElements(); // Keep the selected item(s) selected, now moved up one index @@ -338,9 +337,8 @@ namespace Handbrake // Move down each selected item foreach (int selectedIndex in selectedIndices) - queue.moveDown(selectedIndex); + queue.MoveDown(selectedIndex); - queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file updateUIElements(); // Keep the selected item(s) selected, now moved down one index @@ -359,7 +357,7 @@ namespace Handbrake SaveFile.Filter = "Batch|.bat"; SaveFile.ShowDialog(); if (SaveFile.FileName != String.Empty) - queue.writeBatchScript(SaveFile.FileName); + queue.WriteBatchScriptToFile(SaveFile.FileName); } private void mnu_export_Click(object sender, EventArgs e) { @@ -367,22 +365,21 @@ namespace Handbrake SaveFile.Filter = "HandBrake Queue|*.queue"; SaveFile.ShowDialog(); if (SaveFile.FileName != String.Empty) - queue.write2disk(SaveFile.FileName); + queue.WriteQueueStateToFile(SaveFile.FileName); } private void mnu_import_Click(object sender, EventArgs e) { OpenFile.FileName = ""; OpenFile.ShowDialog(); if (OpenFile.FileName != String.Empty) - queue.recoverQueue(OpenFile.FileName); + queue.LoadQueueFromFile(OpenFile.FileName); updateUIElements(); } private void mnu_readd_Click(object sender, EventArgs e) { - if (queue.getLastQueryItem() != null) + if (!queue.LastEncode.IsEmpty) { - queue.add(queue.getLastQueryItem().Query, queue.getLastQueryItem().Source, queue.getLastQueryItem().Destination); - queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file + queue.AddJob(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, queue.LastEncode.CustomQuery); updateUIElements(); } }