mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
Button to edit encoder advanced settings in CUERipper
This commit is contained in:
@@ -14,9 +14,9 @@ namespace CUERipper
|
||||
{
|
||||
public partial class Options : Form
|
||||
{
|
||||
private CUEConfig config;
|
||||
private object config;
|
||||
|
||||
public Options(CUEConfig config)
|
||||
public Options(object config)
|
||||
{
|
||||
this.config = config;
|
||||
this.InitializeComponent();
|
||||
@@ -24,7 +24,7 @@ namespace CUERipper
|
||||
|
||||
private void Options_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.propertyGrid1.SelectedObject = new CUERipperSettings(this.config);
|
||||
this.propertyGrid1.SelectedObject = this.config;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
11
CUERipper/frmCUERipper.Designer.cs
generated
11
CUERipper/frmCUERipper.Designer.cs
generated
@@ -56,6 +56,7 @@ namespace CUERipper
|
||||
this.numericWriteOffset = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblWriteOffset = new System.Windows.Forms.Label();
|
||||
this.groupBoxSettings = new System.Windows.Forms.GroupBox();
|
||||
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);
|
||||
@@ -283,6 +284,7 @@ namespace CUERipper
|
||||
//
|
||||
// groupBoxSettings
|
||||
//
|
||||
this.groupBoxSettings.Controls.Add(this.buttonEncoderSettings);
|
||||
this.groupBoxSettings.Controls.Add(this.checkBoxTestAndCopy);
|
||||
this.groupBoxSettings.Controls.Add(this.bnComboBoxLosslessOrNot);
|
||||
this.groupBoxSettings.Controls.Add(this.bnComboBoxEncoder);
|
||||
@@ -300,6 +302,14 @@ namespace CUERipper
|
||||
this.groupBoxSettings.Name = "groupBoxSettings";
|
||||
this.groupBoxSettings.TabStop = false;
|
||||
//
|
||||
// buttonEncoderSettings
|
||||
//
|
||||
this.buttonEncoderSettings.BackgroundImage = global::CUERipper.Properties.Resources.cog;
|
||||
resources.ApplyResources(this.buttonEncoderSettings, "buttonEncoderSettings");
|
||||
this.buttonEncoderSettings.Name = "buttonEncoderSettings";
|
||||
this.buttonEncoderSettings.UseVisualStyleBackColor = true;
|
||||
this.buttonEncoderSettings.Click += new System.EventHandler(this.buttonEncoderSettings_Click);
|
||||
//
|
||||
// checkBoxTestAndCopy
|
||||
//
|
||||
resources.ApplyResources(this.checkBoxTestAndCopy, "checkBoxTestAndCopy");
|
||||
@@ -887,6 +897,7 @@ namespace CUERipper
|
||||
private System.Windows.Forms.Panel panel5;
|
||||
private System.Windows.Forms.Panel panel6;
|
||||
private System.Windows.Forms.Panel panel7;
|
||||
private System.Windows.Forms.Button buttonEncoderSettings;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -994,6 +994,35 @@ namespace CUERipper
|
||||
}
|
||||
}
|
||||
|
||||
private void resetEncoderModes(CUEToolsUDC encoder)
|
||||
{
|
||||
if (encoder.settings != null)
|
||||
{
|
||||
encoder.settings.PCM = AudioPCMConfig.RedBook;
|
||||
buttonEncoderSettings.Enabled = encoder.settings.HasBrowsableAttributes();
|
||||
}
|
||||
string[] modes = encoder.SupportedModes;
|
||||
if (modes == null || modes.Length < 2)
|
||||
{
|
||||
trackBarEncoderMode.Visible = false;
|
||||
labelEncoderMode.Visible = false;
|
||||
labelEncoderMinMode.Visible = false;
|
||||
labelEncoderMaxMode.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
trackBarEncoderMode.Maximum = modes.Length - 1;
|
||||
trackBarEncoderMode.Value = encoder.DefaultModeIndex == -1 ? modes.Length - 1 : encoder.DefaultModeIndex;
|
||||
labelEncoderMode.Text = encoder.EncoderMode;
|
||||
labelEncoderMinMode.Text = modes[0];
|
||||
labelEncoderMaxMode.Text = modes[modes.Length - 1];
|
||||
trackBarEncoderMode.Visible = true;
|
||||
labelEncoderMode.Visible = true;
|
||||
labelEncoderMinMode.Visible = true;
|
||||
labelEncoderMaxMode.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void bnComboBoxEncoder_SelectedValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (SelectedOutputAudioFormat == null)
|
||||
@@ -1005,27 +1034,7 @@ namespace CUERipper
|
||||
SelectedOutputAudioFmt.encoderLossless = encoder;
|
||||
else
|
||||
SelectedOutputAudioFmt.encoderLossy = encoder;
|
||||
if (encoder.settings != null) encoder.settings.PCM = AudioPCMConfig.RedBook;
|
||||
string[] modes = encoder.SupportedModes;
|
||||
if (modes == null || modes.Length < 2)
|
||||
{
|
||||
trackBarEncoderMode.Visible = false;
|
||||
labelEncoderMode.Visible = false;
|
||||
labelEncoderMinMode.Visible = false;
|
||||
labelEncoderMaxMode.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
trackBarEncoderMode.Maximum = modes.Length - 1;
|
||||
trackBarEncoderMode.Value = encoder.DefaultModeIndex == -1 ? modes.Length - 1 : encoder.DefaultModeIndex;
|
||||
labelEncoderMode.Text = encoder.EncoderMode;
|
||||
labelEncoderMinMode.Text = modes[0];
|
||||
labelEncoderMaxMode.Text = modes[modes.Length - 1];
|
||||
trackBarEncoderMode.Visible = true;
|
||||
labelEncoderMode.Visible = true;
|
||||
labelEncoderMinMode.Visible = true;
|
||||
labelEncoderMaxMode.Visible = true;
|
||||
}
|
||||
resetEncoderModes(encoder);
|
||||
}
|
||||
|
||||
private void trackBarEncoderMode_Scroll(object sender, EventArgs e)
|
||||
@@ -1552,7 +1561,7 @@ namespace CUERipper
|
||||
|
||||
private void buttonSettings_Click(object sender, EventArgs e)
|
||||
{
|
||||
var form = new Options(this._config);
|
||||
var form = new Options(new CUERipperSettings(this._config));
|
||||
form.ShowDialog(this);
|
||||
}
|
||||
|
||||
@@ -1574,6 +1583,18 @@ namespace CUERipper
|
||||
cueRipperConfig.DriveOffsets[selectedDriveInfo.drive.ARName] = (int)numericWriteOffset.Value;
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonEncoderSettings_Click(object sender, EventArgs e)
|
||||
{
|
||||
CUEToolsUDC encoder = bnComboBoxEncoder.SelectedItem as CUEToolsUDC;
|
||||
if (encoder == null)
|
||||
return;
|
||||
if (encoder.settings == null)
|
||||
return;
|
||||
var form = new Options(encoder.settings);
|
||||
form.ShowDialog(this);
|
||||
resetEncoderModes(encoder);
|
||||
}
|
||||
}
|
||||
|
||||
internal class BackgroundWorkerArtworkArgs
|
||||
|
||||
@@ -383,7 +383,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>numericWriteOffset.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="lblWriteOffset.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -413,13 +413,40 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>lblWriteOffset.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="buttonEncoderSettings.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
|
||||
<value>Stretch</value>
|
||||
</data>
|
||||
<data name="buttonEncoderSettings.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>83, 46</value>
|
||||
</data>
|
||||
<data name="buttonEncoderSettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>21, 21</value>
|
||||
</data>
|
||||
<data name="buttonEncoderSettings.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>35</value>
|
||||
</data>
|
||||
<data name="buttonEncoderSettings.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name=">>buttonEncoderSettings.Name" xml:space="preserve">
|
||||
<value>buttonEncoderSettings</value>
|
||||
</data>
|
||||
<data name=">>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=">>buttonEncoderSettings.Parent" xml:space="preserve">
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>buttonEncoderSettings.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="checkBoxTestAndCopy.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="checkBoxTestAndCopy.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>206, 48</value>
|
||||
<value>212, 48</value>
|
||||
</data>
|
||||
<data name="checkBoxTestAndCopy.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>83, 17</value>
|
||||
@@ -440,7 +467,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>checkBoxTestAndCopy.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<metadata name="losslessOrNotBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 95</value>
|
||||
@@ -455,7 +482,7 @@
|
||||
<value>40, 0</value>
|
||||
</data>
|
||||
<data name="bnComboBoxLosslessOrNot.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>82, 21</value>
|
||||
<value>70, 21</value>
|
||||
</data>
|
||||
<data name="bnComboBoxLosslessOrNot.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -473,19 +500,19 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>bnComboBoxLosslessOrNot.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<metadata name="encodersBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1217, 56</value>
|
||||
</metadata>
|
||||
<data name="bnComboBoxEncoder.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>94, 46</value>
|
||||
<value>105, 46</value>
|
||||
</data>
|
||||
<data name="bnComboBoxEncoder.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>40, 0</value>
|
||||
</data>
|
||||
<data name="bnComboBoxEncoder.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>101, 21</value>
|
||||
<value>90, 21</value>
|
||||
</data>
|
||||
<data name="bnComboBoxEncoder.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
@@ -503,7 +530,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>bnComboBoxEncoder.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="labelSecureMode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
@@ -530,16 +557,16 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>labelSecureMode.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<metadata name="formatsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1045, 56</value>
|
||||
</metadata>
|
||||
<data name="bnComboBoxFormat.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>94, 19</value>
|
||||
<value>83, 19</value>
|
||||
</data>
|
||||
<data name="bnComboBoxFormat.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>101, 21</value>
|
||||
<value>112, 21</value>
|
||||
</data>
|
||||
<data name="bnComboBoxFormat.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
@@ -557,7 +584,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>bnComboBoxFormat.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="labelEncoderMinMode.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -596,7 +623,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>labelEncoderMinMode.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<metadata name="cUEStylesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>526, 56</value>
|
||||
@@ -608,7 +635,7 @@
|
||||
<value>40, 0</value>
|
||||
</data>
|
||||
<data name="bnComboBoxImage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>82, 21</value>
|
||||
<value>70, 21</value>
|
||||
</data>
|
||||
<data name="bnComboBoxImage.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -626,7 +653,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>bnComboBoxImage.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="labelEncoderMaxMode.Enabled" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
@@ -665,7 +692,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>labelEncoderMaxMode.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="labelEncoderMode.Font" type="System.Drawing.Font, System.Drawing">
|
||||
<value>Tahoma, 8.25pt</value>
|
||||
@@ -701,7 +728,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>labelEncoderMode.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="trackBarEncoderMode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
@@ -728,7 +755,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>trackBarEncoderMode.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="trackBarSecureMode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
@@ -752,7 +779,7 @@
|
||||
<value>groupBoxSettings</value>
|
||||
</data>
|
||||
<data name=">>trackBarSecureMode.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="groupBoxSettings.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
@@ -789,7 +816,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy
|
||||
CQAAAk1TRnQBSQFMAgEBBAEAAdwBAQHcAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CQAAAk1TRnQBSQFMAgEBBAEAAQwBAgEMAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@@ -939,7 +966,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAY
|
||||
EgAAAk1TRnQBSQFMAgEBCwEAAdwBAQHcAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
EgAAAk1TRnQBSQFMAgEBCwEAAQwBAgEMAQIBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
||||
@@ -51,6 +51,22 @@ namespace CUETools.Codecs
|
||||
return this.MemberwiseClone() as AudioEncoderSettings;
|
||||
}
|
||||
|
||||
public bool HasBrowsableAttributes()
|
||||
{
|
||||
bool hasBrowsable = false;
|
||||
foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(this))
|
||||
{
|
||||
bool isBrowsable = true;
|
||||
foreach (var attribute in property.Attributes)
|
||||
{
|
||||
var browsable = attribute as BrowsableAttribute;
|
||||
isBrowsable &= browsable == null || browsable.Browsable;
|
||||
}
|
||||
hasBrowsable |= isBrowsable;
|
||||
}
|
||||
return hasBrowsable;
|
||||
}
|
||||
|
||||
[Browsable(false)]
|
||||
[XmlIgnore]
|
||||
public AudioPCMConfig PCM
|
||||
|
||||
Reference in New Issue
Block a user