CUETools: Encoder settings button

This commit is contained in:
Grigory Chudov
2013-04-18 21:23:19 -04:00
parent bd8450f0b0
commit 1ebd9f047b
9 changed files with 2016 additions and 689 deletions

View File

@@ -28,7 +28,6 @@ namespace CUERipper
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmCUERipper));
CUEControls.RectRadius rectRadius1 = new CUEControls.RectRadius();
CUEControls.RectRadius rectRadius2 = new CUEControls.RectRadius();
@@ -59,22 +58,22 @@ namespace CUERipper
this.buttonEncoderSettings = new System.Windows.Forms.Button();
this.checkBoxTestAndCopy = new System.Windows.Forms.CheckBox();
this.bnComboBoxLosslessOrNot = new CUEControls.ImgComboBox();
this.losslessOrNotBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.bindingSourceCR = new System.Windows.Forms.BindingSource(this.components);
this.losslessOrNotBindingSource = new System.Windows.Forms.BindingSource();
this.bindingSourceCR = new System.Windows.Forms.BindingSource();
this.bnComboBoxEncoder = new CUEControls.ImgComboBox();
this.encodersBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.encodersBindingSource = new System.Windows.Forms.BindingSource();
this.labelSecureMode = new System.Windows.Forms.Label();
this.bnComboBoxFormat = new CUEControls.ImgComboBox();
this.formatsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.formatsBindingSource = new System.Windows.Forms.BindingSource();
this.labelEncoderMinMode = new System.Windows.Forms.Label();
this.bnComboBoxImage = new CUEControls.ImgComboBox();
this.cUEStylesBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.cUEStylesBindingSource = new System.Windows.Forms.BindingSource();
this.labelEncoderMaxMode = new System.Windows.Forms.Label();
this.labelEncoderMode = new System.Windows.Forms.Label();
this.trackBarEncoderMode = new System.Windows.Forms.TrackBar();
this.trackBarSecureMode = new System.Windows.Forms.TrackBar();
this.drivesBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.imageListChecked = new System.Windows.Forms.ImageList(this.components);
this.drivesBindingSource = new System.Windows.Forms.BindingSource();
this.imageListChecked = new System.Windows.Forms.ImageList();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.progressBarErrors = new ProgressODoom.ProgressBarEx();
this.plainBackgroundPainter1 = new ProgressODoom.PlainBackgroundPainter();
@@ -84,10 +83,10 @@ namespace CUERipper
this.progressBarCD = new ProgressODoom.ProgressBarEx();
this.plainProgressPainter2 = new ProgressODoom.PlainProgressPainter();
this.txtOutputPath = new System.Windows.Forms.TextBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.toolTip1 = new System.Windows.Forms.ToolTip();
this.bnComboBoxRelease = new CUEControls.ImgComboBox();
this.releasesBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.imageListMetadataSource = new System.Windows.Forms.ImageList(this.components);
this.releasesBindingSource = new System.Windows.Forms.BindingSource();
this.imageListMetadataSource = new System.Windows.Forms.ImageList();
this.bnComboBoxDrives = new CUEControls.ImgComboBox();
this.bnComboBoxOutputFormat = new CUEControls.ImgComboBox();
this.listMetadata = new System.Windows.Forms.ListView();

View File

@@ -816,7 +816,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy
CQAAAk1TRnQBSQFMAgEBBAEAARQBAgEUAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CQAAAk1TRnQBSQFMAgEBBAEAARwBAgEcAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -966,7 +966,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAY
EgAAAk1TRnQBSQFMAgEBCwEAARQBAgEUAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
EgAAAk1TRnQBSQFMAgEBCwEAARwBAgEcAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@@ -82,6 +82,12 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Options.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Options.Designer.cs">
<DependentUpon>Options.cs</DependentUpon>
</Compile>
<Compile Include="TreeNodes\FileSystemTreeNodeLocalDBCollision.cs" />
<Compile Include="TreeNodes\FileSystemTreeNodeLocalDB.cs" />
<Compile Include="TreeNodes\FileSystemTreeNodeLocalDBCategory.cs" />
@@ -220,6 +226,9 @@
<EmbeddedResource Include="frmSubmit.ru-RU.resx">
<DependentUpon>frmSubmit.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Options.resx">
<DependentUpon>Options.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>

