diff --git a/CUERipper/frmCUERipper.resx b/CUERipper/frmCUERipper.resx
index e1d3e1c..ed0e987 100644
--- a/CUERipper/frmCUERipper.resx
+++ b/CUERipper/frmCUERipper.resx
@@ -147,24 +147,6 @@
0, 371
-
- 169, 17
-
-
- MiddleLeft
-
-
- 140, 16
-
-
- Track progress
-
-
- 140, 16
-
-
- Disk progress
-
0, 371
@@ -189,9 +171,48 @@
9
+
+ 200, 17
+
+
+ MiddleLeft
+
+
+ 140, 16
+
+
+ Track progress
+
+
+ 140, 16
+
+
+ Disk progress
+
Top, Left, Right
+
+ 6, 60
+
+
+ 481, 269
+
+
+ 0
+
+
+ listTracks
+
+
+ System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 8
+
1
@@ -222,27 +243,6 @@
70
-
- 6, 60
-
-
- 481, 269
-
-
- 0
-
-
- listTracks
-
-
- System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 8
-
Top, Left, Right
@@ -436,13 +436,13 @@
285, 58
- 94, 22
+ 152, 22
Edit
- 95, 26
+ 153, 48
contextMenuStripRelease
diff --git a/CUETools.Codecs/Codecs.cs b/CUETools.Codecs/Codecs.cs
index 6cad38c..820a822 100644
--- a/CUETools.Codecs/Codecs.cs
+++ b/CUETools.Codecs/Codecs.cs
@@ -810,16 +810,14 @@ namespace CUETools.Codecs
public class UserDefinedReader : IAudioSource
{
string _path, _decoder, _decoderParams;
- bool _apev2tags;
Process _decoderProcess;
WAVReader rdr;
- public UserDefinedReader(string path, Stream IO, string decoder, string decoderParams, bool apev2tags)
+ public UserDefinedReader(string path, Stream IO, string decoder, string decoderParams)
{
_path = path;
_decoder = decoder;
_decoderParams = decoderParams;
- _apev2tags = apev2tags;
_decoderProcess = null;
rdr = null;
}
diff --git a/CUETools.Processor/AudioReadWrite.cs b/CUETools.Processor/AudioReadWrite.cs
index 80995d9..e1b390e 100644
--- a/CUETools.Processor/AudioReadWrite.cs
+++ b/CUETools.Processor/AudioReadWrite.cs
@@ -35,7 +35,7 @@ namespace CUETools.Processor
#endif
default:
if (extension == "." + config.udc1Extension && config.udc1Decoder != "")
- return new UserDefinedReader(path, IO, config.udc1Decoder, config.udc1Params, config.udc1APEv2);
+ return new UserDefinedReader(path, IO, config.udc1Decoder, config.udc1Params);
throw new Exception("Unsupported audio type: " + path);
}
}
diff --git a/CUETools.Processor/Processor.cs b/CUETools.Processor/Processor.cs
index 70336e7..c3a2a24 100644
--- a/CUETools.Processor/Processor.cs
+++ b/CUETools.Processor/Processor.cs
@@ -273,7 +273,7 @@ namespace CUETools.Processor
public bool decodeHDCDtoLW16;
public bool decodeHDCDto24bit;
public string udc1Extension, udc1Decoder, udc1Params, udc1Encoder, udc1EncParams;
- public bool udc1APEv2;
+ public bool udc1APEv2, udc1ID3v2;
public CUEConfig()
{
@@ -322,7 +322,7 @@ namespace CUETools.Processor
decodeHDCDto24bit = true;
udc1Extension = udc1Decoder = udc1Params = udc1Encoder = udc1EncParams = "";
- udc1APEv2 = false;
+ udc1ID3v2 = udc1APEv2 = false;
}
public void Save (SettingsWriter sw)
@@ -378,6 +378,7 @@ namespace CUETools.Processor
sw.Save("UDC1Encoder", udc1Encoder);
sw.Save("UDC1EncParams", udc1EncParams);
sw.Save("UDC1APEv2", udc1APEv2);
+ sw.Save("UDC1ID3v2", udc1ID3v2);
}
}
@@ -433,6 +434,7 @@ namespace CUETools.Processor
udc1Encoder = sr.Load("UDC1Encoder") ?? "";
udc1EncParams = sr.Load("UDC1EncParams") ?? "";
udc1APEv2 = sr.LoadBoolean("UDC1APEv2") ?? false;
+ udc1ID3v2 = sr.LoadBoolean("UDC1ID3v2") ?? false;
}
public string CleanseString (string s)
diff --git a/CUETools.Processor/Tagging.cs b/CUETools.Processor/Tagging.cs
index cba2c90..a3ef447 100644
--- a/CUETools.Processor/Tagging.cs
+++ b/CUETools.Processor/Tagging.cs
@@ -9,17 +9,22 @@ namespace CUETools.Processor
{
public static bool UpdateTags(TagLib.File fileInfo, NameValueCollection tags, CUEConfig config)
{
- if (fileInfo is TagLib.Flac.File)
+ if (fileInfo is TagLib.Riff.File)
+ return false;
+ TagLib.Ogg.XiphComment xiph = (TagLib.Ogg.XiphComment)fileInfo.GetTag(TagLib.TagTypes.Xiph);
+ if (xiph != null)
{
- TagLib.Ogg.XiphComment xiph = (TagLib.Ogg.XiphComment)fileInfo.GetTag(TagLib.TagTypes.Xiph);
foreach (string tag in tags.AllKeys)
xiph.SetField(tag, tags.GetValues(tag));
return true;
}
- if (fileInfo is TagLib.Riff.File)
- return false;
if (fileInfo is TagLib.UserDefined.File && !(fileInfo as TagLib.UserDefined.File).SupportsAPEv2)
- return false;
+ {
+ if (!(fileInfo as TagLib.UserDefined.File).SupportsID3v2)
+ return false;
+ TagLib.Id3v2.Tag id3v2 = (TagLib.Id3v2.Tag)fileInfo.GetTag(TagLib.TagTypes.Id3v2, true);
+ return true;
+ }
TagLib.Ape.Tag ape = (TagLib.Ape.Tag)fileInfo.GetTag(TagLib.TagTypes.Ape, true);
foreach (string tag in tags.AllKeys)
ape.SetValue(XiphTagNameToApe(tag), tags.GetValues(tag));
diff --git a/CUETools.Processor/UserDefined.cs b/CUETools.Processor/UserDefined.cs
index bcb79fe..2a1a061 100644
--- a/CUETools.Processor/UserDefined.cs
+++ b/CUETools.Processor/UserDefined.cs
@@ -45,7 +45,9 @@ namespace TagLib.UserDefined {
{
#region Private Fields
- private bool _supportsAPEv2 = true;
+ private bool _supportsAPEv2 = true;
+
+ private bool _supportsID3v2 = true;
#endregion
@@ -70,10 +72,17 @@ namespace TagLib.UserDefined {
///
/// is .
///
- public File (string path, ReadStyle propertiesStyle, bool supportsAPEv2)
+ public File (string path, ReadStyle propertiesStyle, bool supportsAPEv2, bool supportsID3v2)
: base (path, propertiesStyle)
{
- _supportsAPEv2 = supportsAPEv2;
+ _supportsAPEv2 = supportsAPEv2;
+ _supportsID3v2 = supportsID3v2;
+ // Make sure we have an APE tag.
+ if (_supportsAPEv2)
+ GetTag(TagTypes.Ape, true);
+ else
+ if (_supportsID3v2)
+ GetTag(TagTypes.Id3v2, true);
}
///
@@ -87,10 +96,18 @@ namespace TagLib.UserDefined {
///
///
/// is .
- ///
- public File (string path, bool supportsAPEv2) : base (path)
+ ///
+ public File(string path, bool supportsAPEv2, bool supportsID3v2)
+ : base(path)
{
- _supportsAPEv2 = supportsAPEv2;
+ _supportsAPEv2 = supportsAPEv2;
+ _supportsID3v2 = supportsID3v2;
+ // Make sure we have an APE tag.
+ if (_supportsAPEv2)
+ GetTag(TagTypes.Ape, true);
+ else
+ if (_supportsID3v2)
+ GetTag(TagTypes.Id3v2, true);
}
///
@@ -111,11 +128,18 @@ namespace TagLib.UserDefined {
/// is .
///
- public File (File.IFileAbstraction abstraction,
- ReadStyle propertiesStyle, bool supportsAPEv2)
+ public File (File.IFileAbstraction abstraction,
+ ReadStyle propertiesStyle, bool supportsAPEv2, bool supportsID3v2)
: base (abstraction, propertiesStyle)
{
- _supportsAPEv2 = supportsAPEv2;
+ _supportsAPEv2 = supportsAPEv2;
+ _supportsID3v2 = supportsID3v2;
+ // Make sure we have an APE tag.
+ if (_supportsAPEv2)
+ GetTag(TagTypes.Ape, true);
+ else
+ if (_supportsID3v2)
+ GetTag(TagTypes.Id3v2, true);
}
///
@@ -130,11 +154,18 @@ namespace TagLib.UserDefined {
///
/// is .
- ///
- public File (File.IFileAbstraction abstraction, bool supportsAPEv2)
+ ///
+ public File(File.IFileAbstraction abstraction, bool supportsAPEv2, bool supportsID3v2)
: base (abstraction)
{
- _supportsAPEv2 = supportsAPEv2;
+ _supportsAPEv2 = supportsAPEv2;
+ _supportsID3v2 = supportsID3v2;
+ // Make sure we have an APE tag.
+ if (_supportsAPEv2)
+ GetTag(TagTypes.Ape, true);
+ else
+ if (_supportsID3v2)
+ GetTag(TagTypes.Id3v2, true);
}
#endregion
@@ -149,6 +180,14 @@ namespace TagLib.UserDefined {
{
return _supportsAPEv2;
}
+ }
+
+ public bool SupportsID3v2
+ {
+ get
+ {
+ return _supportsID3v2;
+ }
}
@@ -240,9 +279,6 @@ namespace TagLib.UserDefined {
protected override void ReadEnd (long end,
ReadStyle propertiesStyle)
{
- // Make sure we have an APE tag.
- if (_supportsAPEv2)
- GetTag (TagTypes.Ape, true);
}
///
@@ -293,12 +329,12 @@ namespace TagLib.UserDefined {
private static TagLib.File UserDefinedResolver(TagLib.File.IFileAbstraction abstraction, string mimetype, TagLib.ReadStyle style)
{
- if (mimetype == "taglib/flac" || mimetype == "taglib/wv" || mimetype == "taglib/ape" || mimetype == "taglib/wav")
+ if (mimetype == "taglib/flac" || mimetype == "taglib/wv" || mimetype == "taglib/ape" || mimetype == "taglib/wav" || mimetype == "taglib/ogg")
return null;
if (mimetype == "taglib/tta")
- return new File(abstraction, style, true);
+ return new File(abstraction, style, true, false);
if (mimetype == "taglib/" + _config.udc1Extension)
- return new File(abstraction, style, _config.udc1APEv2);
+ return new File(abstraction, style, _config.udc1APEv2, _config.udc1ID3v2);
return null;
}
diff --git a/CUETools/frmCUETools.Designer.cs b/CUETools/frmCUETools.Designer.cs
index 426bfc6..7483cc8 100644
--- a/CUETools/frmCUETools.Designer.cs
+++ b/CUETools/frmCUETools.Designer.cs
@@ -49,6 +49,7 @@ namespace JDP {
this.rbAppendFilename = new System.Windows.Forms.RadioButton();
this.txtAppendFilename = new System.Windows.Forms.TextBox();
this.grpAudioOutput = new System.Windows.Forms.GroupBox();
+ this.rbUDC1 = new System.Windows.Forms.RadioButton();
this.rbTTA = new System.Windows.Forms.RadioButton();
this.chkLossyWAV = new System.Windows.Forms.CheckBox();
this.rbAPE = new System.Windows.Forms.RadioButton();
@@ -79,7 +80,11 @@ namespace JDP {
this.rbFreedbAlways = new System.Windows.Forms.RadioButton();
this.rbFreedbIf = new System.Windows.Forms.RadioButton();
this.rbFreedbNever = new System.Windows.Forms.RadioButton();
- this.rbUDC1 = new System.Windows.Forms.RadioButton();
+ this.btnCodec = new System.Windows.Forms.Button();
+ this.contextMenuStripUDC = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.tAKToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.mP3ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.oGGToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.grpCUEPaths.SuspendLayout();
this.grpOutputStyle.SuspendLayout();
this.grpOutputPathGeneration.SuspendLayout();
@@ -87,6 +92,7 @@ namespace JDP {
this.grpAccurateRip.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.groupBox1.SuspendLayout();
+ this.contextMenuStripUDC.SuspendLayout();
this.SuspendLayout();
//
// btnConvert
@@ -269,6 +275,7 @@ namespace JDP {
//
// grpAudioOutput
//
+ this.grpAudioOutput.Controls.Add(this.btnCodec);
this.grpAudioOutput.Controls.Add(this.rbUDC1);
this.grpAudioOutput.Controls.Add(this.rbTTA);
this.grpAudioOutput.Controls.Add(this.chkLossyWAV);
@@ -281,6 +288,14 @@ namespace JDP {
this.grpAudioOutput.Name = "grpAudioOutput";
this.grpAudioOutput.TabStop = false;
//
+ // rbUDC1
+ //
+ resources.ApplyResources(this.rbUDC1, "rbUDC1");
+ this.rbUDC1.Name = "rbUDC1";
+ this.rbUDC1.TabStop = true;
+ this.rbUDC1.UseVisualStyleBackColor = true;
+ this.rbUDC1.CheckedChanged += new System.EventHandler(this.rbUDC1_CheckedChanged);
+ //
// rbTTA
//
resources.ApplyResources(this.rbTTA, "rbTTA");
@@ -510,13 +525,37 @@ namespace JDP {
this.rbFreedbNever.TabStop = true;
this.rbFreedbNever.UseVisualStyleBackColor = true;
//
- // rbUDC1
+ // btnCodec
//
- resources.ApplyResources(this.rbUDC1, "rbUDC1");
- this.rbUDC1.Name = "rbUDC1";
- this.rbUDC1.TabStop = true;
- this.rbUDC1.UseVisualStyleBackColor = true;
- this.rbUDC1.CheckedChanged += new System.EventHandler(this.rbUDC1_CheckedChanged);
+ resources.ApplyResources(this.btnCodec, "btnCodec");
+ this.btnCodec.Name = "btnCodec";
+ this.btnCodec.UseVisualStyleBackColor = true;
+ this.btnCodec.Click += new System.EventHandler(this.btnCodec_Click);
+ //
+ // contextMenuStripUDC
+ //
+ this.contextMenuStripUDC.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.tAKToolStripMenuItem,
+ this.mP3ToolStripMenuItem,
+ this.oGGToolStripMenuItem});
+ this.contextMenuStripUDC.Name = "contextMenuStripUDC";
+ resources.ApplyResources(this.contextMenuStripUDC, "contextMenuStripUDC");
+ this.contextMenuStripUDC.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.contextMenuStripUDC_ItemClicked);
+ //
+ // tAKToolStripMenuItem
+ //
+ this.tAKToolStripMenuItem.Name = "tAKToolStripMenuItem";
+ resources.ApplyResources(this.tAKToolStripMenuItem, "tAKToolStripMenuItem");
+ //
+ // mP3ToolStripMenuItem
+ //
+ this.mP3ToolStripMenuItem.Name = "mP3ToolStripMenuItem";
+ resources.ApplyResources(this.mP3ToolStripMenuItem, "mP3ToolStripMenuItem");
+ //
+ // oGGToolStripMenuItem
+ //
+ this.oGGToolStripMenuItem.Name = "oGGToolStripMenuItem";
+ resources.ApplyResources(this.oGGToolStripMenuItem, "oGGToolStripMenuItem");
//
// frmCUETools
//
@@ -557,6 +596,7 @@ namespace JDP {
this.statusStrip1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
+ this.contextMenuStripUDC.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -619,6 +659,11 @@ namespace JDP {
private System.Windows.Forms.RadioButton rbFreedbIf;
private System.Windows.Forms.RadioButton rbFreedbNever;
private System.Windows.Forms.RadioButton rbUDC1;
+ private System.Windows.Forms.Button btnCodec;
+ private System.Windows.Forms.ContextMenuStrip contextMenuStripUDC;
+ private System.Windows.Forms.ToolStripMenuItem tAKToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem mP3ToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem oGGToolStripMenuItem;
}
}
diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs
index 6a23c24..1c9a66c 100644
--- a/CUETools/frmCUETools.cs
+++ b/CUETools/frmCUETools.cs
@@ -1041,6 +1041,72 @@ namespace JDP {
updateOutputStyles();
UpdateOutputPath();
}
+
+ private void btnCodec_Click(object sender, EventArgs e)
+ {
+ contextMenuStripUDC.Show(btnCodec, btnCodec.Width, btnCodec.Height);
+ return;
+ }
+
+ private void contextMenuStripUDC_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
+ {
+ contextMenuStripUDC.Hide();
+ string executable = null, extension = null, decParams = null, encParams = null;
+ bool apev2 = false, id3v2 = false;
+ switch (e.ClickedItem.Text)
+ {
+ case "TAK":
+ extension = "tak";
+ executable = "takc.exe";
+ decParams = "-d %I -";
+ encParams = "-e -p4m -overwrite - %O";
+ apev2 = true;
+ id3v2 = false;
+ break;
+ case "MP3":
+ extension = "mp3";
+ executable = "lame.exe";
+ decParams = "--decode %I -";
+ encParams = "--vbr-new -V2 - %O";
+ apev2 = false;
+ id3v2 = true;
+ break;
+ case "OGG":
+ extension = "ogg";
+ executable = "oggenc.exe";
+ encParams = "- -o %O";
+ decParams = "";
+ apev2 = false;
+ id3v2 = false;
+ break;
+ default:
+ return;
+ }
+
+ string path = Path.Combine(Application.StartupPath, executable);
+ if (!File.Exists(path))
+ {
+ OpenFileDialog fileDlg = new OpenFileDialog();
+ DialogResult dlgRes;
+ fileDlg.Title = "Select the path to encoder";
+ fileDlg.Filter = executable + "|" + executable;
+ if (Directory.Exists(Application.StartupPath))
+ fileDlg.InitialDirectory = Application.StartupPath;
+ dlgRes = fileDlg.ShowDialog();
+ if (dlgRes != DialogResult.OK)
+ return;
+ path = fileDlg.FileName;
+ }
+ _config.udc1Extension = extension;
+ _config.udc1Decoder = path;
+ _config.udc1Params = decParams;
+ _config.udc1Encoder = path;
+ _config.udc1EncParams = encParams;
+ _config.udc1APEv2 = apev2;
+ _config.udc1ID3v2 = id3v2;
+ updateOutputStyles();
+ UpdateOutputPath();
+ }
}
enum OutputPathGeneration {
diff --git a/CUETools/frmCUETools.resx b/CUETools/frmCUETools.resx
index 2f0cbf3..97dc909 100644
--- a/CUETools/frmCUETools.resx
+++ b/CUETools/frmCUETools.resx
@@ -141,7 +141,7 @@
$this
- 15
+ 16
btnBrowseOutput
@@ -237,7 +237,7 @@
$this
- 14
+ 15
452, 49
@@ -465,7 +465,7 @@
$this
- 13
+ 14
153, 8
@@ -646,7 +646,7 @@
$this
- 12
+ 13
txtCustomFormat
@@ -754,7 +754,7 @@
$this
- 11
+ 12
166, 60
@@ -936,6 +936,138 @@
6
+
+ btnCodec
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 0
+
+
+ rbUDC1
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 1
+
+
+ rbTTA
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 2
+
+
+ chkLossyWAV
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 3
+
+
+ rbAPE
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 4
+
+
+ rbNoAudio
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 5
+
+
+ rbWavPack
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 6
+
+
+ rbWAV
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 7
+
+
+ rbFLAC
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 8
+
+
+ 8, 211
+
+
+ 92, 164
+
+
+ 2
+
+
+ Audio Output
+
+
+ grpAudioOutput
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 11
+
True
@@ -961,7 +1093,7 @@
grpAudioOutput
- 0
+ 1
True
@@ -988,7 +1120,7 @@
grpAudioOutput
- 1
+ 2
True
@@ -1018,7 +1150,7 @@
grpAudioOutput
- 2
+ 3
True
@@ -1045,7 +1177,7 @@
grpAudioOutput
- 3
+ 4
True
@@ -1075,7 +1207,7 @@
grpAudioOutput
- 4
+ 5
True
@@ -1102,7 +1234,7 @@
grpAudioOutput
- 5
+ 6
True
@@ -1129,7 +1261,7 @@
grpAudioOutput
- 6
+ 7
True
@@ -1156,31 +1288,7 @@
grpAudioOutput
- 7
-
-
- 8, 211
-
-
- 92, 164
-
-
- 2
-
-
- Audio Output
-
-
- grpAudioOutput
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 10
+ 8
412, 308
@@ -1204,7 +1312,7 @@
$this
- 9
+ 10
412, 277
@@ -1228,7 +1336,7 @@
$this
- 8
+ 9
412, 215
@@ -1252,7 +1360,7 @@
$this
- 7
+ 8
rbArAndEncode
@@ -1348,7 +1456,7 @@
$this
- 6
+ 7
True
@@ -1525,7 +1633,7 @@
5
- 0, 378
+ 424, 8
0, 378
@@ -1549,7 +1657,7 @@
$this
- 5
+ 6
253, 17
@@ -1597,7 +1705,7 @@
$this
- 4
+ 5
NoControl
@@ -1627,7 +1735,7 @@
$this
- 3
+ 4
NoControl
@@ -1657,7 +1765,7 @@
$this
- 2
+ 3
NoControl
@@ -1687,7 +1795,7 @@
$this
- 1
+ 2
rbFreedbAlways
@@ -1747,7 +1855,7 @@
$this
- 0
+ 1
True
@@ -1830,6 +1938,63 @@
2
+
+ Popup
+
+
+ 66, 117
+
+
+ 20, 20
+
+
+ 8
+
+
+ >
+
+
+ btnCodec
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioOutput
+
+
+ 0
+
+
+ 250, 8
+
+
+ 152, 22
+
+
+ TAK
+
+
+ 152, 22
+
+
+ MP3
+
+
+ 152, 22
+
+
+ OGG
+
+
+ 153, 92
+
+
+ contextMenuStripUDC
+
+
+ System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
True
@@ -1872,6 +2037,24 @@
System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tAKToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ mP3ToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ oGGToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
frmCUETools
diff --git a/CUETools/frmSettings.Designer.cs b/CUETools/frmSettings.Designer.cs
index ab1385e..aa9d3a3 100644
--- a/CUETools/frmSettings.Designer.cs
+++ b/CUETools/frmSettings.Designer.cs
@@ -98,21 +98,22 @@ namespace JDP {
this.tabPage8 = new System.Windows.Forms.TabPage();
this.label1 = new System.Windows.Forms.Label();
this.numericLossyWAVQuality = new System.Windows.Forms.NumericUpDown();
+ this.tabPage9 = new System.Windows.Forms.TabPage();
+ this.chkUDC1APEv2 = new System.Windows.Forms.CheckBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.textUDC1EncParams = new System.Windows.Forms.TextBox();
+ this.textUDC1Encoder = new System.Windows.Forms.TextBox();
+ this.textUDC1Params = new System.Windows.Forms.TextBox();
+ this.textUDC1Decoder = new System.Windows.Forms.TextBox();
+ this.textUDC1Extension = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.grpHDCD = new System.Windows.Forms.GroupBox();
this.chkHDCDDetect = new System.Windows.Forms.CheckBox();
- this.tabPage9 = new System.Windows.Forms.TabPage();
- this.label2 = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.textUDC1Extension = new System.Windows.Forms.TextBox();
- this.textUDC1Decoder = new System.Windows.Forms.TextBox();
- this.textUDC1Params = new System.Windows.Forms.TextBox();
- this.textUDC1Encoder = new System.Windows.Forms.TextBox();
- this.textUDC1EncParams = new System.Windows.Forms.TextBox();
- this.label5 = new System.Windows.Forms.Label();
- this.label6 = new System.Windows.Forms.Label();
- this.chkUDC1APEv2 = new System.Windows.Forms.CheckBox();
+ this.chkUDC1ID3v2 = new System.Windows.Forms.CheckBox();
btnCancel = new System.Windows.Forms.Button();
this.grpGeneral.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit();
@@ -135,9 +136,9 @@ namespace JDP {
this.tabPage7.SuspendLayout();
this.tabPage8.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericLossyWAVQuality)).BeginInit();
+ this.tabPage9.SuspendLayout();
this.tabPage4.SuspendLayout();
this.grpHDCD.SuspendLayout();
- this.tabPage9.SuspendLayout();
this.SuspendLayout();
//
// btnCancel
@@ -767,6 +768,80 @@ namespace JDP {
0,
0,
0});
+ //
+ // tabPage9
+ //
+ this.tabPage9.Controls.Add(this.chkUDC1ID3v2);
+ this.tabPage9.Controls.Add(this.chkUDC1APEv2);
+ this.tabPage9.Controls.Add(this.label6);
+ this.tabPage9.Controls.Add(this.label5);
+ this.tabPage9.Controls.Add(this.textUDC1EncParams);
+ this.tabPage9.Controls.Add(this.textUDC1Encoder);
+ this.tabPage9.Controls.Add(this.textUDC1Params);
+ this.tabPage9.Controls.Add(this.textUDC1Decoder);
+ this.tabPage9.Controls.Add(this.textUDC1Extension);
+ this.tabPage9.Controls.Add(this.label4);
+ this.tabPage9.Controls.Add(this.label3);
+ this.tabPage9.Controls.Add(this.label2);
+ resources.ApplyResources(this.tabPage9, "tabPage9");
+ this.tabPage9.Name = "tabPage9";
+ this.tabPage9.UseVisualStyleBackColor = true;
+ //
+ // chkUDC1APEv2
+ //
+ resources.ApplyResources(this.chkUDC1APEv2, "chkUDC1APEv2");
+ this.chkUDC1APEv2.Name = "chkUDC1APEv2";
+ this.chkUDC1APEv2.UseVisualStyleBackColor = true;
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // textUDC1EncParams
+ //
+ resources.ApplyResources(this.textUDC1EncParams, "textUDC1EncParams");
+ this.textUDC1EncParams.Name = "textUDC1EncParams";
+ //
+ // textUDC1Encoder
+ //
+ resources.ApplyResources(this.textUDC1Encoder, "textUDC1Encoder");
+ this.textUDC1Encoder.Name = "textUDC1Encoder";
+ //
+ // textUDC1Params
+ //
+ resources.ApplyResources(this.textUDC1Params, "textUDC1Params");
+ this.textUDC1Params.Name = "textUDC1Params";
+ //
+ // textUDC1Decoder
+ //
+ resources.ApplyResources(this.textUDC1Decoder, "textUDC1Decoder");
+ this.textUDC1Decoder.Name = "textUDC1Decoder";
+ //
+ // textUDC1Extension
+ //
+ resources.ApplyResources(this.textUDC1Extension, "textUDC1Extension");
+ this.textUDC1Extension.Name = "textUDC1Extension";
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
//
// tabPage4
//
@@ -793,78 +868,11 @@ namespace JDP {
this.chkHDCDDetect.UseVisualStyleBackColor = true;
this.chkHDCDDetect.CheckedChanged += new System.EventHandler(this.chkHDCDDetect_CheckedChanged);
//
- // tabPage9
+ // chkUDC1ID3v2
//
- this.tabPage9.Controls.Add(this.chkUDC1APEv2);
- this.tabPage9.Controls.Add(this.label6);
- this.tabPage9.Controls.Add(this.label5);
- this.tabPage9.Controls.Add(this.textUDC1EncParams);
- this.tabPage9.Controls.Add(this.textUDC1Encoder);
- this.tabPage9.Controls.Add(this.textUDC1Params);
- this.tabPage9.Controls.Add(this.textUDC1Decoder);
- this.tabPage9.Controls.Add(this.textUDC1Extension);
- this.tabPage9.Controls.Add(this.label4);
- this.tabPage9.Controls.Add(this.label3);
- this.tabPage9.Controls.Add(this.label2);
- resources.ApplyResources(this.tabPage9, "tabPage9");
- this.tabPage9.Name = "tabPage9";
- this.tabPage9.UseVisualStyleBackColor = true;
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // textUDC1Extension
- //
- resources.ApplyResources(this.textUDC1Extension, "textUDC1Extension");
- this.textUDC1Extension.Name = "textUDC1Extension";
- //
- // textUDC1Decoder
- //
- resources.ApplyResources(this.textUDC1Decoder, "textUDC1Decoder");
- this.textUDC1Decoder.Name = "textUDC1Decoder";
- //
- // textUDC1Params
- //
- resources.ApplyResources(this.textUDC1Params, "textUDC1Params");
- this.textUDC1Params.Name = "textUDC1Params";
- //
- // textUDC1Encoder
- //
- resources.ApplyResources(this.textUDC1Encoder, "textUDC1Encoder");
- this.textUDC1Encoder.Name = "textUDC1Encoder";
- //
- // textUDC1EncParams
- //
- resources.ApplyResources(this.textUDC1EncParams, "textUDC1EncParams");
- this.textUDC1EncParams.Name = "textUDC1EncParams";
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // chkUDC1APEv2
- //
- resources.ApplyResources(this.chkUDC1APEv2, "chkUDC1APEv2");
- this.chkUDC1APEv2.Name = "chkUDC1APEv2";
- this.chkUDC1APEv2.UseVisualStyleBackColor = true;
+ resources.ApplyResources(this.chkUDC1ID3v2, "chkUDC1ID3v2");
+ this.chkUDC1ID3v2.Name = "chkUDC1ID3v2";
+ this.chkUDC1ID3v2.UseVisualStyleBackColor = true;
//
// frmSettings
//
@@ -912,12 +920,12 @@ namespace JDP {
this.tabPage8.ResumeLayout(false);
this.tabPage8.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericLossyWAVQuality)).EndInit();
+ this.tabPage9.ResumeLayout(false);
+ this.tabPage9.PerformLayout();
this.tabPage4.ResumeLayout(false);
this.tabPage4.PerformLayout();
this.grpHDCD.ResumeLayout(false);
this.grpHDCD.PerformLayout();
- this.tabPage9.ResumeLayout(false);
- this.tabPage9.PerformLayout();
this.ResumeLayout(false);
}
@@ -1011,6 +1019,7 @@ namespace JDP {
private System.Windows.Forms.TextBox textUDC1EncParams;
private System.Windows.Forms.TextBox textUDC1Encoder;
private System.Windows.Forms.CheckBox chkUDC1APEv2;
+ private System.Windows.Forms.CheckBox chkUDC1ID3v2;
}
}
\ No newline at end of file
diff --git a/CUETools/frmSettings.cs b/CUETools/frmSettings.cs
index fcd8d0b..d963df9 100644
--- a/CUETools/frmSettings.cs
+++ b/CUETools/frmSettings.cs
@@ -76,6 +76,7 @@ namespace JDP {
textUDC1Encoder.Text = _config.udc1Encoder;
textUDC1EncParams.Text = _config.udc1EncParams;
chkUDC1APEv2.Checked = _config.udc1APEv2;
+ chkUDC1ID3v2.Checked = _config.udc1ID3v2;
EnableDisable();
}
@@ -160,6 +161,7 @@ namespace JDP {
_config.udc1Encoder = textUDC1Encoder.Text;
_config.udc1EncParams = textUDC1EncParams.Text;
_config.udc1APEv2 = chkUDC1APEv2.Checked;
+ _config.udc1ID3v2 = chkUDC1ID3v2.Checked;
}
private void EnableDisable()
diff --git a/CUETools/frmSettings.resx b/CUETools/frmSettings.resx
index 5b32b31..f16645a 100644
--- a/CUETools/frmSettings.resx
+++ b/CUETools/frmSettings.resx
@@ -1998,6 +1998,33 @@
3
+
+ True
+
+
+ 268, 8
+
+
+ 79, 17
+
+
+ 11
+
+
+ ID3v2 tags
+
+
+ chkUDC1ID3v2
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tabPage9
+
+
+ 0
+
True
@@ -2023,7 +2050,7 @@
tabPage9
- 0
+ 1
True
@@ -2050,7 +2077,7 @@
tabPage9
- 1
+ 2
True
@@ -2077,7 +2104,7 @@
tabPage9
- 2
+ 3
89, 114
@@ -2098,7 +2125,7 @@
tabPage9
- 3
+ 4
89, 87
@@ -2119,7 +2146,7 @@
tabPage9
- 4
+ 5
89, 60
@@ -2140,7 +2167,7 @@
tabPage9
- 5
+ 6
89, 33
@@ -2161,7 +2188,7 @@
tabPage9
- 6
+ 7
89, 6
@@ -2182,7 +2209,7 @@
tabPage9
- 7
+ 8
True
@@ -2209,7 +2236,7 @@
tabPage9
- 8
+ 9
True
@@ -2236,7 +2263,7 @@
tabPage9
- 9
+ 10
True
@@ -2263,7 +2290,7 @@
tabPage9
- 10
+ 11
4, 22