summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsr55 <[email protected]>2020-04-09 21:07:12 +0100
committersr55 <[email protected]>2020-04-09 21:07:12 +0100
commit0abc8cb07a4d6ca27d0a0c300a78957b610b773e (patch)
treee2a93933a6e65357a39a59d951cee44a87d8c142 /win
parent0dcc7cf1a5c986b17bc36c7309bfad46658d05de (diff)
WinGui: Allow the *experimental* process worker feature to be enabled though advanced preferences. When enabled, all encodes will run in a seperate worker process protecting the UI and queue from any serious crashes.
Diffstat (limited to 'win')
-rw-r--r--win/CS/HandBrake.Interop/Interop/EventArgs/EncodeCompletedEventArgs.cs6
-rw-r--r--win/CS/HandBrake.Interop/Interop/HandBrakeInstance.cs2
-rw-r--r--win/CS/HandBrake.Worker/Routing/ApiRouter.cs18
-rw-r--r--win/CS/HandBrakeWPF/Converters/Options/OptionsTabConverter.cs3
-rw-r--r--win/CS/HandBrakeWPF/Instance/RemoteInstance.cs19
-rw-r--r--win/CS/HandBrakeWPF/Model/OptionsTab.cs3
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.Designer.cs36
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.de.resx38
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.es.resx38
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.fr.resx38
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.ja.resx38
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.ko.resx38
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.resx12
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.ru.resx39
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.tr.resx39
-rw-r--r--win/CS/HandBrakeWPF/Properties/Resources.zh.resx39
-rw-r--r--win/CS/HandBrakeWPF/Services/Encode/LibEncode.cs10
-rw-r--r--win/CS/HandBrakeWPF/Views/OptionsView.xaml27
18 files changed, 200 insertions, 243 deletions
diff --git a/win/CS/HandBrake.Interop/Interop/EventArgs/EncodeCompletedEventArgs.cs b/win/CS/HandBrake.Interop/Interop/EventArgs/EncodeCompletedEventArgs.cs
index ea54e1d1c..98368cd93 100644
--- a/win/CS/HandBrake.Interop/Interop/EventArgs/EncodeCompletedEventArgs.cs
+++ b/win/CS/HandBrake.Interop/Interop/EventArgs/EncodeCompletedEventArgs.cs
@@ -1,5 +1,5 @@
// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="EncodeCompletedEventArgs.cs" company="HandBrake Project (http://handbrake.fr)">
+// <copyright file="EncodeCompletedEventArgs.cs" company="HandBrake Project (https://handbrake.fr)">
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
// </copyright>
// <summary>
@@ -22,7 +22,7 @@ namespace HandBrake.Interop.Interop.EventArgs
/// <param name="error">
/// The error.
/// </param>
- public EncodeCompletedEventArgs(bool error)
+ public EncodeCompletedEventArgs(int error)
{
this.Error = error;
}
@@ -30,6 +30,6 @@ namespace HandBrake.Interop.Interop.EventArgs
/// <summary>
/// Gets a value indicating whether an error occurred during the encode.
/// </summary>
- public bool Error { get; private set; }
+ public int Error { get; private set; }
}
}
diff --git a/win/CS/HandBrake.Interop/Interop/HandBrakeInstance.cs b/win/CS/HandBrake.Interop/Interop/HandBrakeInstance.cs
index 3b1295c89..a5027f72f 100644
--- a/win/CS/HandBrake.Interop/Interop/HandBrakeInstance.cs
+++ b/win/CS/HandBrake.Interop/Interop/HandBrakeInstance.cs
@@ -490,7 +490,7 @@ namespace HandBrake.Interop.Interop
{
this.EncodeCompleted(
this,
- new EncodeCompletedEventArgs(state.WorkDone.Error != (int)hb_error_code.HB_ERROR_NONE));
+ new EncodeCompletedEventArgs(state.WorkDone.Error));
}
}
}
diff --git a/win/CS/HandBrake.Worker/Routing/ApiRouter.cs b/win/CS/HandBrake.Worker/Routing/ApiRouter.cs
index 81267acb9..4e49422c7 100644
--- a/win/CS/HandBrake.Worker/Routing/ApiRouter.cs
+++ b/win/CS/HandBrake.Worker/Routing/ApiRouter.cs
@@ -30,8 +30,9 @@ namespace HandBrake.Worker.Routing
public class ApiRouter
{
private readonly string token = Guid.NewGuid().ToString();
-
private readonly JsonSerializerSettings jsonNetSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
+
+ private JsonState completedState;
private HandBrakeInstance handbrakeInstance;
private ILogHandler logHandler;
private InstanceWatcher instanceWatcher;
@@ -52,6 +53,7 @@ namespace HandBrake.Worker.Routing
public string StartEncode(HttpListenerRequest request)
{
+ this.completedState = null;
string requestPostData = HttpUtilities.GetRequestPostData(request);
if (!string.IsNullOrEmpty(requestPostData))
@@ -91,12 +93,18 @@ namespace HandBrake.Worker.Routing
public string PollEncodeProgress(HttpListenerRequest request)
{
+ if (this.completedState != null)
+ {
+ string json = JsonConvert.SerializeObject(this.completedState, Formatting.Indented, this.jsonNetSettings);
+ return json;
+ }
+
if (this.handbrakeInstance != null)
{
JsonState statusJson = this.handbrakeInstance.GetEncodeProgress();
- string versionInfo = JsonConvert.SerializeObject(statusJson, Formatting.Indented, this.jsonNetSettings);
+ string json = JsonConvert.SerializeObject(statusJson, Formatting.Indented, this.jsonNetSettings);
- return versionInfo;
+ return json;
}
return null;
@@ -137,6 +145,8 @@ namespace HandBrake.Worker.Routing
private void HandbrakeInstance_EncodeCompleted(object sender, Interop.Interop.EventArgs.EncodeCompletedEventArgs e)
{
+ this.completedState = new JsonState() { WorkDone = new WorkDone() { Error = e.Error } };
+ this.completedState.State = "WORKDONE";
this.logHandler.ShutdownFileWriter();
}
@@ -158,6 +168,8 @@ namespace HandBrake.Worker.Routing
this.instanceWatcher.Start(5000);
}
+ this.completedState = null;
+
this.handbrakeInstance.Initialize(command.LogVerbosity, command.EnableHardwareAcceleration);
this.handbrakeInstance.EncodeCompleted += this.HandbrakeInstance_EncodeCompleted;
diff --git a/win/CS/HandBrakeWPF/Converters/Options/OptionsTabConverter.cs b/win/CS/HandBrakeWPF/Converters/Options/OptionsTabConverter.cs
index 7dc5583a7..045c1dd22 100644
--- a/win/CS/HandBrakeWPF/Converters/Options/OptionsTabConverter.cs
+++ b/win/CS/HandBrakeWPF/Converters/Options/OptionsTabConverter.cs
@@ -55,9 +55,6 @@ namespace HandBrakeWPF.Converters.Options
case OptionsTab.Video:
if ((OptionsTab)parameter == OptionsTab.Video) return Visibility.Visible;
break;
- //case OptionsTab.Experimental:
- // if ((OptionsTab)parameter == OptionsTab.Experimental) return Visibility.Visible;
- // break;
}
}
diff --git a/win/CS/HandBrakeWPF/Instance/RemoteInstance.cs b/win/CS/HandBrakeWPF/Instance/RemoteInstance.cs
index dc52d0885..847e9cf4c 100644
--- a/win/CS/HandBrakeWPF/Instance/RemoteInstance.cs
+++ b/win/CS/HandBrakeWPF/Instance/RemoteInstance.cs
@@ -209,7 +209,7 @@ namespace HandBrakeWPF.Instance
{
if (this.retryCount > 5)
{
- this.EncodeCompleted?.Invoke(sender: this, e: new EncodeCompletedEventArgs(true));
+ this.EncodeCompleted?.Invoke(sender: this, e: new EncodeCompletedEventArgs(4));
this.encodePollTimer?.Stop();
@@ -239,7 +239,7 @@ namespace HandBrakeWPF.Instance
TaskState taskState = state != null ? TaskState.FromRepositoryValue(state.State) : null;
- if (taskState != null && (taskState == TaskState.Working || taskState == TaskState.Muxing || taskState == TaskState.Searching))
+ if (taskState != null && (taskState == TaskState.Working || taskState == TaskState.Searching))
{
if (this.EncodeProgress != null)
{
@@ -259,15 +259,12 @@ namespace HandBrakeWPF.Instance
else if (taskState != null && taskState == TaskState.WorkDone)
{
this.encodePollTimer.Stop();
-
- this.EncodeCompleted?.Invoke(sender: this, e: new EncodeCompletedEventArgs(state.WorkDone.Error != 0));
- this.workerProcess?.Kill();
- }
- else if (taskState == TaskState.Idle)
- {
- this.encodePollTimer.Stop();
- this.EncodeCompleted?.Invoke(sender: this, e: new EncodeCompletedEventArgs(state.WorkDone.Error != 0));
- this.workerProcess?.Kill();
+ if (!this.workerProcess.HasExited)
+ {
+ this.workerProcess?.Kill();
+ }
+
+ this.EncodeCompleted?.Invoke(sender: this, e: new EncodeCompletedEventArgs(state.WorkDone.Error));
}
}
}
diff --git a/win/CS/HandBrakeWPF/Model/OptionsTab.cs b/win/CS/HandBrakeWPF/Model/OptionsTab.cs
index bf0008ad2..bcdcb4e99 100644
--- a/win/CS/HandBrakeWPF/Model/OptionsTab.cs
+++ b/win/CS/HandBrakeWPF/Model/OptionsTab.cs
@@ -38,8 +38,5 @@ namespace HandBrakeWPF.Model
[DisplayName(typeof(Resources), "Options_About")]
About,
-
- //[DisplayName(typeof(Resources), "Options_Experimental")]
- //Experimental,
}
}
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
index 2d516097f..d89147d4f 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
@@ -2925,15 +2925,6 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
- /// Looks up a localized string similar to Experimental.
- /// </summary>
- public static string Options_Experimental {
- get {
- return ResourceManager.GetString("Options_Experimental", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to File Format:.
/// </summary>
public static string Options_Format {
@@ -3213,15 +3204,6 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
- /// Looks up a localized string similar to Show the new experimental queue design..
- /// </summary>
- public static string Options_ShowExperimentalQueueDesign {
- get {
- return ResourceManager.GetString("Options_ShowExperimentalQueueDesign", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to Show &apos;Add All to Queue&apos; on the toolbar.
/// </summary>
public static string Options_ShowToolbarAddAll {
@@ -3465,6 +3447,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Run each queued job in a separate worker process. (Experimental! Note, Limited to one instance of HandBrake currently!).
+ /// </summary>
+ public static string OptionsView_EnableWorkerProcesses {
+ get {
+ return ResourceManager.GetString("OptionsView_EnableWorkerProcesses", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Filename collision behaviour:.
/// </summary>
public static string OptionsView_FileCollisionBehaviour {
@@ -3648,6 +3639,15 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Default network port for worker:.
+ /// </summary>
+ public static string OptionsView_WorkerDefaultPort {
+ get {
+ return ResourceManager.GetString("OptionsView_WorkerDefaultPort", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Your system supports the 64bit version of HandBrake! This offers performance and stability improvements over this 32bit version.
/// Please check the website for release notes..
/// </summary>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.de.resx b/win/CS/HandBrakeWPF/Properties/Resources.de.resx
index 308ceefb2..802c64a95 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.de.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.de.resx
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1299,9 +1299,6 @@ Soll sie überschrieben werden?</value>
<data name="Options_SendFileTo" xml:space="preserve">
<value>Datei senden an:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>Die neue experimentelle Darstellung der Warteschlange verwenden.</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>Großbuchstaben korrigieren</value>
</data>
@@ -2182,9 +2179,6 @@ Falls unterstützt, wird jede benutzerdefinierte Voreinstellung übernommen. </v
<data name="OptionsView_RemotePortLimit" xml:space="preserve">
<value>Der Bereich der Ports muss zwischen 5000 und 32767 liegen.</value>
</data>
- <data name="Options_Experimental" xml:space="preserve">
- <value>Experimentell</value>
- </data>
<data name="OptionsView_SendFileToArgPlaceholders" xml:space="preserve">
<value>Austausch-Platzhalter: {source} {destination}</value>
<comment>Note: {source} and {destination} are not translatable. </comment>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.es.resx b/win/CS/HandBrakeWPF/Properties/Resources.es.resx
index 8aa42e2dd..12e0a3d35 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.es.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.es.resx
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1290,9 +1290,6 @@ Tiempo restante: {5}, Transcurrido: {6:d\:hh\:mm\:ss}</value>
<data name="Options_SendFileTo" xml:space="preserve">
<value>Enviar archivo a:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>Mostrar el nuevo diseño experimental de la cola.</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>Cambiar mayúsculas a Estilo Titulo</value>
</data>
@@ -2176,9 +2173,6 @@ Cuando se admita, se habrán importado los ajustes preestablecidos de usuario.</
<data name="OptionsView_RemotePortLimit" xml:space="preserve">
<value>El rango de puertos debe estar entre 5000 y 32767</value>
</data>
- <data name="Options_Experimental" xml:space="preserve">
- <value>Experimental</value>
- </data>
<data name="OptionsView_SendFileToArgPlaceholders" xml:space="preserve">
<value>Marcadores de reemplazo: {source} {destination}</value>
<comment>Note: {source} and {destination} are not translatable. </comment>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.fr.resx b/win/CS/HandBrakeWPF/Properties/Resources.fr.resx
index 31faaa55d..860ed190b 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.fr.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.fr.resx
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1293,9 +1293,6 @@ Souhaitez-vous l'écraser ?</value>
<data name="Options_SendFileTo" xml:space="preserve">
<value>Envoyer le fichier à :</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>Afficher le nouveau modèle de file d'attente expérimental.</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>Changer la casse en majuscule</value>
</data>
@@ -2176,9 +2173,6 @@ Là où pris en charge, tous les préréglages utilisateur auront été importé
<data name="OptionsView_RemotePortLimit" xml:space="preserve">
<value>La plage de ports doit être comprise entre 5000 et 32767</value>
</data>
- <data name="Options_Experimental" xml:space="preserve">
- <value>Expérimental</value>
- </data>
<data name="OptionsView_SendFileToArgPlaceholders" xml:space="preserve">
<value>Champs de substitution : {source} {destination}</value>
<comment>Note: {source} and {destination} are not translatable. </comment>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.ja.resx b/win/CS/HandBrakeWPF/Properties/Resources.ja.resx
index b75c8f55b..49d7ca305 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.ja.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.ja.resx
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1295,9 +1295,6 @@ FPS: {3:000.0}, 平均FPS: {4:000.0}
<data name="Options_SendFileTo" xml:space="preserve">
<value>ファイルの保存先:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>実験段階のキューデザインを表示する。</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>先頭文字を大文字にする</value>
</data>
@@ -2178,9 +2175,6 @@ FPS: {3:000.0}, 平均FPS: {4:000.0}
<data name="OptionsView_RemotePortLimit" xml:space="preserve">
<value>ポート番号は5000から32767の間でなければいけません</value>
</data>
- <data name="Options_Experimental" xml:space="preserve">
- <value>実験的機能</value>
- </data>
<data name="OptionsView_SendFileToArgPlaceholders" xml:space="preserve">
<value>利用できる変数: {source} {destination}</value>
<comment>Note: {source} and {destination} are not translatable. </comment>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.ko.resx b/win/CS/HandBrakeWPF/Properties/Resources.ko.resx
index 9615f5438..189f46d9d 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.ko.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.ko.resx
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1292,9 +1292,6 @@ FPS: {3:000.0}, 평균 FPS: {4:000.0}
<data name="Options_SendFileTo" xml:space="preserve">
<value>다음 경로로 파일 전송:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>새 실험적 대기열 디자인을 보여줍니다.</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>케이스를 제목 케이스로 변경</value>
</data>
@@ -2175,9 +2172,6 @@ Non-Live 옵션: {date} {time} {creation-date} {creation-time} {quality} {bitrat
<data name="OptionsView_RemotePortLimit" xml:space="preserve">
<value>포트 범위는 5000에서 32767 사이만 허용됩니다.</value>
</data>
- <data name="Options_Experimental" xml:space="preserve">
- <value>실험</value>
- </data>
<data name="OptionsView_SendFileToArgPlaceholders" xml:space="preserve">
<value>대체 표시자: {source} {destination}</value>
<comment>Note: {source} and {destination} are not translatable. </comment>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.resx b/win/CS/HandBrakeWPF/Properties/Resources.resx
index 8f74b8b47..f1b86d39e 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.resx
@@ -1297,9 +1297,6 @@ Would you like to overwrite it?</value>
<data name="Options_SendFileTo" xml:space="preserve">
<value>Send file to:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>Show the new experimental queue design.</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>Change case to Title Case</value>
</data>
@@ -2180,9 +2177,6 @@ Where supported, any user presets will have been imported.</value>
<data name="OptionsView_RemotePortLimit" xml:space="preserve">
<value>Port range must be between 5000 and 32767</value>
</data>
- <data name="Options_Experimental" xml:space="preserve">
- <value>Experimental</value>
- </data>
<data name="OptionsView_SendFileToArgPlaceholders" xml:space="preserve">
<value>Replacement Placeholders: {source} {destination}</value>
<comment>Note: {source} and {destination} are not translatable. </comment>
@@ -2215,4 +2209,10 @@ This will also stop any existing running jobs.</value>
<data name="QueueView_JobInformationNotAvailable" xml:space="preserve">
<value>Please select a single job to view summary information.</value>
</data>
+ <data name="OptionsView_EnableWorkerProcesses" xml:space="preserve">
+ <value>Run each queued job in a separate worker process. (Experimental! Note, Limited to one instance of HandBrake currently!)</value>
+ </data>
+ <data name="OptionsView_WorkerDefaultPort" xml:space="preserve">
+ <value>Default network port for worker:</value>
+ </data>
</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.ru.resx b/win/CS/HandBrakeWPF/Properties/Resources.ru.resx
index 3f76a539d..d676fee93 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.ru.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.ru.resx
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1295,9 +1295,6 @@ FPS: {3:000.0}, Сред FPS: {4:000.0}
<data name="Options_SendFileTo" xml:space="preserve">
<value>Отправить файл в:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>Показать новый экспериментальный дизайн очереди</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>Менять регистр в Регистр Заголовка</value>
</data>
@@ -2174,4 +2171,4 @@ FPS: {3:000.0}, Сред FPS: {4:000.0}
<data name="OptionsView_AlwaysUseDefaultPath" xml:space="preserve">
<value>Всегда использовать путь по умолчанию для каждого нового сгенерированного имени.</value>
</data>
-</root>
+</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.tr.resx b/win/CS/HandBrakeWPF/Properties/Resources.tr.resx
index c257d279b..e75c86246 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.tr.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.tr.resx
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1295,9 +1295,6 @@ Kalan Süre: {5}, Geçen: {6:d\:hh\:mm\:ss}</value>
<data name="Options_SendFileTo" xml:space="preserve">
<value>Dosyayı gönder:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>Yeni deneysel sıra tasarımını göster.</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>Davayı Başlık Davası olarak değiştir</value>
</data>
@@ -2175,4 +2172,4 @@ Desteklendiğinde, herhangi bir kullanıcı ön ayarı içe aktarılmış olacak
<data name="OptionsView_AlwaysUseDefaultPath" xml:space="preserve">
<value>Üretilen her yeni ad için her zaman varsayılan yolu kullanın.</value>
</data>
-</root>
+</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.zh.resx b/win/CS/HandBrakeWPF/Properties/Resources.zh.resx
index 5f1ab1790..9421fc87b 100644
--- a/win/CS/HandBrakeWPF/Properties/Resources.zh.resx
+++ b/win/CS/HandBrakeWPF/Properties/Resources.zh.resx
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -60,45 +60,45 @@
: and then encoded with base64 encoding.
-->
<xsd:schema xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string"/>
- <xsd:attribute name="type" type="xsd:string"/>
- <xsd:attribute name="mimetype" type="xsd:string"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string"/>
- <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1"/>
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3"/>
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4"/>
- <xsd:attribute ref="xml:space"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1"/>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
@@ -1285,9 +1285,6 @@ FPS: {3:000.0}, 平均FPS: {4:000.0}
<data name="Options_SendFileTo" xml:space="preserve">
<value>发送文件至:</value>
</data>
- <data name="Options_ShowExperimentalQueueDesign" xml:space="preserve">
- <value>显示新的实验队列设计。</value>
- </data>
<data name="Options_TitleCase" xml:space="preserve">
<value>更改大写格式为词首字母大写</value>
</data>
@@ -2164,4 +2161,4 @@ FPS: {3:000.0}, 平均FPS: {4:000.0}
<data name="OptionsView_AlwaysUseDefaultPath" xml:space="preserve">
<value>始终为生成的每个新名称使用默认路径。</value>
</data>
-</root>
+</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Services/Encode/LibEncode.cs b/win/CS/HandBrakeWPF/Services/Encode/LibEncode.cs
index 481c8cebd..c59326f4e 100644
--- a/win/CS/HandBrakeWPF/Services/Encode/LibEncode.cs
+++ b/win/CS/HandBrakeWPF/Services/Encode/LibEncode.cs
@@ -14,6 +14,7 @@ namespace HandBrakeWPF.Services.Encode
using System.IO;
using HandBrake.Interop.Interop.EventArgs;
+ using HandBrake.Interop.Interop.HbLib;
using HandBrake.Interop.Interop.Interfaces;
using HandBrake.Interop.Interop.Json.State;
using HandBrake.Interop.Interop.Providers.Interfaces;
@@ -247,16 +248,17 @@ namespace HandBrakeWPF.Services.Encode
private void InstanceEncodeCompleted(object sender, EncodeCompletedEventArgs e)
{
this.IsEncoding = false;
- this.ServiceLogMessage("Encode Completed ...");
-
+
+ this.ServiceLogMessage(e.Error != 0 ? string.Format("Encode Failed ({0})", e.Error) : "Encode Completed!");
+
// Handling Log Data
string hbLog = this.ProcessLogs(this.currentTask.Destination, this.isPreviewInstance, this.currentConfiguration);
long filesize = this.GetFilesize(this.currentTask.Destination);
// Raise the Encode Completed Event.
this.InvokeEncodeCompleted(
- e.Error
- ? new EventArgs.EncodeCompletedEventArgs(false, null, string.Empty, this.currentTask.Source, this.currentTask.Destination, hbLog, filesize)
+ e.Error != 0
+ ? new EventArgs.EncodeCompletedEventArgs(false, null, e.Error.ToString(), this.currentTask.Source, this.currentTask.Destination, hbLog, filesize)
: new EventArgs.EncodeCompletedEventArgs(true, null, string.Empty, this.currentTask.Source, this.currentTask.Destination, hbLog, filesize));
}
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
index 92cab3981..0abb41364 100644
--- a/win/CS/HandBrakeWPF/Views/OptionsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
@@ -400,6 +400,15 @@
</StackPanel>
</StackPanel>
+ <TextBlock Text="Worker Processes" FontSize="14" Margin="0,10,0,10"/>
+
+ <CheckBox Content="{x:Static Properties:Resources.OptionsView_EnableWorkerProcesses}" IsChecked="{Binding RemoteServiceEnabled}" Margin="10,5,0,0" />
+
+ <StackPanel Orientation="Horizontal" Margin="10,10,0,0">
+ <TextBlock Text="{x:Static Properties:Resources.OptionsView_WorkerDefaultPort}" />
+ <TextBox Text="{Binding RemoteServicePort}" Width="100" />
+ </StackPanel>
+
<StackPanel Orientation="Vertical" Margin="0,10,0,10">
@@ -474,24 +483,6 @@
<ContentControl x:Name="AboutViewModel" />
</StackPanel>
-
- <!--<StackPanel Name="Experimental" Orientation="Vertical" Margin="10,5,0,0"
- Visibility="{Binding SelectedTab, Converter={StaticResource tabConverter}, ConverterParameter={x:Static local:OptionsTab.Experimental}}">
-
- <TextBlock Text="{x:Static Properties:Resources.Options_Experimental}" FontSize="20" FontFamily="Segoe UI Light" />
-
- <TextBlock Text="WARNING: Experimental features are not recommended for daily use. These are very early development previews of potential future features." FontWeight="Bold" Margin="0,10,0,0" />
-
- <TextBlock Text="Worker Processes" FontSize="14" Margin="0,20,0,10"/>
-
- <CheckBox Content="Enable Worker Processes. (All encodes will be performed on a seperate worker process)" IsChecked="{Binding RemoteServiceEnabled}" Margin="10,5,0,0" />
-
- <StackPanel Orientation="Horizontal" Margin="10,10,0,0">
- <TextBlock Text="Worker Process Port: " />
- <TextBox Text="{Binding RemoteServicePort}" Width="100" />
- </StackPanel>
-
- </StackPanel>-->
</StackPanel>
</ScrollViewer>