]> granicus.if.org Git - handbrake/commitdiff
WinGui: Quick Fix for the batch encoding with libhb mode.
authorsr55 <sr55.hb@outlook.com>
Mon, 19 Jan 2015 21:55:29 +0000 (21:55 +0000)
committersr55 <sr55.hb@outlook.com>
Mon, 19 Jan 2015 21:55:29 +0000 (21:55 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6775 b64f7644-9d1e-0410-96f1-a4d463321fa5

17 files changed:
win/CS/HandBrake.ApplicationServices/Model/QueueTask.cs
win/CS/HandBrake.ApplicationServices/Services/Encode/LibEncode.cs
win/CS/HandBrake.ApplicationServices/Services/Scan/Model/Source.cs
win/CS/HandBrake.ApplicationServices/Services/Scan/Model/Title.cs
win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs
win/CS/HandBrakeWPF/ViewModels/AudioViewModel.cs
win/CS/HandBrakeWPF/ViewModels/ChaptersViewModel.cs
win/CS/HandBrakeWPF/ViewModels/EncoderOptionsViewModel.cs
win/CS/HandBrakeWPF/ViewModels/FiltersViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IStaticPreviewViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/ITabInterface.cs
win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
win/CS/HandBrakeWPF/ViewModels/PictureSettingsViewModel.cs
win/CS/HandBrakeWPF/ViewModels/StaticPreviewViewModel.cs
win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs
win/CS/HandBrakeWPF/ViewModels/VideoViewModel.cs
win/CS/HandBrakeWPF/ViewModels/X264ViewModel.cs

index d1d48b93e300c9378a54d3a4051b1a0b93d8a7ec..2f223d97b23f70e5593aa46f95c4af133d625a91 100644 (file)
@@ -47,11 +47,15 @@ namespace HandBrake.ApplicationServices.Model
         /// <param name="configuration">\r
         /// The configuration.\r
         /// </param>\r
-        public QueueTask(EncodeTask task, HBConfiguration configuration)\r
+        /// <param name="scannedSource">\r
+        /// The scanned Source.\r
+        /// </param>\r
+        public QueueTask(EncodeTask task, HBConfiguration configuration, Source scannedSource)\r
         {\r
             this.Task = task;\r
             this.Configuration = configuration;\r
             this.Status = QueueItemStatus.Waiting;\r
+            this.ScannedSource = scannedSource;\r
         }\r
 \r
         /// <summary>\r
index 516be893260540c9fe0e129036eef8d9ac2bdc62..0ed17fb5105f81ffe8e15b6eb267b91872b28138 100644 (file)
@@ -137,7 +137,8 @@ namespace HandBrake.ApplicationServices.Services.Encode
                 HandBrakeUtils.SetDvdNav(!job.Configuration.IsDvdNavDisabled);\r
 \r
                 ServiceLogMessage("Scanning title for encoding ... ");\r
-                this.instance.StartScan(job.Task.Source, job.Configuration.PreviewScanCount, job.Task.Title);\r
+\r
+                this.instance.StartScan(job.ScannedSource.ScanPath, job.Configuration.PreviewScanCount, job.Task.Title);\r
             }\r
             catch (Exception exc)\r
             {\r
@@ -224,9 +225,9 @@ namespace HandBrake.ApplicationServices.Services.Encode
             Interop.Model.Scan.Title scannedTitle = new Interop.Model.Scan.Title\r
                                                         {\r
                                                             Resolution = new Size(title.Resolution.Width, title.Resolution.Height), \r
-                                                            ParVal = new Size(title.ParVal.Width, title.ParVal.Height),\r
-                                                            FramerateDenominator = title.FramerateDenominator,\r
-                                                            FramerateNumerator = title.FramerateNumerator,\r
+                                                            ParVal = new Size(title.ParVal.Width, title.ParVal.Height), \r
+                                                            FramerateDenominator = title.FramerateDenominator, \r
+                                                            FramerateNumerator = title.FramerateNumerator, \r
                                                         };\r
             \r
             // TODO fix this tempory hack to pass in the required title information into the factory.\r
index 27c7e938d1091ed8f6407a2f00c46e44177e47ce..725c52c9129d78c72b00a98523e6e4c57e82998a 100644 (file)
@@ -9,6 +9,7 @@
 \r
 namespace HandBrake.ApplicationServices.Services.Scan.Model\r
 {\r
+    using System;\r
     using System.Collections.Generic;\r
     using System.Runtime.Serialization;\r
 \r
index 9dce3858a2fbb1b85178e145d7c90d8d26a9f422..1798b582ac9471bf32aeeb4af0f35fc10fd925e3 100644 (file)
@@ -54,6 +54,8 @@ namespace HandBrake.ApplicationServices.Services.Scan.Model
         /// </summary>\r
         public int TitleNumber { get; set; }\r
 \r
+        public int RescanTitleNumber { get; set; }\r
+\r
         /// <summary>\r
         /// Gets or sets Playlist.\r
         /// </summary>\r
index 6f2dee1a0c04971b6abffa23da998eac3a95e023..e01a382101a2b86c8ce1c08cb8e44ec36aa3c5ae 100644 (file)
@@ -9,7 +9,6 @@
 \r
 namespace HandBrakeWPF.ViewModels\r
 {\r
-    using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services.Encode.Model;\r
     using HandBrake.ApplicationServices.Services.Scan.Model;\r
     using HandBrake.Interop.Model.Encoding;\r
@@ -148,6 +147,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -157,10 +159,10 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
-            this.EncoderOptionsViewModel.SetSource(title, preset, task);\r
-            this.X264ViewModel.SetSource(title, preset, task);\r
+            this.EncoderOptionsViewModel.SetSource(source, title, preset, task);\r
+            this.X264ViewModel.SetSource(source, title, preset, task);\r
         }\r
 \r
         #endregion\r
index b0e30f3ac28fe94f202ee0b064823868f8b3f092..22a7094e705a75b21cdd06dbd57a5567871611bd 100644 (file)
@@ -400,6 +400,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Set the Source Title\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -409,7 +412,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.SourceTracks = title.AudioTracks;\r
 \r
index a965440df12a9ae972cee90edb4448c123a71077..0e889d176be332290e8abc197067a22aaedb14ef 100644 (file)
@@ -194,6 +194,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -203,7 +206,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.Task = task;\r
             this.NotifyOfPropertyChange(() => this.Task);\r
index 12ba85a492401b32f06dc3ba9a14c412331fe90f..ae9cc386f342816ea1ed70142c9ffaa58b2924f1 100644 (file)
@@ -11,7 +11,6 @@ namespace HandBrakeWPF.ViewModels
 {\r
     using System.Collections.Generic;\r
 \r
-    using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services.Encode.Model;\r
     using HandBrake.ApplicationServices.Services.Scan.Model;\r
     using HandBrake.Interop.Model.Encoding;\r
@@ -71,6 +70,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// The set source.\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="selectedTitle">\r
         /// The selected title.\r
         /// </param>\r
@@ -80,7 +82,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title selectedTitle, Preset currentPreset, EncodeTask task)\r
+        public void SetSource(Source source, Title selectedTitle, Preset currentPreset, EncodeTask task)\r
         {\r
             this.Task = task;\r
             this.Preset = currentPreset;\r
index 0a983348edc1b23433520e2920217b104cc98f5f..84b649b213d00b1705606901838c048b5e7b4e60 100644 (file)
@@ -550,6 +550,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -559,7 +562,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.CurrentTask = task;\r
         }\r
index 448faca36ab9dbe619ce2eb2122279a4365aa6e0..aa2ba9d1badd99bc08d6d04fcd4439f970e8547e 100644 (file)
@@ -9,8 +9,8 @@
 \r
 namespace HandBrakeWPF.ViewModels.Interfaces\r
 {\r
-    using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services.Encode.Model;\r
+    using HandBrake.ApplicationServices.Services.Scan.Model;\r
 \r
     /// <summary>\r
     /// The Static Preview View Model Interface\r
@@ -23,7 +23,10 @@ namespace HandBrakeWPF.ViewModels.Interfaces
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        void UpdatePreviewFrame(EncodeTask task);\r
+        /// <param name="scannedSource">\r
+        /// The scanned Source.\r
+        /// </param>\r
+        void UpdatePreviewFrame(EncodeTask task, Source scannedSource);\r
 \r
         /// <summary>\r
         /// Gets or sets a value indicating whether is open.\r
index 437534181f2a136d7ec4d0f4be96d9801776468a..43a536ab41fe80af5b38f5aa13df4426704728ff 100644 (file)
@@ -9,7 +9,6 @@
 \r
 namespace HandBrakeWPF.ViewModels.Interfaces\r
 {\r
-    using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services.Encode.Model;\r
     using HandBrake.ApplicationServices.Services.Scan.Model;\r
 \r
@@ -23,6 +22,9 @@ namespace HandBrakeWPF.ViewModels.Interfaces
         /// <summary>\r
         /// Setup the window after a scan.\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="selectedTitle">\r
         /// The selected title.\r
         /// </param>\r
@@ -32,7 +34,7 @@ namespace HandBrakeWPF.ViewModels.Interfaces
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        void SetSource(Title selectedTitle, Preset currentPreset, EncodeTask task);\r
+        void SetSource(Source source, Title selectedTitle, Preset currentPreset, EncodeTask task);\r
 \r
         /// <summary>\r
         /// Set the selected preset\r
index 788b2ba0f4375e64306cbfca3f88d783fdf8d552..523f07312776ac806381617c4d2bf463fd344034 100644 (file)
@@ -1166,7 +1166,7 @@ namespace HandBrakeWPF.ViewModels
             if (!string.IsNullOrEmpty(this.CurrentTask.Source))\r
             {\r
                 this.StaticPreviewViewModel.IsOpen = true;\r
-                this.StaticPreviewViewModel.UpdatePreviewFrame(this.CurrentTask);\r
+                this.StaticPreviewViewModel.UpdatePreviewFrame(this.CurrentTask, this.ScannedSource);\r
                 this.WindowManager.ShowWindow(this.StaticPreviewViewModel);\r
             }\r
         }\r
@@ -1229,7 +1229,7 @@ namespace HandBrakeWPF.ViewModels
                 return false;\r
             }\r
 \r
-            QueueTask task = new QueueTask(new EncodeTask(this.CurrentTask), HBConfigurationFactory.Create());\r
+            QueueTask task = new QueueTask(new EncodeTask(this.CurrentTask), HBConfigurationFactory.Create(), this.ScannedSource);\r
 \r
             if (!this.queueProcessor.CheckForDestinationPathDuplicates(task.Task.Destination))\r
             {\r
@@ -1813,6 +1813,7 @@ namespace HandBrakeWPF.ViewModels
         /// </param>\r
         private void QueueEditAction(bool successful)\r
         {\r
+            /* TODO Fix this. */\r
             Execute.OnUIThread(() =>\r
                 {\r
                     // Copy all the Scan data into the UI\r
@@ -1903,13 +1904,13 @@ namespace HandBrakeWPF.ViewModels
             // Setup the Tabs\r
             if (this.selectedTitle != null)\r
             {\r
-                this.PictureSettingsViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
-                this.VideoViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
-                this.FiltersViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
-                this.AudioViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
-                this.SubtitleViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
-                this.ChaptersViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
-                this.AdvancedViewModel.SetSource(this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.PictureSettingsViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.VideoViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.FiltersViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.AudioViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.SubtitleViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.ChaptersViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
+                this.AdvancedViewModel.SetSource(this.ScannedSource, this.SelectedTitle, this.SelectedPreset, this.CurrentTask);\r
             }\r
         }\r
 \r
index 3a1df33bfee3907b59283d0a38f4d28353eec9c8..56ceacf712276985695d172c64000e102318e608 100644 (file)
@@ -112,6 +112,11 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         private Title currentTitle;\r
 \r
+        /// <summary>\r
+        /// The scanned source.\r
+        /// </summary>\r
+        private Source scannedSource;\r
+\r
         #endregion\r
 \r
         #region Constructors and Destructors\r
@@ -701,6 +706,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -710,11 +718,13 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.currentTitle = title;\r
             this.Task = task;\r
 \r
+            this.scannedSource = source;\r
+\r
             if (title != null)\r
             {\r
                 // Set cached info\r
@@ -956,7 +966,7 @@ namespace HandBrakeWPF.ViewModels
             // Step 5, Update the Preview\r
             if (delayedPreviewprocessor != null && this.Task != null && this.StaticPreviewViewModel != null && this.StaticPreviewViewModel.IsOpen)\r
             {\r
-                delayedPreviewprocessor.PerformTask(() => this.StaticPreviewViewModel.UpdatePreviewFrame(this.Task), 800);\r
+                delayedPreviewprocessor.PerformTask(() => this.StaticPreviewViewModel.UpdatePreviewFrame(this.Task, this.scannedSource), 800);\r
             }\r
         }\r
 \r
index d360ab0eadf64db7760842862d7f1dc65574405b..a05ea2194cf0fd3860d3ac77d9a251cc2c8b8ea0 100644 (file)
@@ -26,6 +26,7 @@ namespace HandBrakeWPF.ViewModels
     using HandBrake.ApplicationServices.Services.Encode.Model.Models;\r
     using HandBrake.ApplicationServices.Services.Interfaces;\r
     using HandBrake.ApplicationServices.Services.Scan.Interfaces;\r
+    using HandBrake.ApplicationServices.Services.Scan.Model;\r
     using HandBrake.Interop.Model.Encoding;\r
 \r
     using HandBrakeWPF.Factories;\r
@@ -217,6 +218,11 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         public EncodeTask Task { get; set; }\r
 \r
+        /// <summary>\r
+        /// Gets or sets the scanned source.\r
+        /// </summary>\r
+        public Source ScannedSource { get; set; } \r
+\r
         /// <summary>\r
         ///     Gets the total previews.\r
         /// </summary>\r
@@ -395,12 +401,16 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void UpdatePreviewFrame(EncodeTask task)\r
+        /// <param name="scannedSource">\r
+        /// The scanned Source.\r
+        /// </param>\r
+        public void UpdatePreviewFrame(EncodeTask task, Source scannedSource)\r
         {\r
             this.Task = task;\r
             this.UpdatePreviewFrame();\r
             this.DisplayName = "Picture Preview";\r
             this.Title = Properties.Resources.Preview;\r
+            this.ScannedSource = scannedSource;\r
         }\r
 \r
         /// <summary>\r
@@ -543,7 +553,7 @@ namespace HandBrakeWPF.ViewModels
             encodeTask.IsPreviewEncode = true;\r
             encodeTask.PreviewEncodeStartAt = this.SelectedPreviewImage;  // TODO 0 and 1 mean the same. Need to fix this as it knocks the video out of sync with the still preview.\r
             encodeTask.PreviewEncodeDuration = this.Duration;\r
-            QueueTask task = new QueueTask(encodeTask, HBConfigurationFactory.Create());\r
+            QueueTask task = new QueueTask(encodeTask, HBConfigurationFactory.Create(), this.ScannedSource);\r
             ThreadPool.QueueUserWorkItem(this.CreatePreview, task);\r
         }\r
 \r
index 7d0b16cdba2ea353a7770aa1e8c91e90abc6b1e3..660c998439daba06e84185eb433fdb46d945cd70 100644 (file)
@@ -531,6 +531,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -540,7 +543,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.SourceTracks.Clear();\r
             this.SourceTracks.Add(ForeignAudioSearchTrack);\r
index 8b745aa3c7dc0359dfd84a781e0d5447ee028a27..7060530effc446d0fcd6e6da30a9b52717c8ca95 100644 (file)
@@ -1059,6 +1059,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -1068,7 +1071,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.Task = task;\r
         }\r
index 69e4a0f33b1be9cb20f18b26776a4d9f300ff0a9..2647e2ae8c902cf3e87f46c80753f9e167821d30 100644 (file)
@@ -962,6 +962,9 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Setup this window for a new source\r
         /// </summary>\r
+        /// <param name="source">\r
+        /// The source.\r
+        /// </param>\r
         /// <param name="title">\r
         /// The title.\r
         /// </param>\r
@@ -971,7 +974,7 @@ namespace HandBrakeWPF.ViewModels
         /// <param name="task">\r
         /// The task.\r
         /// </param>\r
-        public void SetSource(Title title, Preset preset, EncodeTask task)\r
+        public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
         {\r
             this.Task = task;\r
             this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);\r