View File

@@ -56,6 +56,7 @@ namespace JDP {
this.toolStripMenuItemCorrectorModeChangeExtension = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripDropDownButtonCorrectorFormat = new System.Windows.Forms.ToolStripDropDownButton();
this.grpAudioOutput = new System.Windows.Forms.GroupBox();
this.buttonEncoderSettings = new System.Windows.Forms.Button();
this.labelEncoderMaxMode = new System.Windows.Forms.Label();
this.labelEncoderMinMode = new System.Windows.Forms.Label();
this.labelEncoderMode = new System.Windows.Forms.Label();
@@ -458,6 +459,7 @@ namespace JDP {
//
// grpAudioOutput
//
this.grpAudioOutput.Controls.Add(this.buttonEncoderSettings);
this.grpAudioOutput.Controls.Add(this.labelEncoderMaxMode);
this.grpAudioOutput.Controls.Add(this.labelEncoderMinMode);
this.grpAudioOutput.Controls.Add(this.labelEncoderMode);
@@ -473,6 +475,15 @@ namespace JDP {
this.tableLayoutPanel2.SetRowSpan(this.grpAudioOutput, 2);
this.grpAudioOutput.TabStop = false;
//
// buttonEncoderSettings
//
this.buttonEncoderSettings.FlatAppearance.BorderSize = 0;
resources.ApplyResources(this.buttonEncoderSettings, "buttonEncoderSettings");
this.buttonEncoderSettings.Image = global::JDP.Properties.Resources.cog;
this.buttonEncoderSettings.Name = "buttonEncoderSettings";
this.buttonEncoderSettings.UseVisualStyleBackColor = true;
this.buttonEncoderSettings.Click += new System.EventHandler(this.buttonEncoderSettings_Click);
//
// labelEncoderMaxMode
//
resources.ApplyResources(this.labelEncoderMaxMode, "labelEncoderMaxMode");
@@ -1205,6 +1216,7 @@ namespace JDP {
private System.Windows.Forms.ToolStripMenuItem removeItemFromDatabaseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem updateLocalDatabaseToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem locateInExplorerToolStripMenuItem;
private System.Windows.Forms.Button buttonEncoderSettings;
}
}

View File

@@ -2410,19 +2410,11 @@ namespace JDP
UpdateOutputPath();
}
private void comboBoxEncoder_SelectedIndexChanged(object sender, EventArgs e)
private void resetEncoderModes(CUEToolsUDC encoder)
{
if (SelectedOutputAudioType == AudioEncoderType.NoAudio)
return;
if (SelectedOutputAudioFormat == null)
return;
CUEToolsUDC encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
if (SelectedOutputAudioType == AudioEncoderType.Lossless)
SelectedOutputAudioFmt.encoderLossless = encoder;
else
SelectedOutputAudioFmt.encoderLossy = encoder;
// TODO: something cleverer than this hack...
encoder.settings.PCM = AudioPCMConfig.RedBook;
buttonEncoderSettings.Visible = encoder.settings.HasBrowsableAttributes();
string[] modes = encoder.SupportedModes;
if (modes == null || modes.Length < 2)
{
@@ -2451,6 +2443,18 @@ namespace JDP
}
}
private void comboBoxEncoder_SelectedIndexChanged(object sender, EventArgs e)
{
var encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
if (SelectedOutputAudioType == AudioEncoderType.NoAudio || SelectedOutputAudioFormat == null || encoder == null)
return;
if (SelectedOutputAudioType == AudioEncoderType.Lossless)
SelectedOutputAudioFmt.encoderLossless = encoder;
else
SelectedOutputAudioFmt.encoderLossy = encoder;
resetEncoderModes(encoder);
}
private void trackBarEncoderMode_Scroll(object sender, EventArgs e)
{
CUEToolsUDC encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
@@ -2695,5 +2699,21 @@ namespace JDP
}
}
}
private void buttonEncoderSettings_Click(object sender, EventArgs e)
{
var encoder = comboBoxEncoder.SelectedItem as CUEToolsUDC;
if (encoder == null)
return;
using (frmSettings settingsForm = new frmSettings(encoder))
{
settingsForm.IconMgr = m_icon_mgr;
settingsForm.ReducePriority = _reducePriority;
settingsForm.Config = _profile._config;
settingsForm.ShowDialog(this);
}
SaveSettings();
resetEncoderModes(encoder);
}
}
}

