2.0.8 final

This commit is contained in:
chudov
2010-04-28 08:12:37 +00:00
parent 071c45d8e2
commit 382ca8a67b
13 changed files with 1414 additions and 1411 deletions

View File

@@ -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;
}
}

View File

@@ -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<Release> results = Release.Query(p);
MusicBrainzService.XmlRequest += new EventHandler<XmlRequestEventArgs>(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<XmlRequestEventArgs>(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);

File diff suppressed because it is too large Load Diff

View File

@@ -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);

View File

@@ -1635,7 +1635,7 @@ string status = processor.Go();
private CUEToolsDB _CUEToolsDB;
private CDImageLayout _toc;
private string _arLogFileName, _alArtFileName;
private TagLib.IPicture[] _albumArt;
private List<TagLib.IPicture> _albumArt = new List<TagLib.IPicture>();
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<XmlRequestEventArgs>(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<string> names = new List<string>();
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<TagLib.IPicture> 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))

View File

@@ -62,6 +62,7 @@
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -123,10 +123,10 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
<value>437, 3</value>
<value>456, 3</value>
</data>
<data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
<value>105, 23</value>
<value>110, 32</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
@@ -157,7 +157,7 @@
<value>3, 3</value>
</data>
<data name="listChoices.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 77</value>
<value>569, 85</value>
</data>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
@@ -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 @@
<value>Courier New, 8pt</value>
</data>
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 86</value>
<value>3, 94</value>
</data>
<data name="textBox1.Multiline" type="System.Boolean, mscorlib">
<value>True</value>
@@ -276,7 +276,7 @@
<value>Vertical</value>
</data>
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 35</value>
<value>569, 5</value>
</data>
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -327,10 +327,10 @@
<value>Fill</value>
</data>
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 243</value>
<value>3, 250</value>
</data>
<data name="listTracks.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 137</value>
<value>569, 163</value>
</data>
<data name="listTracks.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -375,10 +375,10 @@
<value>Fill</value>
</data>
<data name="listMetadata.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 127</value>
<value>3, 122</value>
</data>
<data name="listMetadata.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 110</value>
<value>569, 122</value>
</data>
<data name="listMetadata.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@@ -405,13 +405,13 @@
<value>Fill</value>
</data>
<data name="tableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 386</value>
<value>3, 419</value>
</data>
<data name="tableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 29</value>
<value>569, 38</value>
</data>
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
@@ -431,14 +431,44 @@
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="buttonOk" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,37,59399,Percent,22,93233,Percent,19,17293,Percent,20,11278" /&gt;&lt;Rows Styles="Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 12</value>
<data name="pictureBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 105</value>
</data>
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>569, 11</value>
</data>
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
<value>31</value>
</data>
<data name="&gt;&gt;pictureBox1.Name" xml:space="preserve">
<value>pictureBox1</value>
</data>
<data name="&gt;&gt;pictureBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pictureBox1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;pictureBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>551, 418</value>
<value>575, 460</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>29</value>
@@ -456,7 +486,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="listMetadata" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="tableLayoutPanel2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="listTracks" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,19,79167,Percent,9,895833,Percent,27,86458,Percent,34,11458,Percent,8,000021,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="listMetadata" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="tableLayoutPanel2" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="listTracks" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,19,85646,Percent,2,392344,Percent,3,827751,Percent,27,7512,Percent,36,60287,Percent,9,035593" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@@ -468,7 +498,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>575, 442</value>
<value>575, 460</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>

View File

@@ -28,7 +28,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\Release\</OutputPath>
<ErrorReport>prompt</ErrorReport>
@@ -37,6 +37,7 @@
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<TargetFrameworkVersion>v1.1</TargetFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<Reference Include="System.Xml" />

View File

@@ -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
{

View File

@@ -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