From 382ca8a67b6634c15c4f79a3a80bb3dccc2f98a2 Mon Sep 17 00:00:00 2001 From: chudov Date: Wed, 28 Apr 2010 08:12:37 +0000 Subject: [PATCH] 2.0.8 final --- CUERipper/frmCUERipper.Designer.cs | 209 +- CUERipper/frmCUERipper.cs | 75 +- CUERipper/frmCUERipper.resx | 2100 ++++++++--------- CUETools.Codecs.ALAC/ALACDotNet.cs | 11 +- CUETools.Processor/Processor.cs | 121 +- CUETools/CUETools.csproj | 1 + CUETools/frmCUETools.cs | 2 +- CUETools/frmChoice.Designer.cs | 18 +- CUETools/frmChoice.cs | 34 +- CUETools/frmChoice.resx | 186 +- MusicBrainz/MusicBrainz.csproj | 3 +- .../MusicBrainz/MusicBrainzException.cs | 10 +- MusicBrainz/MusicBrainz/MusicBrainzObject.cs | 55 +- 13 files changed, 1414 insertions(+), 1411 deletions(-) diff --git a/CUERipper/frmCUERipper.Designer.cs b/CUERipper/frmCUERipper.Designer.cs index fad2f36..8e7f9cf 100644 --- a/CUERipper/frmCUERipper.Designer.cs +++ b/CUERipper/frmCUERipper.Designer.cs @@ -47,6 +47,8 @@ namespace CUERipper this.buttonPause = new System.Windows.Forms.Button(); this.contextMenuStripRelease = new System.Windows.Forms.ContextMenuStrip(this.components); this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.variousToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fixEncodingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.numericWriteOffset = new System.Windows.Forms.NumericUpDown(); this.lblWriteOffset = new System.Windows.Forms.Label(); this.checkBoxEACMode = new System.Windows.Forms.CheckBox(); @@ -100,11 +102,6 @@ namespace CUERipper // // statusStrip1 // - this.statusStrip1.AccessibleDescription = null; - this.statusStrip1.AccessibleName = null; - resources.ApplyResources(this.statusStrip1, "statusStrip1"); - this.statusStrip1.BackgroundImage = null; - this.statusStrip1.Font = null; this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1, this.toolStripStatusLabelMusicBrainz, @@ -112,90 +109,69 @@ namespace CUERipper this.toolStripStatusAr, this.toolStripProgressBar1, this.toolStripStatusLabel2}); + resources.ApplyResources(this.statusStrip1, "statusStrip1"); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.ShowItemToolTips = true; this.statusStrip1.SizingGrip = false; - this.toolTip1.SetToolTip(this.statusStrip1, resources.GetString("statusStrip1.ToolTip")); // // toolStripStatusLabel1 // - this.toolStripStatusLabel1.AccessibleDescription = null; - this.toolStripStatusLabel1.AccessibleName = null; - resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1"); - this.toolStripStatusLabel1.BackgroundImage = null; this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1"); this.toolStripStatusLabel1.Spring = true; // // toolStripStatusLabelMusicBrainz // - this.toolStripStatusLabelMusicBrainz.AccessibleDescription = null; - this.toolStripStatusLabelMusicBrainz.AccessibleName = null; - resources.ApplyResources(this.toolStripStatusLabelMusicBrainz, "toolStripStatusLabelMusicBrainz"); - this.toolStripStatusLabelMusicBrainz.BackgroundImage = null; this.toolStripStatusLabelMusicBrainz.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom))); this.toolStripStatusLabelMusicBrainz.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenInner; this.toolStripStatusLabelMusicBrainz.Image = global::CUERipper.Properties.Resources.musicbrainz; this.toolStripStatusLabelMusicBrainz.Name = "toolStripStatusLabelMusicBrainz"; + resources.ApplyResources(this.toolStripStatusLabelMusicBrainz, "toolStripStatusLabelMusicBrainz"); this.toolStripStatusLabelMusicBrainz.Click += new System.EventHandler(this.toolStripStatusLabelMusicBrainz_Click); // // toolStripStatusCTDB // - this.toolStripStatusCTDB.AccessibleDescription = null; - this.toolStripStatusCTDB.AccessibleName = null; - resources.ApplyResources(this.toolStripStatusCTDB, "toolStripStatusCTDB"); - this.toolStripStatusCTDB.BackgroundImage = null; this.toolStripStatusCTDB.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom))); this.toolStripStatusCTDB.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenInner; this.toolStripStatusCTDB.Image = global::CUERipper.Properties.Resources.cdrepair; this.toolStripStatusCTDB.Name = "toolStripStatusCTDB"; + resources.ApplyResources(this.toolStripStatusCTDB, "toolStripStatusCTDB"); // // toolStripStatusAr // - this.toolStripStatusAr.AccessibleDescription = null; - this.toolStripStatusAr.AccessibleName = null; - resources.ApplyResources(this.toolStripStatusAr, "toolStripStatusAr"); - this.toolStripStatusAr.BackgroundImage = null; this.toolStripStatusAr.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom))); this.toolStripStatusAr.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenInner; + resources.ApplyResources(this.toolStripStatusAr, "toolStripStatusAr"); this.toolStripStatusAr.Name = "toolStripStatusAr"; // // toolStripProgressBar1 // - this.toolStripProgressBar1.AccessibleDescription = null; - this.toolStripProgressBar1.AccessibleName = null; - resources.ApplyResources(this.toolStripProgressBar1, "toolStripProgressBar1"); this.toolStripProgressBar1.AutoToolTip = true; this.toolStripProgressBar1.MarqueeAnimationSpeed = 500; this.toolStripProgressBar1.Name = "toolStripProgressBar1"; + resources.ApplyResources(this.toolStripProgressBar1, "toolStripProgressBar1"); this.toolStripProgressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous; // // toolStripStatusLabel2 // - this.toolStripStatusLabel2.AccessibleDescription = null; - this.toolStripStatusLabel2.AccessibleName = null; - resources.ApplyResources(this.toolStripStatusLabel2, "toolStripStatusLabel2"); - this.toolStripStatusLabel2.BackgroundImage = null; this.toolStripStatusLabel2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; + resources.ApplyResources(this.toolStripStatusLabel2, "toolStripStatusLabel2"); // // listTracks // - this.listTracks.AccessibleDescription = null; - this.listTracks.AccessibleName = null; resources.ApplyResources(this.listTracks, "listTracks"); - this.listTracks.BackgroundImage = null; this.listTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.Title, this.TrackNo, this.Start, this.Length}); - this.listTracks.Font = null; this.listTracks.FullRowSelect = true; this.listTracks.GridLines = true; this.listTracks.LabelEdit = true; @@ -227,69 +203,57 @@ namespace CUERipper // // buttonGo // - this.buttonGo.AccessibleDescription = null; - this.buttonGo.AccessibleName = null; resources.ApplyResources(this.buttonGo, "buttonGo"); this.buttonGo.BackColor = System.Drawing.Color.Transparent; - this.buttonGo.BackgroundImage = null; - this.buttonGo.Font = null; this.buttonGo.Name = "buttonGo"; - this.toolTip1.SetToolTip(this.buttonGo, resources.GetString("buttonGo.ToolTip")); this.buttonGo.UseVisualStyleBackColor = false; this.buttonGo.Click += new System.EventHandler(this.buttonGo_Click); // // buttonAbort // - this.buttonAbort.AccessibleDescription = null; - this.buttonAbort.AccessibleName = null; resources.ApplyResources(this.buttonAbort, "buttonAbort"); - this.buttonAbort.BackgroundImage = null; - this.buttonAbort.Font = null; this.buttonAbort.Name = "buttonAbort"; - this.toolTip1.SetToolTip(this.buttonAbort, resources.GetString("buttonAbort.ToolTip")); this.buttonAbort.UseVisualStyleBackColor = true; this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click); // // buttonPause // - this.buttonPause.AccessibleDescription = null; - this.buttonPause.AccessibleName = null; resources.ApplyResources(this.buttonPause, "buttonPause"); - this.buttonPause.BackgroundImage = null; - this.buttonPause.Font = null; this.buttonPause.Name = "buttonPause"; - this.toolTip1.SetToolTip(this.buttonPause, resources.GetString("buttonPause.ToolTip")); this.buttonPause.UseVisualStyleBackColor = true; this.buttonPause.Click += new System.EventHandler(this.buttonPause_Click); // // contextMenuStripRelease // - this.contextMenuStripRelease.AccessibleDescription = null; - this.contextMenuStripRelease.AccessibleName = null; - resources.ApplyResources(this.contextMenuStripRelease, "contextMenuStripRelease"); - this.contextMenuStripRelease.BackgroundImage = null; - this.contextMenuStripRelease.Font = null; this.contextMenuStripRelease.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.editToolStripMenuItem}); + this.editToolStripMenuItem, + this.variousToolStripMenuItem, + this.fixEncodingToolStripMenuItem}); this.contextMenuStripRelease.Name = "contextMenuStripRelease"; - this.toolTip1.SetToolTip(this.contextMenuStripRelease, resources.GetString("contextMenuStripRelease.ToolTip")); + resources.ApplyResources(this.contextMenuStripRelease, "contextMenuStripRelease"); + this.contextMenuStripRelease.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStripRelease_Opening); // // editToolStripMenuItem // - this.editToolStripMenuItem.AccessibleDescription = null; - this.editToolStripMenuItem.AccessibleName = null; - resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem"); - this.editToolStripMenuItem.BackgroundImage = null; this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - this.editToolStripMenuItem.ShortcutKeyDisplayString = null; + resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem"); this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click); // + // variousToolStripMenuItem + // + this.variousToolStripMenuItem.Name = "variousToolStripMenuItem"; + resources.ApplyResources(this.variousToolStripMenuItem, "variousToolStripMenuItem"); + this.variousToolStripMenuItem.Click += new System.EventHandler(this.variousToolStripMenuItem_Click); + // + // fixEncodingToolStripMenuItem + // + this.fixEncodingToolStripMenuItem.Name = "fixEncodingToolStripMenuItem"; + resources.ApplyResources(this.fixEncodingToolStripMenuItem, "fixEncodingToolStripMenuItem"); + this.fixEncodingToolStripMenuItem.Click += new System.EventHandler(this.fixEncodingToolStripMenuItem_Click); + // // numericWriteOffset // - this.numericWriteOffset.AccessibleDescription = null; - this.numericWriteOffset.AccessibleName = null; resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset"); - this.numericWriteOffset.Font = null; this.numericWriteOffset.Maximum = new decimal(new int[] { 99999, 0, @@ -301,35 +265,21 @@ namespace CUERipper 0, -2147483648}); this.numericWriteOffset.Name = "numericWriteOffset"; - this.toolTip1.SetToolTip(this.numericWriteOffset, resources.GetString("numericWriteOffset.ToolTip")); // // lblWriteOffset // - this.lblWriteOffset.AccessibleDescription = null; - this.lblWriteOffset.AccessibleName = null; resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset"); - this.lblWriteOffset.Font = null; this.lblWriteOffset.Name = "lblWriteOffset"; - this.toolTip1.SetToolTip(this.lblWriteOffset, resources.GetString("lblWriteOffset.ToolTip")); // // checkBoxEACMode // - this.checkBoxEACMode.AccessibleDescription = null; - this.checkBoxEACMode.AccessibleName = null; resources.ApplyResources(this.checkBoxEACMode, "checkBoxEACMode"); - this.checkBoxEACMode.BackgroundImage = null; - this.checkBoxEACMode.Font = null; this.checkBoxEACMode.Name = "checkBoxEACMode"; - this.toolTip1.SetToolTip(this.checkBoxEACMode, resources.GetString("checkBoxEACMode.ToolTip")); this.checkBoxEACMode.UseVisualStyleBackColor = true; this.checkBoxEACMode.CheckedChanged += new System.EventHandler(this.checkBoxEACMode_CheckedChanged); // // groupBoxSettings // - this.groupBoxSettings.AccessibleDescription = null; - this.groupBoxSettings.AccessibleName = null; - resources.ApplyResources(this.groupBoxSettings, "groupBoxSettings"); - this.groupBoxSettings.BackgroundImage = null; this.groupBoxSettings.Controls.Add(this.bnComboBoxLosslessOrNot); this.groupBoxSettings.Controls.Add(this.bnComboBoxEncoder); this.groupBoxSettings.Controls.Add(this.labelSecureMode); @@ -343,27 +293,22 @@ namespace CUERipper this.groupBoxSettings.Controls.Add(this.lblWriteOffset); this.groupBoxSettings.Controls.Add(this.checkBoxEACMode); this.groupBoxSettings.Controls.Add(this.numericWriteOffset); - this.groupBoxSettings.Font = null; + resources.ApplyResources(this.groupBoxSettings, "groupBoxSettings"); this.groupBoxSettings.Name = "groupBoxSettings"; this.groupBoxSettings.TabStop = false; - this.toolTip1.SetToolTip(this.groupBoxSettings, resources.GetString("groupBoxSettings.ToolTip")); // // bnComboBoxLosslessOrNot // - this.bnComboBoxLosslessOrNot.AccessibleDescription = null; - this.bnComboBoxLosslessOrNot.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxLosslessOrNot, "bnComboBoxLosslessOrNot"); this.bnComboBoxLosslessOrNot.BackColor = System.Drawing.Color.White; - this.bnComboBoxLosslessOrNot.BackgroundImage = null; this.bnComboBoxLosslessOrNot.DataSource = this.losslessOrNotBindingSource; this.bnComboBoxLosslessOrNot.DropDownHeight = 200; this.bnComboBoxLosslessOrNot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bnComboBoxLosslessOrNot.DropDownWidth = 80; - this.bnComboBoxLosslessOrNot.Font = null; this.bnComboBoxLosslessOrNot.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxLosslessOrNot.ImageKeyMember = "ImageKey"; this.bnComboBoxLosslessOrNot.ImageList = null; this.bnComboBoxLosslessOrNot.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxLosslessOrNot, "bnComboBoxLosslessOrNot"); this.bnComboBoxLosslessOrNot.MaxDropDownItems = 8; this.bnComboBoxLosslessOrNot.MinimumSize = new System.Drawing.Size(40, 21); this.bnComboBoxLosslessOrNot.Name = "bnComboBoxLosslessOrNot"; @@ -371,7 +316,6 @@ namespace CUERipper this.bnComboBoxLosslessOrNot.SelectedIndex = -1; this.bnComboBoxLosslessOrNot.SelectedItem = null; this.bnComboBoxLosslessOrNot.Sorted = false; - this.toolTip1.SetToolTip(this.bnComboBoxLosslessOrNot, resources.GetString("bnComboBoxLosslessOrNot.ToolTip")); this.bnComboBoxLosslessOrNot.SelectedIndexChanged += new System.EventHandler(this.bnComboBoxLosslessOrNot_SelectedIndexChanged); // // losslessOrNotBindingSource @@ -385,19 +329,15 @@ namespace CUERipper // // bnComboBoxEncoder // - this.bnComboBoxEncoder.AccessibleDescription = null; - this.bnComboBoxEncoder.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxEncoder, "bnComboBoxEncoder"); this.bnComboBoxEncoder.BackColor = System.Drawing.Color.White; - this.bnComboBoxEncoder.BackgroundImage = null; this.bnComboBoxEncoder.DataSource = this.encodersBindingSource; this.bnComboBoxEncoder.DropDownHeight = 200; this.bnComboBoxEncoder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bnComboBoxEncoder.DropDownWidth = 80; - this.bnComboBoxEncoder.Font = null; this.bnComboBoxEncoder.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxEncoder.ImageList = null; this.bnComboBoxEncoder.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxEncoder, "bnComboBoxEncoder"); this.bnComboBoxEncoder.MaxDropDownItems = 8; this.bnComboBoxEncoder.MinimumSize = new System.Drawing.Size(40, 21); this.bnComboBoxEncoder.Name = "bnComboBoxEncoder"; @@ -405,7 +345,6 @@ namespace CUERipper this.bnComboBoxEncoder.SelectedIndex = -1; this.bnComboBoxEncoder.SelectedItem = null; this.bnComboBoxEncoder.Sorted = false; - this.toolTip1.SetToolTip(this.bnComboBoxEncoder, resources.GetString("bnComboBoxEncoder.ToolTip")); this.bnComboBoxEncoder.SelectedIndexChanged += new System.EventHandler(this.comboBoxEncoder_SelectedIndexChanged); // // encodersBindingSource @@ -415,29 +354,21 @@ namespace CUERipper // // labelSecureMode // - this.labelSecureMode.AccessibleDescription = null; - this.labelSecureMode.AccessibleName = null; resources.ApplyResources(this.labelSecureMode, "labelSecureMode"); - this.labelSecureMode.Font = null; this.labelSecureMode.Name = "labelSecureMode"; - this.toolTip1.SetToolTip(this.labelSecureMode, resources.GetString("labelSecureMode.ToolTip")); // // bnComboBoxFormat // - this.bnComboBoxFormat.AccessibleDescription = null; - this.bnComboBoxFormat.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxFormat, "bnComboBoxFormat"); this.bnComboBoxFormat.BackColor = System.Drawing.Color.White; - this.bnComboBoxFormat.BackgroundImage = null; this.bnComboBoxFormat.DataSource = this.formatsBindingSource; this.bnComboBoxFormat.DropDownHeight = 200; this.bnComboBoxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bnComboBoxFormat.DropDownWidth = 80; - this.bnComboBoxFormat.Font = null; this.bnComboBoxFormat.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxFormat.ImageKeyMember = "DotExtension"; this.bnComboBoxFormat.ImageList = null; this.bnComboBoxFormat.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxFormat, "bnComboBoxFormat"); this.bnComboBoxFormat.MaxDropDownItems = 8; this.bnComboBoxFormat.MinimumSize = new System.Drawing.Size(40, 21); this.bnComboBoxFormat.Name = "bnComboBoxFormat"; @@ -445,7 +376,6 @@ namespace CUERipper this.bnComboBoxFormat.SelectedIndex = -1; this.bnComboBoxFormat.SelectedItem = null; this.bnComboBoxFormat.Sorted = false; - this.toolTip1.SetToolTip(this.bnComboBoxFormat, resources.GetString("bnComboBoxFormat.ToolTip")); this.bnComboBoxFormat.SelectedIndexChanged += new System.EventHandler(this.bnComboBoxFormat_SelectedIndexChanged); // // formatsBindingSource @@ -455,27 +385,20 @@ namespace CUERipper // // labelEncoderMinMode // - this.labelEncoderMinMode.AccessibleDescription = null; - this.labelEncoderMinMode.AccessibleName = null; resources.ApplyResources(this.labelEncoderMinMode, "labelEncoderMinMode"); this.labelEncoderMinMode.Name = "labelEncoderMinMode"; - this.toolTip1.SetToolTip(this.labelEncoderMinMode, resources.GetString("labelEncoderMinMode.ToolTip")); // // bnComboBoxImage // - this.bnComboBoxImage.AccessibleDescription = null; - this.bnComboBoxImage.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxImage, "bnComboBoxImage"); this.bnComboBoxImage.BackColor = System.Drawing.Color.White; - this.bnComboBoxImage.BackgroundImage = null; this.bnComboBoxImage.DataSource = this.cUEStylesBindingSource; this.bnComboBoxImage.DropDownHeight = 200; this.bnComboBoxImage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bnComboBoxImage.DropDownWidth = 80; - this.bnComboBoxImage.Font = null; this.bnComboBoxImage.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxImage.ImageList = null; this.bnComboBoxImage.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxImage, "bnComboBoxImage"); this.bnComboBoxImage.MaxDropDownItems = 8; this.bnComboBoxImage.MinimumSize = new System.Drawing.Size(40, 21); this.bnComboBoxImage.Name = "bnComboBoxImage"; @@ -483,7 +406,6 @@ namespace CUERipper this.bnComboBoxImage.SelectedIndex = -1; this.bnComboBoxImage.SelectedItem = null; this.bnComboBoxImage.Sorted = false; - this.toolTip1.SetToolTip(this.bnComboBoxImage, resources.GetString("bnComboBoxImage.ToolTip")); // // cUEStylesBindingSource // @@ -492,43 +414,27 @@ namespace CUERipper // // labelEncoderMaxMode // - this.labelEncoderMaxMode.AccessibleDescription = null; - this.labelEncoderMaxMode.AccessibleName = null; resources.ApplyResources(this.labelEncoderMaxMode, "labelEncoderMaxMode"); this.labelEncoderMaxMode.Name = "labelEncoderMaxMode"; - this.toolTip1.SetToolTip(this.labelEncoderMaxMode, resources.GetString("labelEncoderMaxMode.ToolTip")); // // labelEncoderMode // - this.labelEncoderMode.AccessibleDescription = null; - this.labelEncoderMode.AccessibleName = null; resources.ApplyResources(this.labelEncoderMode, "labelEncoderMode"); this.labelEncoderMode.Name = "labelEncoderMode"; - this.toolTip1.SetToolTip(this.labelEncoderMode, resources.GetString("labelEncoderMode.ToolTip")); // // trackBarEncoderMode // - this.trackBarEncoderMode.AccessibleDescription = null; - this.trackBarEncoderMode.AccessibleName = null; resources.ApplyResources(this.trackBarEncoderMode, "trackBarEncoderMode"); - this.trackBarEncoderMode.BackgroundImage = null; - this.trackBarEncoderMode.Font = null; this.trackBarEncoderMode.LargeChange = 1; this.trackBarEncoderMode.Name = "trackBarEncoderMode"; - this.toolTip1.SetToolTip(this.trackBarEncoderMode, resources.GetString("trackBarEncoderMode.ToolTip")); this.trackBarEncoderMode.Scroll += new System.EventHandler(this.trackBarEncoderMode_Scroll); // // trackBarSecureMode // - this.trackBarSecureMode.AccessibleDescription = null; - this.trackBarSecureMode.AccessibleName = null; resources.ApplyResources(this.trackBarSecureMode, "trackBarSecureMode"); - this.trackBarSecureMode.BackgroundImage = null; - this.trackBarSecureMode.Font = null; this.trackBarSecureMode.LargeChange = 3; this.trackBarSecureMode.Maximum = 2; this.trackBarSecureMode.Name = "trackBarSecureMode"; - this.toolTip1.SetToolTip(this.trackBarSecureMode, resources.GetString("trackBarSecureMode.ToolTip")); this.trackBarSecureMode.Scroll += new System.EventHandler(this.trackBarSecureMode_Scroll); // // imageListChecked @@ -542,23 +448,15 @@ namespace CUERipper // // toolStripMenuItem1 // - this.toolStripMenuItem1.AccessibleDescription = null; - this.toolStripMenuItem1.AccessibleName = null; - resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1"); - this.toolStripMenuItem1.BackgroundImage = null; this.toolStripMenuItem1.Image = global::CUERipper.Properties.Resources.cddb; this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.ShortcutKeyDisplayString = null; + resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1"); // // progressBarErrors // - this.progressBarErrors.AccessibleDescription = null; - this.progressBarErrors.AccessibleName = null; - resources.ApplyResources(this.progressBarErrors, "progressBarErrors"); - this.progressBarErrors.BackgroundImage = null; this.progressBarErrors.BackgroundPainter = this.plainBackgroundPainter1; this.progressBarErrors.BorderPainter = this.styledBorderPainter1; - this.progressBarErrors.Font = null; + resources.ApplyResources(this.progressBarErrors, "progressBarErrors"); this.progressBarErrors.MarqueePercentage = 25; this.progressBarErrors.MarqueeSpeed = 30; this.progressBarErrors.MarqueeStep = 1; @@ -569,7 +467,6 @@ namespace CUERipper this.progressBarErrors.ProgressPainter = this.plainProgressPainter1; this.progressBarErrors.ProgressType = ProgressODoom.ProgressType.Smooth; this.progressBarErrors.ShowPercentage = false; - this.toolTip1.SetToolTip(this.progressBarErrors, resources.GetString("progressBarErrors.ToolTip")); this.progressBarErrors.Value = 10; // // plainBackgroundPainter1 @@ -600,13 +497,9 @@ namespace CUERipper // // progressBarCD // - this.progressBarCD.AccessibleDescription = null; - this.progressBarCD.AccessibleName = null; - resources.ApplyResources(this.progressBarCD, "progressBarCD"); - this.progressBarCD.BackgroundImage = null; this.progressBarCD.BackgroundPainter = this.plainBackgroundPainter1; this.progressBarCD.BorderPainter = this.styledBorderPainter1; - this.progressBarCD.Font = null; + resources.ApplyResources(this.progressBarCD, "progressBarCD"); this.progressBarCD.MarqueePercentage = 25; this.progressBarCD.MarqueeSpeed = 30; this.progressBarCD.MarqueeStep = 1; @@ -617,7 +510,6 @@ namespace CUERipper this.progressBarCD.ProgressPainter = this.plainProgressPainter2; this.progressBarCD.ProgressType = ProgressODoom.ProgressType.Smooth; this.progressBarCD.ShowPercentage = true; - this.toolTip1.SetToolTip(this.progressBarCD, resources.GetString("progressBarCD.ToolTip")); this.progressBarCD.Value = 10; // // plainProgressPainter2 @@ -629,11 +521,7 @@ namespace CUERipper // // txtOutputPath // - this.txtOutputPath.AccessibleDescription = null; - this.txtOutputPath.AccessibleName = null; resources.ApplyResources(this.txtOutputPath, "txtOutputPath"); - this.txtOutputPath.BackgroundImage = null; - this.txtOutputPath.Font = null; this.txtOutputPath.Name = "txtOutputPath"; this.txtOutputPath.ReadOnly = true; this.toolTip1.SetToolTip(this.txtOutputPath, resources.GetString("txtOutputPath.ToolTip")); @@ -641,21 +529,17 @@ namespace CUERipper // // bnComboBoxRelease // - this.bnComboBoxRelease.AccessibleDescription = null; - this.bnComboBoxRelease.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxRelease, "bnComboBoxRelease"); this.bnComboBoxRelease.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.bnComboBoxRelease.BackgroundImage = null; this.bnComboBoxRelease.ContextMenuStrip = this.contextMenuStripRelease; this.bnComboBoxRelease.DataSource = this.releasesBindingSource; this.bnComboBoxRelease.DropDownHeight = 200; this.bnComboBoxRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bnComboBoxRelease.DropDownWidth = 552; - this.bnComboBoxRelease.Font = null; this.bnComboBoxRelease.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxRelease.ImageKeyMember = "ImageKey"; this.bnComboBoxRelease.ImageList = this.imageListMetadataSource; this.bnComboBoxRelease.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxRelease, "bnComboBoxRelease"); this.bnComboBoxRelease.MaxDropDownItems = 8; this.bnComboBoxRelease.MinimumSize = new System.Drawing.Size(61, 21); this.bnComboBoxRelease.Name = "bnComboBoxRelease"; @@ -680,20 +564,16 @@ namespace CUERipper // // bnComboBoxDrives // - this.bnComboBoxDrives.AccessibleDescription = null; - this.bnComboBoxDrives.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxDrives, "bnComboBoxDrives"); this.bnComboBoxDrives.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.bnComboBoxDrives.BackgroundImage = null; this.bnComboBoxDrives.DataSource = this.drivesBindingSource; this.bnComboBoxDrives.DropDownHeight = 200; this.bnComboBoxDrives.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.bnComboBoxDrives.DropDownWidth = 552; - this.bnComboBoxDrives.Font = null; this.bnComboBoxDrives.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxDrives.ImageKeyMember = "ImageKey"; this.bnComboBoxDrives.ImageList = this.imageListMetadataSource; this.bnComboBoxDrives.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxDrives, "bnComboBoxDrives"); this.bnComboBoxDrives.MaxDropDownItems = 8; this.bnComboBoxDrives.MinimumSize = new System.Drawing.Size(61, 21); this.bnComboBoxDrives.Name = "bnComboBoxDrives"; @@ -701,7 +581,6 @@ namespace CUERipper this.bnComboBoxDrives.SelectedIndex = -1; this.bnComboBoxDrives.SelectedItem = null; this.bnComboBoxDrives.Sorted = false; - this.toolTip1.SetToolTip(this.bnComboBoxDrives, resources.GetString("bnComboBoxDrives.ToolTip")); this.bnComboBoxDrives.SelectedIndexChanged += new System.EventHandler(this.bnComboBoxDrives_SelectedIndexChanged); // // drivesBindingSource @@ -711,18 +590,14 @@ namespace CUERipper // // bnComboBoxOutputFormat // - this.bnComboBoxOutputFormat.AccessibleDescription = null; - this.bnComboBoxOutputFormat.AccessibleName = null; - resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat"); this.bnComboBoxOutputFormat.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.bnComboBoxOutputFormat.BackgroundImage = null; this.bnComboBoxOutputFormat.DropDownHeight = 200; this.bnComboBoxOutputFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown; this.bnComboBoxOutputFormat.DropDownWidth = 552; - this.bnComboBoxOutputFormat.Font = null; this.bnComboBoxOutputFormat.ForeColor = System.Drawing.SystemColors.ControlText; this.bnComboBoxOutputFormat.ImageList = null; this.bnComboBoxOutputFormat.IsDroppedDown = false; + resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat"); this.bnComboBoxOutputFormat.MaxDropDownItems = 8; this.bnComboBoxOutputFormat.MinimumSize = new System.Drawing.Size(40, 21); this.bnComboBoxOutputFormat.Name = "bnComboBoxOutputFormat"; @@ -730,7 +605,6 @@ namespace CUERipper this.bnComboBoxOutputFormat.SelectedIndex = -1; this.bnComboBoxOutputFormat.SelectedItem = null; this.bnComboBoxOutputFormat.Sorted = false; - this.toolTip1.SetToolTip(this.bnComboBoxOutputFormat, resources.GetString("bnComboBoxOutputFormat.ToolTip")); this.bnComboBoxOutputFormat.DroppedDown += new System.EventHandler(this.bnComboBoxOutputFormat_DroppedDown); this.bnComboBoxOutputFormat.Leave += new System.EventHandler(this.bnComboBoxOutputFormat_Leave); this.bnComboBoxOutputFormat.MouseLeave += new System.EventHandler(this.bnComboBoxOutputFormat_MouseLeave); @@ -738,11 +612,8 @@ namespace CUERipper // // frmCUERipper // - this.AccessibleDescription = null; - this.AccessibleName = null; resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackgroundImage = null; this.Controls.Add(this.txtOutputPath); this.Controls.Add(this.bnComboBoxRelease); this.Controls.Add(this.bnComboBoxDrives); @@ -755,13 +626,11 @@ namespace CUERipper this.Controls.Add(this.statusStrip1); this.Controls.Add(this.buttonAbort); this.Controls.Add(this.buttonPause); - this.Font = null; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.KeyPreview = true; this.MaximizeBox = false; this.Name = "frmCUERipper"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.toolTip1.SetToolTip(this, resources.GetString("$this.ToolTip")); this.Load += new System.EventHandler(this.frmCUERipper_Load); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmCUERipper_FormClosed); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmCUERipper_KeyDown); @@ -840,6 +709,8 @@ namespace CUERipper private System.Windows.Forms.BindingSource losslessOrNotBindingSource; private CUEControls.BNComboBox bnComboBoxOutputFormat; private System.Windows.Forms.ImageList imageListChecked; + private System.Windows.Forms.ToolStripMenuItem variousToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fixEncodingToolStripMenuItem; } } diff --git a/CUERipper/frmCUERipper.cs b/CUERipper/frmCUERipper.cs index ab349ba..085af54 100644 --- a/CUERipper/frmCUERipper.cs +++ b/CUERipper/frmCUERipper.cs @@ -485,25 +485,6 @@ namespace CUERipper }); } - private ReleaseInfo ConvertEncoding(ICDRipper audioSource, CDEntry cdEntryOrig) - { - Encoding iso = Encoding.GetEncoding("iso-8859-1"); - CDEntry cdEntry = cdEntryOrig.Clone() as CDEntry; - bool different = false; - cdEntry.Artist = Encoding.Default.GetString(iso.GetBytes(cdEntryOrig.Artist)); - different |= cdEntry.Artist != cdEntryOrig.Artist; - cdEntry.Title = Encoding.Default.GetString(iso.GetBytes(cdEntryOrig.Title)); - different |= cdEntry.Title != cdEntryOrig.Title; - for (int i = 0; i < cdEntry.Tracks.Count; i++) - { - cdEntry.Tracks[i].Title = Encoding.Default.GetString(iso.GetBytes(cdEntryOrig.Tracks[i].Title)); - different |= cdEntry.Tracks[i].Title != cdEntryOrig.Tracks[i].Title; - } - if (!different) - return null; - return CreateCUESheet(audioSource, null, cdEntry); - } - private ReleaseInfo CreateCUESheet(ICDRipper audioSource, Release release, CDEntry cdEntry) { ReleaseInfo r = new ReleaseInfo(_config, audioSource.TOC); @@ -524,7 +505,10 @@ namespace CUERipper r.metadata.Artist = "Unknown Artist"; r.metadata.Title = "Unknown Title"; for (int i = 0; i < audioSource.TOC.AudioTracks; i++) + { r.metadata.Tracks[i].Title = string.Format("Track {0:00}", i + 1); + r.metadata.Tracks[i].Artist = r.metadata.Artist; + } } if (r.metadata.Genre == "") r.metadata.Genre = ""; if (r.metadata.Year == "") r.metadata.Year = ""; @@ -534,6 +518,8 @@ namespace CUERipper private void Lookup(object o) { ICDRipper audioSource = o as ICDRipper; + int mbresults_count = 0; // have to cache results.Count, because it sometimes hangs in it, and we don't want UI thread to hang. + string musicbrainzError = ""; releases.RaiseListChangedEvents = false; @@ -555,6 +541,7 @@ namespace CUERipper p.DiscId = audioSource.TOC.MusicBrainzId; Query results = Release.Query(p); MusicBrainzService.XmlRequest += new EventHandler(MusicBrainz_LookupProgress); + try { foreach (Release release in results) @@ -563,9 +550,13 @@ namespace CUERipper release.GetTracks(); releases.Add(CreateCUESheet(audioSource, release, null)); } + mbresults_count = results.Count; } - catch (Exception) + catch (Exception ex) { + System.Diagnostics.Trace.WriteLine(ex.Message); + if (!(ex is MusicBrainzNotFoundException)) + musicbrainzError = ex.Message; } MusicBrainzService.XmlRequest -= new EventHandler(MusicBrainz_LookupProgress); @@ -593,9 +584,7 @@ namespace CUERipper if (code == FreedbHelper.ResponseCodes.CODE_210) { ReleaseInfo r = CreateCUESheet(audioSource, null, cdEntry); - ReleaseInfo r2 = ConvertEncoding(audioSource, cdEntry); releases.Add(r); - if (r2 != null) releases.Add(r2); } } else @@ -610,15 +599,14 @@ namespace CUERipper if (code == FreedbHelper.ResponseCodes.CODE_210) { ReleaseInfo r = CreateCUESheet(audioSource, null, cdEntry); - ReleaseInfo r2 = ConvertEncoding(audioSource, cdEntry); releases.Add(r); - if (r2 != null) releases.Add(r2); } } } } - catch (Exception) + catch (Exception ex) { + System.Diagnostics.Trace.WriteLine(ex.Message); } if (releases.Count == 0) @@ -626,9 +614,8 @@ namespace CUERipper releases.Add(CreateCUESheet(audioSource, null, null)); } _workThread = null; - // have to cache results.Count, because it sometimes hangs in it, - // and we don't want UI thread to hang. - int mbresults_count = results.Count; + if (musicbrainzError != "") + musicbrainzError = musicbrainzError + ": "; this.BeginInvoke((MethodInvoker)delegate() { SetupControls(); @@ -644,7 +631,7 @@ namespace CUERipper toolStripStatusLabelMusicBrainz.Enabled = true; toolStripStatusLabelMusicBrainz.BorderStyle = mbresults_count > 0 ? Border3DStyle.SunkenInner : Border3DStyle.RaisedInner; toolStripStatusLabelMusicBrainz.Text = mbresults_count > 0 ? mbresults_count.ToString() : ""; - toolStripStatusLabelMusicBrainz.ToolTipText = "Musicbrainz: " + (mbresults_count > 0 ? mbresults_count.ToString() + " entries found." : "click to submit."); + toolStripStatusLabelMusicBrainz.ToolTipText = "Musicbrainz: " + (mbresults_count > 0 ? mbresults_count.ToString() + " entries found." : (musicbrainzError + "click to submit.")); }); } @@ -741,6 +728,19 @@ namespace CUERipper e.CancelEdit = true; } + private void contextMenuStripRelease_Opening(object sender, CancelEventArgs e) + { + if (selectedRelease == null) return; + bool isVarious = false; + for (int i = 0; i < selectedRelease.metadata.TOC.AudioTracks; i++) + if (selectedRelease.metadata.Tracks[i].Artist != selectedRelease.metadata.Artist) + isVarious = true; + variousToolStripMenuItem.Enabled = selectedRelease.ImageKey == "freedb" && !isVarious; + ReleaseInfo r = new ReleaseInfo(_config, selectedRelease.metadata.TOC); + r.metadata.CopyMetadata(selectedRelease.metadata); + fixEncodingToolStripMenuItem.Enabled = selectedRelease.ImageKey == "freedb" && r.metadata.FreedbToEncoding(); + } + private void editToolStripMenuItem_Click(object sender, EventArgs e) { if (selectedRelease == null) return; @@ -751,6 +751,23 @@ namespace CUERipper comboBoxOutputFormat_TextUpdate(sender, e); } + private void variousToolStripMenuItem_Click(object sender, EventArgs e) + { + if (selectedRelease == null) return; + selectedRelease.metadata.FreedbToVarious(); + UpdateRelease(); + releases.ResetItem(bnComboBoxRelease.SelectedIndex); + } + + private void fixEncodingToolStripMenuItem_Click(object sender, EventArgs e) + { + if (selectedRelease == null) return; + selectedRelease.metadata.FreedbToEncoding(); + UpdateRelease(); + releases.ResetItem(bnComboBoxRelease.SelectedIndex); + comboBoxOutputFormat_TextUpdate(sender, e); + } + private void frmCUERipper_FormClosed(object sender, FormClosedEventArgs e) { SettingsWriter sw = new SettingsWriter("CUERipper", "settings.txt", Application.ExecutablePath); diff --git a/CUERipper/frmCUERipper.resx b/CUERipper/frmCUERipper.resx index f02adbc..1d578e6 100644 --- a/CUERipper/frmCUERipper.resx +++ b/CUERipper/frmCUERipper.resx @@ -117,60 +117,712 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 0, 456 + - - 237, 71 + + 394, 20 - - TopRight + + MiddleLeft - - - 7 + + 20, 20 - - imageListMetadataSource + + 20, 20 - - - NoControl + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyNJREFUOE9tkm1P + mmcYhh+zbsm+Ntlf2Jd92n/Yx21p1nTZlplZ0mJD2+mYG119AakITi2tmoK0a33p1BL7MtcpXRCrKNbK + EEOd1qLYCigSERB5e4BjxGVZSLyTM3dyJcdx3cl9lglHHKcTHO43wk76XSH/Tl44/t4x4cP3jwsfffBW + mUiOt8uOlR3FCaN9KWplSaq+F5FehnItVN4ooOgroLpfoHM0i9WVoATOkz0cPP8DVBUxaiRFqAq+VqSR + NoPcAOqBAi0PChif5Lg3LeLeyJRKujQrKC9uFeEEZ8rTVFQWOCsv8OMVaOwW6TCDaQyGpvJYnDEW18J4 + Vjf+lyh++JsL8g0qZLuclojITmdRSEGnBP3tPHeKr7tvh8kXB2zuwU40SjwRIp2KI1y7NcUFtQtJ4yLl + dUFkNVHqzqeplwRwTsKzheLWmQzLfgjs5wgn4wR3XrIbWSAVW0D4rvURZ7SzSLQuzuq8KDTb6BpizD/N + 4VsPsvxqle2oSHBfJJTe5/XeCpGEm+TBHLmkFUF6/S6SjlFknRMoutzo9D6M19cJBGL8aRs/vCOJOP5M + Ar+4TlR0I+bsFMTHxZgRKnXdVGsHUGofoGmyYaybpafGw4zZR+YgSTy6j3fJy5u1ZWKBv8juPoHoCLno + EOz1Igyaf6OpsQtDm5mJu4sMVlmY7VwibAsRdAcITqwSsT4jNW0ns/wYvEMUXv8CwQ5S4YcIfr+f2+0G + luweVu2+oqCHTdsa4flNkk4/3t4xEiOjYC3C8wPklwzkvXrwtUHK8+9XGi/V011ZzYbVwda4h9BTF5HZ + l2z3PiRuNJIe7EIc0ZO36SjMFtvl+Yn4ytXSMjlu9WD56hzZkXESjjkyUzOE1LWk26pJ3ZRz8Gsxjy6S + GJcQc5tK4f+6/fxeH2MVnzMnPcmr8yfZrvmErYZPCbR+zGbHCXx3vsAx3HI0PDw8jMlkor9Zze9VUqbP + fckL+Slc9Z/hVJ9iUvsNN9Xf8vPVdgyG7lKJxWKhv78fvV5Pi6YZtVqFUnUZTcMltLW1qBqU1Deqi2lC + c6WZ9vZWbhgNh5J/AJcIo/TEh255AAAAAElFTkSuQmCC + - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + White - - False + + 20, 20 - - 1 + + Album found in AccurateRip database. - - 8 + + 100, 19 - - 0 - - - labelSecureMode - - - - - - 6, 13 - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Read progress 0, 20 + + toolStripStatusAr + + + 0, 456 + + + 571, 25 + + + + 12 + + + statusStrip1 + + + statusStrip1 + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + + Top, Left, Right + + + 1 + + + Title + + + 355 + + + 0 + + + # + + + 30 + + + Start + + + 70 + + + Length + + + 70 + + + 6, 87 + + + 553, 245 + + + 2 + + + 357, 17 + + + Double-click to edit track names + + + listTracks + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + Top, Left, Right + + + NoControl + + + 382, 343 + + + 177, 33 + + + 13 + + + Go + + + buttonGo + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + Top, Left, Right + + + NoControl + + + 474, 343 + + + 85, 33 + + + 19 + + + Abort + + + False + + + buttonAbort + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + Top, Left, Right + + + NoControl + + + 383, 343 + + + 85, 33 + + + 20 + + + Pause + + + False + + + buttonPause + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 12 + + + 17, 17 + + + 152, 22 + + + Edit + + + 152, 22 + + + Various Artists + + + 152, 22 + + + Fix Encoding + + + 153, 92 + + + contextMenuStripRelease + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 310, 15 + + + 54, 20 + + + 7 + + + Right + + + numericWriteOffset + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 12 + + + True + + + NoControl + + + 242, 19 + + + 62, 13 + + + 23 + + + Read offset + + + lblWriteOffset + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 10 + + + True + + + NoControl + + + 245, 44 + + + 64, 17 + + + 3 + + + EAC log + + + checkBoxEACMode + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 11 + + + 369, 95 + + + 210, 56 + + + 6, 19 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl + PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI + X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG + AAAAAgAAAAIAAAAL + + + + 80, 21 + + + 39 + + + bnComboBoxLosslessOrNot + + + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 0 + + + 189, 95 + + + 92, 46 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl + PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI + X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG + AAAAAgAAAAIAAAAL + + + + 80, 21 + + + 38 + + + bnComboBoxEncoder + + + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 1 + + + NoControl + + + 248, 98 + + + 109, 18 + + + 33 + + + TopCenter + + + labelSecureMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 2 + + + 17, 95 + + + 92, 19 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl + PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI + X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG + AAAAAgAAAAIAAAAL + + + + 80, 21 + + + 37 + + + bnComboBoxFormat + + + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 3 + + + True + + + False + + + Tahoma, 8.25pt + + + NoControl + + + 12, 106 + + + 0, 0, 0, 0 + + + 25, 13 + + + 30 + + + 128 + + + labelEncoderMinMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 4 + + + 526, 56 + + + 6, 46 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl + PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI + X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG + AAAAAgAAAAIAAAAL + + + + 80, 21 + + + 34 + + + bnComboBoxImage + + + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + + groupBoxSettings + + + 5 + + + False + + + Tahoma, 8.25pt + + + NoControl + + + 143, 106 + + + 0, 0, 0, 0 + + + 29, 13 + + + 32 + + + 320 + + + TopRight + + + labelEncoderMaxMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 6 + + + Tahoma, 8.25pt + + + NoControl + + + 12, 106 + + + 0, 0, 0, 0 + + + 167, 15 + + + 31 + + + 256 + + + TopCenter + + + labelEncoderMode + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 7 + + + NoControl + + + 6, 76 + + + 0, 0, 0, 0 + + + 166, 45 + + + 8 + + + trackBarEncoderMode + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 8 + + + NoControl + + + 237, 71 + + + 127, 45 + + + 30 + + + trackBarSecureMode + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxSettings + + + 9 + + + 6, 332 + + + 370, 121 + + + 29 + + + groupBoxSettings + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + 207, 17 + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACM - CQAAAk1TRnQBSQFMAgEBBAEAAQwBAAEEAQABEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACK + CQAAAk1TRnQBSQFMAgEBBAEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -210,83 +862,111 @@ AfMG8gHzAf8GAAH/AfMG8gHzAf/DAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/ gQAY/wHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEH AeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEH - AeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcY/xYACw== + AeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcB4AEHAeABBwHgAQcY/ws= - - CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + 181, 22 - - NoControl + + toolStripMenuItem1 - + + 960, 17 + + + 624, 17 + + + 382, 421 + + + 454, 17 + + + 789, 17 + + + 177, 23 + + + 30 + + + progressBarErrors + + + ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + + $this - - 80, 21 + + 5 - - 0, 0, 0, 0 + + 382, 392 - - 62, 13 + + 356, 56 + + + 176, 23 - - NoControl + + 31 - - False + + 10% - - Right + + progressBarCD - - Double-click to edit track names + + ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null - - 20 - - - 94, 22 - - - 571, 25 - - + $this - - 0, 0, 0, 0 + + 6 - - 3 + + 7, 61 - - Top, Left, Right + + 552, 20 - + + 33 + + + Click to edit output path template + + + txtOutputPath + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + $this - - MiddleLeft - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl - PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI - X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG - AAAAAgAAAAIAAAAL - - - - 9 + + 1 + + 708, 56 + + + 17, 56 + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAa - CQAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo + CQAAAk1TRnQBSQFMAgEBAgEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -324,73 +1004,13 @@ AewgAASuAQABBwP/AbwB6gEAAf8BAAKuAf8BogL/AQQC/wQEAf8DBAEKIAAErgERARMBBwb/AQACrgH/ AaIBBAH/AQQC/wEEAv8BBAH/AQQB9AHzAQogAAWuAREBAAERAZIE/wEAAq4B/wGGAv8CBAL/AgQD/wIE AewgAAeuAREBAAEPAesBvAH/AQACrgH/AYYL/wH0AfMB7CEACa4BDwEAARMBEQGuAQAC/wG1C/8B9AEH - IAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAYABAXYAAYABARwACw== + IAABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEAAYABAXYAAYABAQYACw== - - 128 + + 6, 33 - - groupBoxSettings - - - - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0, 456 - - - 474, 343 - - - 166, 45 - - - cUEStylesBindingSource - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - 33 - - - 35 - - - 0, 0, 0, 0 - - - 4 - - - 6, 76 - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 7, 61 - - - CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null - - - bnComboBoxImage - - - 1 - - + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI @@ -398,205 +1018,100 @@ AAAAAgAAAAIAAAAL - - 109, 18 - - - 12, 106 - - - 177, 23 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl - PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI - X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG - AAAAAgAAAAIAAAAL - - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripStatusAr - - - groupBoxSettings - - - losslessOrNotBindingSource - - - bnComboBoxRelease - - - editToolStripMenuItem - - - Tahoma, 8.25pt - - - ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - labelEncoderMaxMode - - - toolStripStatusLabelMusicBrainz - - - 2 - - - 95, 26 - - - - - - 3 - - - 20, 20 - - - System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 0 - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 37 - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 176, 23 - - - CUERipper 2.0.8 - - - 38 - - - 85, 33 - - - - - - labelEncoderMinMode - - - 2 - - - 355 - - - 6, 87 - - - - - - TrackNo - - - 382, 392 - - - 85, 33 - - - NoControl - - - toolStripStatusLabel1 - - - System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 552, 21 - - System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 35 - - + + Right-lick to edit release info - - 30 + + bnComboBoxRelease - - Read offset - - - TopCenter - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAyNJREFUOE9tkm1P - mmcYhh+zbsm+Ntlf2Jd92n/Yx21p1nTZlplZ0mJD2+mYG119AakITi2tmoK0a33p1BL7MtcpXRCrKNbK - EEOd1qLYCigSERB5e4BjxGVZSLyTM3dyJcdx3cl9lglHHKcTHO43wk76XSH/Tl44/t4x4cP3jwsfffBW - mUiOt8uOlR3FCaN9KWplSaq+F5FehnItVN4ooOgroLpfoHM0i9WVoATOkz0cPP8DVBUxaiRFqAq+VqSR - NoPcAOqBAi0PChif5Lg3LeLeyJRKujQrKC9uFeEEZ8rTVFQWOCsv8OMVaOwW6TCDaQyGpvJYnDEW18J4 - Vjf+lyh++JsL8g0qZLuclojITmdRSEGnBP3tPHeKr7tvh8kXB2zuwU40SjwRIp2KI1y7NcUFtQtJ4yLl - dUFkNVHqzqeplwRwTsKzheLWmQzLfgjs5wgn4wR3XrIbWSAVW0D4rvURZ7SzSLQuzuq8KDTb6BpizD/N - 4VsPsvxqle2oSHBfJJTe5/XeCpGEm+TBHLmkFUF6/S6SjlFknRMoutzo9D6M19cJBGL8aRs/vCOJOP5M - Ar+4TlR0I+bsFMTHxZgRKnXdVGsHUGofoGmyYaybpafGw4zZR+YgSTy6j3fJy5u1ZWKBv8juPoHoCLno - EOz1Igyaf6OpsQtDm5mJu4sMVlmY7VwibAsRdAcITqwSsT4jNW0ns/wYvEMUXv8CwQ5S4YcIfr+f2+0G - luweVu2+oqCHTdsa4flNkk4/3t4xEiOjYC3C8wPklwzkvXrwtUHK8+9XGi/V011ZzYbVwda4h9BTF5HZ - l2z3PiRuNJIe7EIc0ZO36SjMFtvl+Yn4ytXSMjlu9WD56hzZkXESjjkyUzOE1LWk26pJ3ZRz8Gsxjy6S - GJcQc5tK4f+6/fxeH2MVnzMnPcmr8yfZrvmErYZPCbR+zGbHCXx3vsAx3HI0PDw8jMlkor9Zze9VUqbP - fckL+Slc9Z/hVJ9iUvsNN9Xf8vPVdgyG7lKJxWKhv78fvV5Pi6YZtVqFUnUZTcMltLW1qBqU1Deqi2lC - c6WZ9vZWbhgNh5J/AJcIo/TEh255AAAAAElFTkSuQmCC - - - - 29 - - - NoControl - - - $this - - - toolStripStatusAr - - - - - - - - - 70 - - + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 181, 22 - - - - - + $this + + 2 + + + 998, 56 + + + 6, 6 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl + PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI + X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG + AAAAAgAAAAIAAAAL + + + + 552, 21 + + + 36 + + + bnComboBoxDrives + + + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 3 + + + 6, 60 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl + PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI + X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG + AAAAAgAAAAIAAAAL + + + + 552, 21 + + + 37 + + + bnComboBoxOutputFormat + + + CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null + + + $this + + + 4 + + + True + + + 50 + + + 6, 13 + + + 571, 481 + AAABAAgAICAQAAEABADoAgAAhgAAABAQEAABAAQAKAEAAG4DAAAwMAAAAQAIAKgOAACWBAAAICAAAAEA @@ -994,753 +1509,190 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAQAAwAMAAPAPAAA= - - 100, 19 - - - buttonPause - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 25, 13 - - - NoControl - - - toolStripProgressBar1 - - - System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 29, 13 - - - bnComboBoxOutputFormat - CenterScreen - - 382, 421 + + CUERipper 2.0.8 - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - progressBarCD - - - 6, 46 - - - Click to edit output path template - - - groupBoxSettings - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl - PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI - X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG - AAAAAgAAAAIAAAAL - - - - 13 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - listTracks - - - 6, 19 - - - lblWriteOffset - - - 6 - - - 248, 98 - - - NoControl - - - - - - 23 - - - formatsBindingSource - - - 80, 21 - - - Top, Left, Right - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl - PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI - X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG - AAAAAgAAAAIAAAAL - - - - Tahoma, 8.25pt - - - groupBoxSettings - - - groupBoxSettings - - - 11 - - - drivesBindingSource - - - toolStripStatusCTDB - - - groupBoxSettings - - - NoControl - - - True - - - 12 - - - Edit - - - - - - 552, 21 - - - $this - - - groupBoxSettings - - - 320 - - - 34 - - - Title - - - ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - 256 - - - bindingSourceCR - - - 382, 343 - - - NoControl - - - 80, 21 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - labelEncoderMode - - - 10 - - - $this - - - Length - - - System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - bnComboBoxDrives - - - Title - - - Album found in AccurateRip database. - - - 2 - - - CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null - - - 310, 15 - - - Top, Left, Right - - - 92, 19 - - - 245, 44 - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - contextMenuStripRelease - - - 54, 20 - - - groupBoxSettings - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - NoControl - - - plainProgressPainter1 - - - 4 - - - frmCUERipper - - - buttonGo - - - 64, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl - PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI - X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG - AAAAAgAAAAIAAAAL - - - - trackBarEncoderMode - - - 553, 245 - - - 70 - - - ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - 30 - - - Top, Left, Right - - - styledBorderPainter1 - - - Pause - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - toolStripStatusLabel2 - - - bnComboBoxFormat - - - 39 - - - - - - groupBoxSettings - - - groupBoxSettings - - - System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 30 - - - 6, 332 - - - groupBoxSettings - - - $this - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 33 - - - 19 - - - groupBoxSettings - - - EAC log - - - groupBoxSettings - - - txtOutputPath - - - 12 - - - 5 - - - 5 - - - - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 32 - - - # - - - encodersBindingSource - - - toolStripMenuItem1 - - - 20, 20 - - - Read progress - - - bnComboBoxLosslessOrNot - - - 167, 15 - - - NoControl - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 8 - - - 37 - - - 31 - - - System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 10 - - - Right-lick to edit release info - - - 9 - - - plainProgressPainter2 - - - - - - toolStripMenuItem1 - - - imageListChecked - - - White - - - - - - - - - 3 - - - False - - - 31 - - - 10% - - - statusStrip1 - - - ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - numericWriteOffset - - - CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null - - - Abort - - - $this - - - 6, 60 - - - CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null - - - 12 - - - Start - - - - - - $this - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 6 - - - 8 - - - 127, 45 - - - plainBackgroundPainter1 - - - progressBarErrors - - - 7 - - - - - - Go - - - 242, 19 - - - System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Length - - - CUEControls.BNComboBox, CUEControls, Version=2.0.8.0, Culture=neutral, PublicKeyToken=null - - - ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - - - - 552, 20 - - - 0, 0, 0, 0 - - - TopCenter - - - checkBoxEACMode - - - True - - - buttonAbort - - - $this - - - System.Windows.Forms.TrackBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 92, 46 - - - releasesBindingSource - - - False - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - trackBarSecureMode - - - - - - System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 571, 481 - - - - - - statusStrip1 - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAEJDVUVDb250cm9scywgVmVyc2lvbj0yLjAuOC4wLCBDdWx0dXJl - PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRDVUVDb250cm9scy5CTlJhZGl1cwQAAAAI - X3RvcExlZnQJX3RvcFJpZ2h0C19ib3R0b21MZWZ0DF9ib3R0b21SaWdodAAAAAAICAgIAgAAAAIAAAAG - AAAAAgAAAAIAAAAL - - - - Start - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 143, 106 - - - toolTip1 - - - 370, 121 - - - groupBoxSettings - - - 12, 106 - - - 1 - - - 11 - - - 20, 20 - - - $this - - - - - - 552, 21 - - - 6, 6 - - - ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36510, Culture=neutral, PublicKeyToken=null - - - gradientGlossPainter1 - - - 383, 343 - - - bnComboBoxEncoder - - - 36 - - - 30 + + toolStripStatusLabel1 System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 394, 20 + + toolStripStatusLabelMusicBrainz - - Tahoma, 8.25pt + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 177, 33 + + toolStripStatusCTDB - - 6, 33 + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 80, 21 + + toolStripStatusAr - - 7 + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + toolStripProgressBar1 + + + System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripStatusLabel2 + + + System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Title + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TrackNo + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Start + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Length + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + editToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + variousToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fixEncodingToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + losslessOrNotBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + bindingSourceCR + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + encodersBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + formatsBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + cUEStylesBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + imageListChecked + + + System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolStripMenuItem1 + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + plainBackgroundPainter1 + + + ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + + + styledBorderPainter1 + + + ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + + + plainProgressPainter1 + + + ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + + + gradientGlossPainter1 + + + ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + + + plainProgressPainter2 + + + ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + + + toolTip1 + + + System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + releasesBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + imageListMetadataSource + + + System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + drivesBindingSource + + + System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + frmCUERipper + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 526, 56 - - - True - - - 708, 56 - - - 17, 17 - - - 356, 56 - - - 210, 56 - - - 960, 17 - - - 369, 95 - - - 17, 56 - - - 189, 95 - - - 789, 17 - - - 17, 95 - - - 0, 456 - - - 624, 17 - - - 998, 56 - - - 50 - - - 357, 17 - - - 454, 17 - - - 207, 17 - \ No newline at end of file diff --git a/CUETools.Codecs.ALAC/ALACDotNet.cs b/CUETools.Codecs.ALAC/ALACDotNet.cs index 5a26569..49caefc 100644 --- a/CUETools.Codecs.ALAC/ALACDotNet.cs +++ b/CUETools.Codecs.ALAC/ALACDotNet.cs @@ -955,10 +955,13 @@ namespace CUETools.Codecs.ALAC size_remaining -= 8; /* name */ - UInt32 strlen = stream_read_uint8(); - byte[] str = new byte[strlen]; - _IO.Read(str, 0, (int)strlen); - size_remaining -= 1 + strlen; + + // Had do disable: some files have 'SoundHandler' here without preceding length; + + //UInt32 strlen = stream_read_uint8(); + //byte[] str = new byte[strlen]; + //_IO.Read(str, 0, (int)strlen); + //size_remaining -= 1 + strlen; if (size_remaining > 0) stream_skip(size_remaining); diff --git a/CUETools.Processor/Processor.cs b/CUETools.Processor/Processor.cs index b133ad4..2260fd2 100644 --- a/CUETools.Processor/Processor.cs +++ b/CUETools.Processor/Processor.cs @@ -1635,7 +1635,7 @@ string status = processor.Go(); private CUEToolsDB _CUEToolsDB; private CDImageLayout _toc; private string _arLogFileName, _alArtFileName; - private TagLib.IPicture[] _albumArt; + private List _albumArt = new List(); private int _padding = 8192; private IWebProxy proxy; @@ -1666,7 +1666,6 @@ string status = processor.Go(); _hasEmbeddedCUESheet = false; _isArchive = false; _isCD = false; - _albumArt = null; proxy = _config.useSystemProxySettings ? WebRequest.GetSystemWebProxy() : null; } @@ -1772,6 +1771,40 @@ string status = processor.Go(); } } + public bool FreedbToEncoding() + { + Encoding iso = Encoding.GetEncoding("iso-8859-1"); + bool different = false; + string tmp; + tmp = Encoding.Default.GetString(iso.GetBytes(Artist)); different |= Artist != tmp; Artist = tmp; + tmp = Encoding.Default.GetString(iso.GetBytes(Title)); different |= Title != tmp; Title = tmp; + for (int i = 0; i < _toc.AudioTracks; i++) + { + tmp = Encoding.Default.GetString(iso.GetBytes(Tracks[i].Artist)); different |= Tracks[i].Artist != tmp; Tracks[i].Artist = tmp; + tmp = Encoding.Default.GetString(iso.GetBytes(Tracks[i].Title)); different |= Tracks[i].Title != tmp; Tracks[i].Title = tmp; + } + return different; + } + + public void FreedbToVarious() + { + for (int i = 0; i < _toc.AudioTracks; i++) + { + string title = Tracks[i].Title; + int idx = title.IndexOf(" / "); + if (idx < 0) idx = title.IndexOf(" - "); + if (idx >= 0) + { + Tracks[i].Title = title.Substring(idx + 3); + Tracks[i].Artist = title.Substring(0, idx); + } + else + { + Tracks[i].Artist = title; + } + } + } + public void FillFromFreedb(Freedb.CDEntry cdEntry) { Year = cdEntry.Year; @@ -1879,7 +1912,10 @@ string status = processor.Go(); Releases.Add(release); } } - catch { } + catch (Exception ex) + { + System.Diagnostics.Trace.WriteLine(ex.Message); + } } MusicBrainzService.XmlRequest -= new EventHandler(MusicBrainz_LookupProgress); //if (release != null) @@ -2676,8 +2712,8 @@ string status = processor.Go(); LoadAlbumArt(_tracks[0]._fileInfo ?? _fileInfo); ResizeAlbumArt(); - if ((_config.embedAlbumArt || _config.copyAlbumArt) && _albumArt != null && _albumArt.Length > 0) - _padding += _albumArt[0].Data.Count; + if (_config.embedAlbumArt || _config.copyAlbumArt) + _albumArt.ForEach(t => _padding += _albumArt[0].Data.Count); if (_config.embedLog && _eacLog != null) _padding += _eacLog.Length; } @@ -3119,7 +3155,7 @@ string status = processor.Go(); outputExists |= File.Exists(Path.Combine(OutputDir, ArLogFileName)); if (outputAudio) { - if (_config.extractAlbumArt && AlbumArt != null && AlbumArt.Length != 0) + if (_config.extractAlbumArt && AlbumArt != null && AlbumArt.Count != 0) outputExists |= File.Exists(Path.Combine(OutputDir, AlArtFileName)); if (OutputStyle == CUEStyle.SingleFile || OutputStyle == CUEStyle.SingleFileWithCUE) outputExists |= File.Exists(Path.Combine(OutputDir, SingleFilename)); @@ -3827,6 +3863,11 @@ string status = processor.Go(); if (_audioEncoderType != AudioEncoderType.NoAudio && _config.extractAlbumArt) ExtractAlbumArt(); + bool fNeedAlbumArtist = false; + for (int iTrack = 1; iTrack < TrackCount; iTrack++) + if (_tracks[iTrack].Artist != _tracks[0].Artist) + fNeedAlbumArtist = true; + if (OutputStyle == CUEStyle.SingleFileWithCUE || OutputStyle == CUEStyle.SingleFile) { if (_audioEncoderType != AudioEncoderType.NoAudio) @@ -3844,10 +3885,10 @@ string status = processor.Go(); uint temp; if (fileInfo.Tag.Album == null && Title != "") fileInfo.Tag.Album = Title; - if (fileInfo.Tag.Performers.Length == 0 && Artist != "") + if (fNeedAlbumArtist && fileInfo.Tag.AlbumArtists.Length == 0 && Artist != "") + fileInfo.Tag.AlbumArtists = new string[] { Artist }; + if (!fNeedAlbumArtist && fileInfo.Tag.Performers.Length == 0 && Artist != "") fileInfo.Tag.Performers = new string[] { Artist }; - //if (fileInfo.Tag.AlbumArtists.Length == 0 && Artist != "") - // fileInfo.Tag.AlbumArtists = new string[] { Artist }; if (fileInfo.Tag.Genres.Length == 0 && Genre != "") fileInfo.Tag.Genres = new string[] { Genre }; if (fileInfo.Tag.DiscCount == 0 && TotalDiscs != "" && uint.TryParse(TotalDiscs, out temp)) @@ -3878,8 +3919,8 @@ string status = processor.Go(); fileInfo.Tag.Year = sourceFileInfo.Tag.Year; } - if ((_config.embedAlbumArt || _config.copyAlbumArt) && _albumArt != null && _albumArt.Length > 0) - fileInfo.Tag.Pictures = _albumArt; + if ((_config.embedAlbumArt || _config.copyAlbumArt) && _albumArt.Count > 0) + fileInfo.Tag.Pictures = _albumArt.ToArray(); fileInfo.Save(); } @@ -3889,10 +3930,6 @@ string status = processor.Go(); { if (_config.createM3U) WriteText(Path.ChangeExtension(_outputPath, ".m3u"), M3UContents(OutputStyle)); - bool fNeedAlbumArtist = false; - for (int iTrack = 1; iTrack < TrackCount; iTrack++) - if (_tracks[iTrack].Artist != _tracks[0].Artist) - fNeedAlbumArtist = true; if (_audioEncoderType != AudioEncoderType.NoAudio) for (int iTrack = 0; iTrack < TrackCount; iTrack++) { @@ -3949,8 +3986,8 @@ string status = processor.Go(); fileInfo.Tag.Genres = sourceFileInfo.Tag.Genres; } - if ((_config.embedAlbumArt || _config.copyAlbumArt) && _albumArt != null && _albumArt.Length > 0) - fileInfo.Tag.Pictures = _albumArt; + if ((_config.embedAlbumArt || _config.copyAlbumArt) && _albumArt.Count > 0) + fileInfo.Tag.Pictures = _albumArt.ToArray(); fileInfo.Save(); } @@ -3993,7 +4030,7 @@ string status = processor.Go(); public void ExtractAlbumArt() { - if (!_config.extractAlbumArt || _albumArt == null || _albumArt.Length == 0) + if (!_config.extractAlbumArt || _albumArt.Count == 0) return; string imgPath = Path.Combine(OutputDir, AlArtFileName); @@ -4015,18 +4052,46 @@ string status = processor.Go(); if (picture.Type == TagLib.PictureType.FrontCover) if (picture.MimeType == "image/jpeg") { - _albumArt = new TagLib.IPicture[] { picture }; + _albumArt.Add(picture); return; } if ((_config.extractAlbumArt || _config.embedAlbumArt) && _inputDir != null) { - string imgPath = Path.Combine(_inputDir, "folder.jpg"); - if (!File.Exists(imgPath)) - imgPath = Path.Combine(_inputDir, "cover.jpg"); - if (!File.Exists(imgPath)) - return; - _albumArt = new TagLib.IPicture[] { new TagLib.Picture(imgPath) }; - } + List names = new List(); + names.Add("folder.jpg"); + names.Add("cover.jpg"); + names.Add("albumart.jpg"); + names.Add("albumartlarge.jpg"); + foreach (string name in names) + { + string imgPath = Path.Combine(_inputDir, name); + if (File.Exists(imgPath)) + { + TagLib.Picture pic = new TagLib.Picture(imgPath); + pic.Description = name; + _albumArt.Add(pic); + return; + } + } + + foreach (string imgPath in Directory.GetFiles(_inputDir, "*.jpg")) + { + TagLib.Picture pic = new TagLib.Picture(imgPath); + pic.Description = Path.GetFileName(imgPath); + _albumArt.Add(pic); + if (Action != CUEAction.Encode) + return; + } + + if (_albumArt.Count != 0) + { + CUEToolsSelectionEventArgs e = new CUEToolsSelectionEventArgs(); + e.choices = _albumArt.ToArray(); + CUEToolsSelection(this, e); + TagLib.IPicture selected = e.selection == -1 ? null : _albumArt[e.selection]; + _albumArt.RemoveAll(t => t != selected); + } + } } public void ResizeAlbumArt() @@ -4050,7 +4115,7 @@ string status = processor.Go(); } } - public TagLib.IPicture[] AlbumArt + public List AlbumArt { get { @@ -4062,7 +4127,7 @@ string status = processor.Go(); { get { - if (AlbumArt == null || AlbumArt.Length == 0) + if (AlbumArt == null || AlbumArt.Count == 0) return null; TagLib.IPicture picture = AlbumArt[0]; using (MemoryStream imageStream = new MemoryStream(picture.Data.Data, 0, picture.Data.Count)) diff --git a/CUETools/CUETools.csproj b/CUETools/CUETools.csproj index c8e10fc..556ffee 100644 --- a/CUETools/CUETools.csproj +++ b/CUETools/CUETools.csproj @@ -62,6 +62,7 @@ 4 true AnyCPU + true diff --git a/CUETools/frmCUETools.cs b/CUETools/frmCUETools.cs index 5d622e0..79136ae 100644 --- a/CUETools/frmCUETools.cs +++ b/CUETools/frmCUETools.cs @@ -779,7 +779,7 @@ namespace JDP { } UpdateOutputPath(pathIn, cueSheet); pathOut = txtOutputPath.Text; - if (dlgRes != DialogResult.Cancel && cueSheet.AlbumArt != null && cueSheet.AlbumArt.Length != 0) + if (dlgRes != DialogResult.Cancel && cueSheet.AlbumArt.Count != 0) pictureBoxMotd.Image = cueSheet.Cover; else pictureBoxMotd.Image = motdImage; diff --git a/CUETools/frmChoice.Designer.cs b/CUETools/frmChoice.Designer.cs index 95b5ba0..b6fdcda 100644 --- a/CUETools/frmChoice.Designer.cs +++ b/CUETools/frmChoice.Designer.cs @@ -45,8 +45,10 @@ namespace JDP this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); // // buttonOk @@ -131,11 +133,12 @@ namespace JDP // tableLayoutPanel1 // resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1"); - this.tableLayoutPanel1.Controls.Add(this.listMetadata, 0, 2); - this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.listMetadata, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 5); this.tableLayoutPanel1.Controls.Add(this.textBox1, 0, 1); - this.tableLayoutPanel1.Controls.Add(this.listTracks, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.listTracks, 0, 4); this.tableLayoutPanel1.Controls.Add(this.listChoices, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 0, 2); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; // // listMetadata @@ -169,6 +172,13 @@ namespace JDP this.tableLayoutPanel2.Controls.Add(this.buttonOk, 3, 0); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; // + // pictureBox1 + // + resources.ApplyResources(this.pictureBox1, "pictureBox1"); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.TabStop = false; + this.pictureBox1.DoubleClick += new System.EventHandler(this.pictureBox1_DoubleClick); + // // frmChoice // this.AcceptButton = this.buttonOk; @@ -184,6 +194,7 @@ namespace JDP this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); this.tableLayoutPanel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); } @@ -205,5 +216,6 @@ namespace JDP private System.Windows.Forms.ListView listMetadata; private System.Windows.Forms.ColumnHeader columnHeader2; private System.Windows.Forms.ColumnHeader columnHeader3; + private System.Windows.Forms.PictureBox pictureBox1; } } \ No newline at end of file diff --git a/CUETools/frmChoice.cs b/CUETools/frmChoice.cs index 726cad7..9e2c83f 100644 --- a/CUETools/frmChoice.cs +++ b/CUETools/frmChoice.cs @@ -4,6 +4,7 @@ using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; +using System.IO; using System.Windows.Forms; using CUETools.CDImage; using CUETools.Processor; @@ -35,6 +36,13 @@ namespace JDP item.Tag = sf; listChoices.Items.Add(item); } + else if (i is TagLib.IPicture) + { + TagLib.IPicture pic = i as TagLib.IPicture; + ListViewItem item = new ListViewItem(pic.Description, -1); + item.Tag = pic; + listChoices.Items.Add(item); + } else if (i is MusicBrainz.Release) { ReleaseInfo r = new ReleaseInfo(CUE, i as MusicBrainz.Release); @@ -87,15 +95,19 @@ namespace JDP if (CUE != null) { textBox1.Hide(); + pictureBox1.Hide(); listTracks.Show(); listMetadata.Show(); - tableLayoutPanel1.SetRowSpan(listChoices, 2); + tableLayoutPanel1.SetRowSpan(listChoices, 3); tableLayoutPanel1.PerformLayout(); } else { + textBox1.Show(); + pictureBox1.Hide(); listTracks.Hide(); - tableLayoutPanel1.SetRowSpan(textBox1, 3); + listMetadata.Hide(); + tableLayoutPanel1.SetRowSpan(textBox1, 4); //tableLayoutPanel1.RowStyles[2].Height = 0; //tableLayoutPanel1.RowStyles[3].Height = 0; tableLayoutPanel1.PerformLayout(); @@ -159,7 +171,17 @@ namespace JDP private void listChoices_SelectedIndexChanged(object sender, EventArgs e) { object item = ChosenObject; - if (item != null && item is CUEToolsSourceFile) + if (item != null && item is TagLib.IPicture) + { + TagLib.IPicture picture = item as TagLib.IPicture; + using (MemoryStream imageStream = new MemoryStream(picture.Data.Data, 0, picture.Data.Count)) + try { pictureBox1.Image = Image.FromStream(imageStream); } + catch { } + textBox1.Hide(); + pictureBox1.Show(); + tableLayoutPanel1.SetRowSpan(pictureBox1, 4); + } + else if (item != null && item is CUEToolsSourceFile) { textBox1.Text = (item as CUEToolsSourceFile).contents.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n"); } @@ -268,6 +290,12 @@ namespace JDP item.Text = r.Text; } } + + private void pictureBox1_DoubleClick(object sender, EventArgs e) + { + pictureBox1.SizeMode = pictureBox1.SizeMode == PictureBoxSizeMode.Zoom ? + PictureBoxSizeMode.CenterImage : PictureBoxSizeMode.Zoom; + } } sealed class ReleaseInfo diff --git a/CUETools/frmChoice.resx b/CUETools/frmChoice.resx index 67b05c3..be18e9f 100644 --- a/CUETools/frmChoice.resx +++ b/CUETools/frmChoice.resx @@ -123,10 +123,10 @@ - 437, 3 + 456, 3 - 105, 23 + 110, 32 @@ -157,7 +157,7 @@ 3, 3 - 545, 77 + 569, 85 17, 17 @@ -169,77 +169,77 @@ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACg EQAAAk1TRnQBSQFMAgEBBAEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8ALgADAgEDAxQBHAMw - AUwDRAF5A1ABmgNQAaQDUAGaA0QBeQMwAUwDFAEcAwMBBAgAA5YB/wEkAgAB/wEkAgAB/wEkAgAB/wEk - AgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEkAgAB/wEk - AgAB/wEkAgAB/wQAAVcBzAL/ASQCmQH/ASQCmQH/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/ - AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQ - AaQDUAGaA0QBeQMwAUwDFAEcAwMBBBAAAwQBBgMkATYDUwGwAWMCXgHlAYMCcwH7AbMCqQH/AYMCfAH7 + AUwDRAF5A1ABmgNQAaQDUAGaA0QBeQMwAUwDFAEcAwMBBAgAA5YB/wEfAgAB/wEfAgAB/wEfAgAB/wEf + AgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEfAgAB/wEf + AgAB/wEfAgAB/wQAAVIBzAL/AR8CmQH/AR8CmQH/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/ + AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQ + AaQDUAGaA0QBeQMwAUwDFAEcAwMBBBAAAwQBBgMkATYDUwGwAWMCXgHlAXwCZAH7AbMCqQH/AXwCbQH7 A2AB6wNaAdMDUwGsA0cBggMoATwDBwEJBAABzAKZAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8D6gH/ - A+oB/wPqAf8BgAIAAf8D6gH/A+oB/wPqAf8BgAIAAf8BgAIAAf8BVwIAAf8BJAIAAf8BJAKZAf8DAAH/ - AxoB/wM+Af8DAAH/Aw0B/wFXAcwC/wFXAcwC/wFXAcwC/wFXAcwC/wFXAcwC/wFXAcwC/wFXAcwC/wFX - AcwC/wFXAcwC/wFXAcwC/wgAAwQBBgMkATYDUwGwAWMCXgHlAYMCcwH7AbMCqQH/AYMCfAH7A2AB6wNa + A+oB/wPqAf8BgAIAAf8D6gH/A+oB/wPqAf8BgAIAAf8BgAIAAf8BUgIAAf8BHwIAAf8BHwKZAf8DAAH/ + AxUB/wM5Af8DAAH/AwgB/wFSAcwC/wFSAcwC/wFSAcwC/wFSAcwC/wFSAcwC/wFSAcwC/wFSAcwC/wFS + AcwC/wFSAcwC/wFSAcwC/wgAAwQBBgMkATYDUwGwAWMCXgHlAXwCZAH7AbMCqQH/AXwCbQH7A2AB6wNa AdMDUwGsA0cBggMoATwDBwEJCAADAgEDAzEBTwNcAeoBzwK0Av8C3QL/AuIC/wLoAv8C7gL/AvMB/wPP Af8DXwHzA1gBxgNMAZIDKAE8AwMBBAHMApkB/wGAAgAB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIA - Af8D8QH/AYACAAH/A/EB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8BJAIAAf8DAAH/A8wN/wM+ - Af8DDQH/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/ + Af8D8QH/AYACAAH/A/EB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8BHwIAAf8DAAH/A8wN/wM5 + Af8DCAH/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/ BAADAgEDAzEBTwNcAeoBzwK0Av8C3QL/AuIC/wLoAv8C7gL/AvMB/wPPAf8DXwHzA1gBxgNMAZIDKAE8 - AwMBBAQAAyYBOANtAfcB9QLHAv8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/A4oB+wNYAcYDRwGC - AxQBHAHMApkB/wGZAQABJAH/AYACAAH/AYACAAX/AYACAAH/AYACAAX/AYACAAX/AYACAAH/AYACAAX/ - AYACAAH/AYACAAH/ASQCAAH/AwAB/wPMEf8DAAH/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/ - AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/BAADJgE4A20B9wH1AscC/wLSAv8C2AL/At0C/wLiAv8C6AL/ - AvQF/wP1Af8DigH7A1gBxgNHAYIDFAEcAwcBCQNeAd0B9QLNAv8CzwL/As0C/wLSAv8C2AL/At0C/wLi - Av8C+gn/A/UB/wNfAfMDUwGsAzABTAHMApkB/wGZAQABJAH/AYACAAH/AYACAAH/AYACAA3/AYACAA3/ - AYACAAH/AYACAAH/AYACAAH/ASQCAAH/ASQCmQH/Aw0B/wNoAf8DwAH/A8AB/wPMAf8DAAH/AxoB/wMA - Af8DAAH/AwAB/wMAAf8DGgH/AVcBzAL/AVcBzAL/AVcBzAL/AwcBCQNeAd0B9QLNAv8CzwL/As0C/wLS + AwMBBAQAAyYBOANtAfcB9QLHAv8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/A4UB+wNYAcYDRwGC + AxQBHAHMApkB/wGZAQABHwH/AYACAAH/AYACAAX/AYACAAH/AYACAAX/AYACAAX/AYACAAH/AYACAAX/ + AYACAAH/AYACAAH/AR8CAAH/AwAB/wPMEf8DAAH/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/ + AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/BAADJgE4A20B9wH1AscC/wLSAv8C2AL/At0C/wLiAv8C6AL/ + AvQF/wP1Af8DhQH7A1gBxgNHAYIDFAEcAwcBCQNeAd0B9QLNAv8CzwL/As0C/wLSAv8C2AL/At0C/wLi + Av8C+gn/A/UB/wNfAfMDUwGsAzABTAHMApkB/wGZAQABHwH/AYACAAH/AYACAAH/AYACAA3/AYACAA3/ + AYACAAH/AYACAAH/AYACAAH/AR8CAAH/AR8CmQH/AwgB/wNjAf8DwAH/A8AB/wPMAf8DAAH/AxUB/wMA + Af8DAAH/AwAB/wMAAf8DFQH/AVIBzAL/AVIBzAL/AVIBzAL/AwcBCQNeAd0B9QLNAv8CzwL/As0C/wLS Av8C2AL/At0C/wLiAv8C+gn/A/UB/wNfAfMDUwGsAzABTAM+AWoBxgKxAv8C2QL/AtQC/wLPAv8CzQL/ - AdQB2wL/AdcB4gL/AeQB6hH/AdICzAH/A1oB0wNDAXcBzAKZAf8BmQEAASQB/wGAAgAB/wGAAgAB/wGA - AgAB/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEkAgAB/wFX - AcwC/wEkApkB/wMNAf8DAAH/AwAF/wMAAf8DDQH/AaQCoAn/A5kB/wMaAf8DGgH/AVcBzAL/AVcBzAL/ + AdQB2wL/AdcB4gL/AeQB6hH/AdICzAH/A1oB0wNDAXcBzAKZAf8BmQEAAR8B/wGAAgAB/wGAAgAB/wGA + AgAB/wGAAgAB/wGAAgAF/wGAAgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEfAgAB/wFS + AcwC/wEfApkB/wMIAf8DAAH/AwAF/wMAAf8DCAH/AaQCoAn/A5kB/wMVAf8DFQH/AVIBzAL/AVIBzAL/ Az4BagHGArEC/wLZAv8C1AL/As8C/wLNAv8B1AHbAv8B1wHiAv8B5AHqEf8B0gLMAf8DWgHTA0MBdwNW - AbYB/wLjAf8BAAEfASAB/wEAAR8BIAH/AQABHwEgAv8B3gHnAf8BAAEfASAC/wHRAfMB/wEAAR8BIAL/ - AfgC/wFfAmUB/wEAAR8BIAH/AV8CZQH/AcwCmQH/AVwCVQHqA04BlAHMApkB/wGZAQABJAH/AYACAAH/ + AbYB/wLjAf8BAAEaARsB/wEAARoBGwH/AQABGgEbAv8B3gHnAf8BAAEaARsC/wHRAfMB/wEAARoBGwL/ + AfgC/wFaAmAB/wEAARoBGwH/AVoCYAH/AcwCmQH/AVwCVQHqA04BlAHMApkB/wGZAQABHwH/AYACAAH/ AYACAAH/AYACAAH/AYACAAH/AYACAAX/AYACAAX/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ - ASQCAAH/AVcBzAL/AVcBzAL/AVcBzAL/AVcBzAL/AwAF/wMAAf8DGhH/A8wB/wMAAf8BVwHMAv8BVwHM - Av8DVgG2Af8C4wH/AV8CZQH/AQABHwEgAf8BXwJlAv8B3gHnAf8BXwJlAf8BAAEfASAB/wFfAmUC/wH4 - Av8BAAEfASAB/wEAAR8BIAH/AQABHwEgAf8BzAKZAf8BXAJVAeoDTgGUA2EB4gH/AucB/wEAAR8BIAL/ - At4C/wLgAv8B7wH8Af8BAAEfASAC/wHiAfwB/wEAAR8BIAH/AfwB8AH5Af8BAAEfASAB/wHMApkB/wEA - AR8BIAH/AcwCmQH/AW0CbAH3A1EBoQHMApkB/wGZAQABJAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ - AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ASQCAAH/ - AZkCVwH/AZkCVwH/AZkCVwH/AZkCVwH/AwAF/wMAAf8DAAH/Az4B/wPMDf8DAAH/AZkCVwH/AZkCVwH/ - A2EB4gH/AucB/wEAAR8BIAL/At4B/wEAAR8BIAL/Ae8B/AH/AQABHwEgAv8B4gH8Af8BAAEfASAB/wH8 - AfAB+QH/AQABHwEgAf8BzAKZAf8BzAKZAf8BzAKZAf8BbQJsAfcDUQGhAZ4CjAH/AekCvgH/AQABHwEg - Af8BAAEfASAB/wH5AtYC/wHpAfMB/wEAAR8BIAH/AQABHwEgAf8BAAEfASAB/wH5AegB7AH/AQABHwEg - Af8B5gK6Af8B5gK9Af8B5gLAAf8BpgKUAf8DTgGUNP8D8QH/A+oB/wOAAf8BmQJXAf8BmQJXAf8BmQJX - Af8BmQJXAf8DAAX/AwAB/wNGAf8DDQH/AwAB/wMAAf8DAAX/AwAB/wGZAlcB/wGZAlcB/wGeAowB/wHp - Ar4B/wEAAR8BIAH/AfMCxQH/AfkC1gL/AekB8wH/AQABHwEgAv8B6QHzAf8BAAEfASAB/wH5AegB7AH/ - AQABHwEgAf8BAAEfASAB/wHmAr0B/wHmAsAB/wGmApQB/wNOAZQDXQHSAdsCqAH/AQABHwEgAf8B6gK3 - Af8B8wLNAv8B7gH8Af8BAAEfASAC/wHSAfUB/wEAAR8BIAL/AfQB/AH/AQABHwEgAv8C2AH/AQABHwEg - Av8C4gH/A2IB9gNDAXcE/wGZAQABJAn/AYACAA3/AYACAAH/AYACAA3/AYACAAH/AYACAAH/A4AB/wGZ - AlcB/wGZAlcB/wGZAlcB/wGZAlcB/wMABf8DDQH/AwAB/wMaAf8DRgH/A0YB/wMABf8DAAH/AZkCVwH/ - AZkCVwH/A10B0gHbAqgB/wEAAR8BIAH/AeoCtwH/AQABHwEgAv8B7gH8Af8BAAEfASAC/wHSAfUB/wEA - AR8BIAL/AfQB/AH/AQABHwEgAv8C2AL/At0C/wLiAf8DYgH2A0MBdwNWAbEB1QKiAf8BAAEfASAB/wEA - AR8BIAH/AQABHwEgAv8B9gL/AV8CZQH/AQABHwEgAf8BXwJlAv8B4AHnAf8BXwJlAf8BAAEfASAB/wFf - AmUC/wLdAf8DWgHkAzABTAT/AZkBAAEkCf8BgAIACf8BgAIAEf8BgAIAAf8D8QH/A+oB/wOAAf8BmQJX - Af8BmQJXAf8BmQJXAf8BmQJXAf8DAAn/A5kB/wMaAf8DAAH/Aw0B/wMABf8DAAH/AZkCVwH/AZkCVwH/ - A1YBsQHVAqIB/wFfAmUB/wEAAR8BIAH/AV8CZQL/AfYC/wEAAR8BIAL/AdIB9QH/AQABHwEgAv8B4AHn - Af8BAAEfASAB/wEAAR8BIAH/AQABHwEgAv8C3QH/A1oB5AMwAUwDMgFQAcMCvxL/AewB8QL/AdsB5wL/ - AdkB3gL/AtQC/wLPAv8CzQL/AtIB/wHGAq0B/wNTAawDFAEbBP8BmQEAASQJ/wGAAgAJ/wGAAgAB/wGA - AgAB/wGAAgAB/wGAAgAF/wGAAgAB/wGAAgAB/wGAAgAB/wEkAgAB/wGZAlcB/wGZAlcB/wGZAlcB/wGZ - AlcB/wMAAf8DwA3/A8wB/wNQAf8DAAX/AwAB/wGZAlcB/wGZAlcB/wMyAVABwwK/Ev8B7AHxAv8B2wHn + AR8CAAH/AVIBzAL/AVIBzAL/AVIBzAL/AVIBzAL/AwAF/wMAAf8DFRH/A8wB/wMAAf8BUgHMAv8BUgHM + Av8DVgG2Af8C4wH/AVoCYAH/AQABGgEbAf8BWgJgAv8B3gHnAf8BWgJgAf8BAAEaARsB/wFaAmAC/wH4 + Av8BAAEaARsB/wEAARoBGwH/AQABGgEbAf8BzAKZAf8BXAJVAeoDTgGUA2EB4gH/AucB/wEAARoBGwL/ + At4C/wLgAv8B7wH8Af8BAAEaARsC/wHiAfwB/wEAARoBGwH/AfwB8AH5Af8BAAEaARsB/wHMApkB/wEA + ARoBGwH/AcwCmQH/AW0CbAH3A1EBoQHMApkB/wGZAQABHwH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ + AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AR8CAAH/ + AZkCUgH/AZkCUgH/AZkCUgH/AZkCUgH/AwAF/wMAAf8DAAH/AzkB/wPMDf8DAAH/AZkCUgH/AZkCUgH/ + A2EB4gH/AucB/wEAARoBGwL/At4B/wEAARoBGwL/Ae8B/AH/AQABGgEbAv8B4gH8Af8BAAEaARsB/wH8 + AfAB+QH/AQABGgEbAf8BzAKZAf8BzAKZAf8BzAKZAf8BbQJsAfcDUQGhAZ4CjAH/AekCvgH/AQABGgEb + Af8BAAEaARsB/wH5AtYC/wHpAfMB/wEAARoBGwH/AQABGgEbAf8BAAEaARsB/wH5AegB7AH/AQABGgEb + Af8B5gK6Af8B5gK9Af8B5gLAAf8BpgKUAf8DTgGUNP8D8QH/A+oB/wOAAf8BmQJSAf8BmQJSAf8BmQJS + Af8BmQJSAf8DAAX/AwAB/wNBAf8DCAH/AwAB/wMAAf8DAAX/AwAB/wGZAlIB/wGZAlIB/wGeAowB/wHp + Ar4B/wEAARoBGwH/AfMCxQH/AfkC1gL/AekB8wH/AQABGgEbAv8B6QHzAf8BAAEaARsB/wH5AegB7AH/ + AQABGgEbAf8BAAEaARsB/wHmAr0B/wHmAsAB/wGmApQB/wNOAZQDXQHSAdsCqAH/AQABGgEbAf8B6gK3 + Af8B8wLNAv8B7gH8Af8BAAEaARsC/wHSAfUB/wEAARoBGwL/AfQB/AH/AQABGgEbAv8C2AH/AQABGgEb + Av8C4gH/A2IB9gNDAXcE/wGZAQABHwn/AYACAA3/AYACAAH/AYACAA3/AYACAAH/AYACAAH/A4AB/wGZ + AlIB/wGZAlIB/wGZAlIB/wGZAlIB/wMABf8DCAH/AwAB/wMVAf8DQQH/A0EB/wMABf8DAAH/AZkCUgH/ + AZkCUgH/A10B0gHbAqgB/wEAARoBGwH/AeoCtwH/AQABGgEbAv8B7gH8Af8BAAEaARsC/wHSAfUB/wEA + ARoBGwL/AfQB/AH/AQABGgEbAv8C2AL/At0C/wLiAf8DYgH2A0MBdwNWAbEB1QKiAf8BAAEaARsB/wEA + ARoBGwH/AQABGgEbAv8B9gL/AVoCYAH/AQABGgEbAf8BWgJgAv8B4AHnAf8BWgJgAf8BAAEaARsB/wFa + AmAC/wLdAf8DWgHkAzABTAT/AZkBAAEfCf8BgAIACf8BgAIAEf8BgAIAAf8D8QH/A+oB/wOAAf8BmQJS + Af8BmQJSAf8BmQJSAf8BmQJSAf8DAAn/A5kB/wMVAf8DAAH/AwgB/wMABf8DAAH/AZkCUgH/AZkCUgH/ + A1YBsQHVAqIB/wFaAmAB/wEAARoBGwH/AVoCYAL/AfYC/wEAARoBGwL/AdIB9QH/AQABGgEbAv8B4AHn + Af8BAAEaARsB/wEAARoBGwH/AQABGgEbAv8C3QH/A1oB5AMwAUwDMgFQAcMCvxL/AewB8QL/AdsB5wL/ + AdkB3gL/AtQC/wLPAv8CzQL/AtIB/wHGAq0B/wNTAawDFAEbBP8BmQEAAR8J/wGAAgAJ/wGAAgAB/wGA + AgAB/wGAAgAB/wGAAgAF/wGAAgAB/wGAAgAB/wGAAgAB/wEfAgAB/wGZAlIB/wGZAlIB/wGZAlIB/wGZ + AlIB/wMAAf8DwA3/A8wB/wNLAf8DAAX/AwAB/wGZAlIB/wGZAlIB/wMyAVABwwK/Ev8B7AHxAv8B2wHn Av8B2QHeAv8C1AL/As8C/wLNAv8C0gH/AcYCrQH/A1MBrAMUARsEAANaAcAD9Qr/Av4C/wLnAv8C4wL/ - At4C/wLZAv8C1AL/As8B/wH1AscB/wNfAeMDIwE0AwIBAwT/AZkBAAEkAf8BgAIABf8BgAIACf8BgAIA - Cf8BgAIABf8BgAIAAf8D8QH/A+oB/wEkAgAB/wGZAlcB/wGZAlcB/wGZAlcB/wGZAlcB/wMaAf8DPgH/ - A8AZ/wMAAf8BmQJXAf8BmQJXAf8EAANaAcAD9Qr/Av4C/wLnAv8C4wL/At4C/wLZAv8C1AL/As8B/wH1 + At4C/wLZAv8C1AL/As8B/wH1AscB/wNfAeMDIwE0AwIBAwT/AZkBAAEfAf8BgAIABf8BgAIACf8BgAIA + Cf8BgAIABf8BgAIAAf8D8QH/A+oB/wEfAgAB/wGZAlIB/wGZAlIB/wGZAlIB/wGZAlIB/wMVAf8DOQH/ + A8AZ/wMAAf8BmQJSAf8BmQJSAf8EAANaAcAD9Qr/Av4C/wLnAv8C4wL/At4C/wLZAv8C1AL/As8B/wH1 AscB/wNfAeMDIwE0AwIBAwQAAxcBIANiAe8D9Qb/AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/ - A20B9wMwAU0DBAEGBAAE/wGZAiQJ/wGAAgAB/wGAAgAJ/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOG - Af8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8DGgH/AwAB/wMaAf8DmRH/AwAB/wGZAlcB/wGZ - AlcB/wQAAxcBIANiAe8D9Qb/AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/A20B9wMwAU0DBAEG - DAADFwEgA1oBwAPGAv8C9wL/AvIC/wLsAv8C5wL/AuMB/wHGArEB/wNeAdADJAE2AwIBAwgABP8BmQIk - Lf8D8QH/A+oB/wOGAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8DGgH/ - AwAB/wMNAf8DaAH/A8wF/wMAAf8BmQJXAf8BmQJXAf8IAAMXASADWgHAA8YC/wL3Av8C8gL/AuwC/wLn + A20B9wMwAU0DBAEGBAAE/wGZAh8J/wGAAgAB/wGAAgAJ/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOG + Af8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8DFQH/AwAB/wMVAf8DmRH/AwAB/wGZAlIB/wGZ + AlIB/wQAAxcBIANiAe8D9Qb/AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/A20B9wMwAU0DBAEG + DAADFwEgA1oBwAPGAv8C9wL/AvIC/wLsAv8C5wL/AuMB/wHGArEB/wNeAdADJAE2AwIBAwgABP8BmQIf + Lf8D8QH/A+oB/wOGAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8DFQH/ + AwAB/wMIAf8DYwH/A8wF/wMAAf8BmQJSAf8BmQJSAf8IAAMXASADWgHAA8YC/wL3Av8C8gL/AuwC/wLn Av8C4wH/AcYCsQH/A14B0AMkATYDAgEDGAADMgFQA1EBogNdAdIBjAKJAf8DYAHUA1QBpgM3AVoDBQEH - EAAI/wHMApkt/wPxAf8DwAH/BAABmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJXAf8BmQJX - Af8BmQJXAf8BmQJXAf8DDQH/AwAB/wM+Af8DGgH/AZkCVwH/FAADMgFQA1EBogNdAdIBjAKJAf8DYAHU + EAAI/wHMApkt/wPxAf8DwAH/BAABmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJSAf8BmQJS + Af8BmQJSAf8BmQJSAf8DCAH/AwAB/wM5Af8DFQH/AZkCUgH/FAADMgFQA1EBogNdAdIBjAKJAf8DYAHU A1QBpgM3AVoDBQEHEAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/4EAAeABAwIA AYABAQHgAQMBwAEBBAABwAEBAYAFAAGAAQABgAUAAYBBAAGABQABgAEAAYABAQQAAYABAQHAAQMEAAHA AQMB8AEPAgABgAEBAfABDws= @@ -267,7 +267,7 @@ Courier New, 8pt - 3, 86 + 3, 94 True @@ -276,7 +276,7 @@ Vertical - 545, 35 + 569, 5 1 @@ -327,10 +327,10 @@ Fill - 3, 243 + 3, 250 - 545, 137 + 569, 163 3 @@ -375,10 +375,10 @@ Fill - 3, 127 + 3, 122 - 545, 110 + 569, 122 2 @@ -405,13 +405,13 @@ Fill - 3, 386 + 3, 419 1 - 545, 29 + 569, 38 30 @@ -431,14 +431,44 @@ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="buttonOk" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,37,59399,Percent,22,93233,Percent,19,17293,Percent,20,11278" /><Rows Styles="Percent,100" /></TableLayoutSettings> - - 12, 12 + + Fill - + + 3, 105 + + + 569, 11 + + + Zoom + + + 31 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanel1 + + 5 + + Fill + + + 0, 0 + + + 6 + - 551, 418 + 575, 460 29 @@ -456,7 +486,7 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="listMetadata" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanel2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listTracks" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,19,79167,Percent,9,895833,Percent,27,86458,Percent,34,11458,Percent,8,000021,Absolute,20" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="listMetadata" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanel2" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listTracks" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,19,85646,Percent,2,392344,Percent,3,827751,Percent,27,7512,Percent,36,60287,Percent,9,035593" /></TableLayoutSettings> True @@ -468,7 +498,7 @@ 6, 13 - 575, 442 + 575, 460 CenterParent diff --git a/MusicBrainz/MusicBrainz.csproj b/MusicBrainz/MusicBrainz.csproj index ce557b3..4c6dd07 100644 --- a/MusicBrainz/MusicBrainz.csproj +++ b/MusicBrainz/MusicBrainz.csproj @@ -28,7 +28,7 @@ true - none + pdbonly true ..\bin\Release\ prompt @@ -37,6 +37,7 @@ true v1.1 AnyCPU + true diff --git a/MusicBrainz/MusicBrainz/MusicBrainzException.cs b/MusicBrainz/MusicBrainz/MusicBrainzException.cs index 234afda..9c914a9 100644 --- a/MusicBrainz/MusicBrainz/MusicBrainzException.cs +++ b/MusicBrainz/MusicBrainz/MusicBrainzException.cs @@ -38,7 +38,15 @@ namespace MusicBrainz : base ("Specified resource was not found. Perhaps it was merged or deleted.") { } - } + } + + public sealed class MusicBrainzUnavailableException : Exception + { + public MusicBrainzUnavailableException(string message) + : base(message ?? "Service is unavailable.") + { + } + } public sealed class MusicBrainzUnauthorizedException : Exception { diff --git a/MusicBrainz/MusicBrainz/MusicBrainzObject.cs b/MusicBrainz/MusicBrainz/MusicBrainzObject.cs index e226871..8f43386 100644 --- a/MusicBrainz/MusicBrainz/MusicBrainzObject.cs +++ b/MusicBrainz/MusicBrainz/MusicBrainzObject.cs @@ -408,32 +408,47 @@ namespace MusicBrainz if (response == null) throw new MusicBrainzNotFoundException (); - switch (response.StatusCode) { - case HttpStatusCode.BadRequest: - Monitor.Exit (server_mutex); - throw new MusicBrainzInvalidParameterException (); - case HttpStatusCode.Unauthorized: - Monitor.Exit (server_mutex); - throw new MusicBrainzUnauthorizedException (); - case HttpStatusCode.NotFound: - Monitor.Exit (server_mutex); - throw new MusicBrainzNotFoundException (); - } + switch (response.StatusCode) + { + case HttpStatusCode.BadRequest: + Monitor.Exit(server_mutex); + throw new MusicBrainzInvalidParameterException(); + case HttpStatusCode.Unauthorized: + Monitor.Exit(server_mutex); + throw new MusicBrainzUnauthorizedException(); + case HttpStatusCode.NotFound: + Monitor.Exit(server_mutex); + throw new MusicBrainzNotFoundException(); + case HttpStatusCode.ServiceUnavailable: + Monitor.Exit(server_mutex); + throw new MusicBrainzUnavailableException(response.StatusDescription); + case HttpStatusCode.OK: + break; + default: + Monitor.Exit(server_mutex); + throw new MusicBrainzUnavailableException(response.StatusDescription); + } bool from_cache = cache_implemented && response.IsFromCache; if (from_cache) Monitor.Exit (server_mutex); - MusicBrainzService.OnXmlRequest (url, from_cache); + try + { + MusicBrainzService.OnXmlRequest(url, from_cache); - // Should we read the stream into a memory stream and run the XmlReader off of that? - code (new XmlTextReader (response.GetResponseStream ())); - response.Close (); - - if (!from_cache) { - last_accessed = DateTime.Now; - Monitor.Exit (server_mutex); - } + // Should we read the stream into a memory stream and run the XmlReader off of that? + code(new XmlTextReader(response.GetResponseStream())); + } + finally + { + response.Close(); + if (!from_cache) + { + last_accessed = DateTime.Now; + Monitor.Exit(server_mutex); + } + } } #endregion