View File

@@ -822,6 +822,30 @@
<data name="&gt;&gt;groupBoxMode.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="buttonEncoderSettings.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
</data>
<data name="buttonEncoderSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>9, 115</value>
</data>
<data name="buttonEncoderSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>20, 20</value>
</data>
<data name="buttonEncoderSettings.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="&gt;&gt;buttonEncoderSettings.Name" xml:space="preserve">
<value>buttonEncoderSettings</value>
</data>
<data name="&gt;&gt;buttonEncoderSettings.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonEncoderSettings.Parent" xml:space="preserve">
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;buttonEncoderSettings.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="labelEncoderMaxMode.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
@@ -859,7 +883,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;labelEncoderMaxMode.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="labelEncoderMinMode.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -898,7 +922,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;labelEncoderMinMode.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="labelEncoderMode.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt</value>
@@ -937,7 +961,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;labelEncoderMode.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="trackBarEncoderMode.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -967,16 +991,16 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;trackBarEncoderMode.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="comboBoxEncoder.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="comboBoxEncoder.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 116</value>
<value>38, 116</value>
</data>
<data name="comboBoxEncoder.Size" type="System.Drawing.Size, System.Drawing">
<value>129, 21</value>
<value>101, 21</value>
</data>
<data name="comboBoxEncoder.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
@@ -994,7 +1018,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;comboBoxEncoder.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="radioButtonAudioNone.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -1027,7 +1051,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;radioButtonAudioNone.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="radioButtonAudioLossy.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -1060,7 +1084,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;radioButtonAudioLossy.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="radioButtonAudioLossless.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -1093,7 +1117,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;radioButtonAudioLossless.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="labelFormat.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@@ -1123,7 +1147,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;labelFormat.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="comboBoxAudioFormat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -1150,7 +1174,7 @@
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;comboBoxAudioFormat.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="grpAudioOutput.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>

View File

