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