@@ -132,7 +132,7 @@ namespace JDP
this.comboBoxFormatTagger = new System.Windows.Forms.ComboBox();
this.listViewFormats = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tabPage10 = new System.Windows.Forms.TabPage();
this.tabPageEncoders = new System.Windows.Forms.TabPage();
this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.Panel();
this.groupBoxExternalEncoder = new System.Windows.Forms.GroupBox();
@@ -206,7 +206,7 @@ namespace JDP
this.groupBoxVerify.SuspendLayout();
this.tabPage3.SuspendLayout();
this.groupBoxFormat.SuspendLayout();
this.tabPage10.SuspendLayout();
this.tabPageEncoders.SuspendLayout();
this.tableLayoutPanel4.SuspendLayout();
this.panel1.SuspendLayout();
this.groupBoxExternalEncoder.SuspendLayout();
@@ -346,12 +346,6 @@ namespace JDP
this.toolTip1.SetToolTip(this.chkWriteArTagsOnConvert, resources.GetString("chkWriteArTagsOnConvert.ToolTip"));
this.chkWriteArTagsOnConvert.UseVisualStyleBackColor = true;
//
// chkEncodeWhenZeroOffset
//
this.tableLayoutPanel2.SetColumnSpan(this.chkEncodeWhenZeroOffset, 2);
resources.ApplyResources(this.chkEncodeWhenZeroOffset, "chkEncodeWhenZeroOffset");
this.chkEncodeWhenZeroOffset.Name = "chkEncodeWhenZeroOffset";
//
// numEncodeWhenPercent
//
resources.ApplyResources(this.numEncodeWhenPercent, "numEncodeWhenPercent");
@@ -666,7 +660,7 @@ namespace JDP
this.tabControl1.Controls.Add(this.tabPage6);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage10);
this.tabControl1.Controls.Add(this.tabPageEncoders);
this.tabControl1.Controls.Add(this.tabPage11);
this.tabControl1.Controls.Add(this.tabPage4);
this.tabControl1.Controls.Add(this.tabPage5);
@@ -1074,12 +1068,12 @@ namespace JDP
//
resources.ApplyResources(this.columnHeader1, "columnHeader1");
//
// tabPage10
// tabPageEncoders
//
resources.ApplyResources(this.tabPage10, "tabPage10");
this.tabPage10.BackColor = System.Drawing.SystemColors.Control;
this.tabPage10.Controls.Add(this.tableLayoutPanel4);
this.tabPage10.Name = "tabPage10";
resources.ApplyResources(this.tabPageEncoders, "tabPageEncoders");
this.tabPageEncoders.BackColor = System.Drawing.SystemColors.Control;
this.tabPageEncoders.Controls.Add(this.tableLayoutPanel4);
this.tabPageEncoders.Name = "tabPageEncoders";
//
// tableLayoutPanel4
//
@@ -1480,7 +1474,7 @@ namespace JDP
this.tabPage3.ResumeLayout(false);
this.groupBoxFormat.ResumeLayout(false);
this.groupBoxFormat.PerformLayout();
this.tabPage10.ResumeLayout(false);
this.tabPageEncoders.ResumeLayout(false);
this.tableLayoutPanel4.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.groupBoxExternalEncoder.ResumeLayout(false);
@@ -1529,7 +1523,6 @@ namespace JDP
private System.Windows.Forms.NumericUpDown numEncodeWhenConfidence;
private System.Windows.Forms.NumericUpDown numEncodeWhenPercent;
private System.Windows.Forms.CheckBox chkFilenamesANSISafe;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TabPage tabPage3;
@@ -1551,7 +1544,6 @@ namespace JDP
private System.Windows.Forms.CheckBox chkAllowMultipleInstances;
private System.Windows.Forms.Label labelLanguage;
private System.Windows.Forms.ComboBox comboLanguage;
private System.Windows.Forms.TabPage tabPage10;
private System.Windows.Forms.GroupBox groupBoxExternalEncoder;
private System.Windows.Forms.TextBox textBoxEncoderPath;
private System.Windows.Forms.TextBox textBoxEncoderParameters;
@@ -1653,6 +1645,8 @@ namespace JDP
private System.Windows.Forms.TextBox textBoxDecoderName;
private System.Windows.Forms.BindingSource bindingSourceDecoders;
private System.Windows.Forms.ListBox listBoxDecoders;
public System.Windows.Forms.TabControl tabControl1;
public System.Windows.Forms.TabPage tabPageEncoders;
}
}

View File

@@ -14,11 +14,19 @@ namespace JDP
bool _reducePriority;
CUEConfig _config;
private IIconManager m_icon_mgr;
private CUEToolsUDC m_encoder;
public frmSettings() {
public frmSettings()
{
InitializeComponent();
}
public frmSettings(CUEToolsUDC encoder)
{
InitializeComponent();
m_encoder = encoder;
}
public IIconManager IconMgr
{
get
@@ -36,7 +44,6 @@ namespace JDP
cUEConfigBindingSource.DataSource = _config;
encodersBindingSource.DataMember = "Encoders"; // for MONO bug (setting BindingSource.DataSource clears DataMember:(
propertyGrid1.SelectedObject = _config.advanced;
chkReducePriority.Checked = _reducePriority;
checkBoxCheckForUpdates.Checked = _config.checkForUpdates;
chkAutoCorrectFilenames.Checked = _config.autoCorrectFilenames;
@@ -142,7 +149,15 @@ namespace JDP
listViewScriptConditions.Items[0].Tag = CUEAction.Verify;
listViewScriptConditions.Items[1].Tag = CUEAction.Encode;
EnableDisable();
if (m_encoder != null)
{
tabControl1.SelectedTab = tabPageEncoders;
tabControl1.Selecting += new TabControlCancelEventHandler((s, e1) => e1.Cancel = true);
encodersBindingSource.Position = _config.Encoders.IndexOf(m_encoder);
listBoxEncoders.Enabled = false;
}
EnableDisable();
}
//private void DictionaryToListView(IDictionary<> dict, ListView view)

File diff suppressed because it is too large Load Diff