From fe3704f5984218b232b08687b043facbb0372b04 Mon Sep 17 00:00:00 2001 From: chudov Date: Mon, 13 Feb 2012 07:24:25 +0000 Subject: [PATCH] CUERipper: AlbumArt support --- CUERipper/frmCUERipper.Designer.cs | 1377 ++++++++++++++-------------- CUERipper/frmCUERipper.cs | 433 ++++++--- CUERipper/frmCUERipper.resx | 324 ++++--- CUETools.CTDB/CUEToolsDB.cs | 8 +- CUETools.Processor/CUEMetadata.cs | 8 + CUETools.Processor/CUESheet.cs | 8 + CUETools/frmCUETools.Designer.cs | 18 +- CUETools/frmCUETools.resx | 16 +- 8 files changed, 1240 insertions(+), 952 deletions(-) diff --git a/CUERipper/frmCUERipper.Designer.cs b/CUERipper/frmCUERipper.Designer.cs index 6638b8c..34f36f2 100644 --- a/CUERipper/frmCUERipper.Designer.cs +++ b/CUERipper/frmCUERipper.Designer.cs @@ -28,699 +28,729 @@ namespace CUERipper /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmCUERipper)); - CUEControls.RectRadius rectRadius1 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius2 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius3 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius4 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius5 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius6 = new CUEControls.RectRadius(); - CUEControls.RectRadius rectRadius7 = new CUEControls.RectRadius(); - this.statusStrip1 = new System.Windows.Forms.StatusStrip(); - this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripStatusLabelMusicBrainz = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripStatusCTDB = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripStatusAr = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar(); - this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); - this.listTracks = new System.Windows.Forms.ListView(); - this.Title = new System.Windows.Forms.ColumnHeader(); - this.TrackNo = new System.Windows.Forms.ColumnHeader(); - this.columnHeaderArtist = new System.Windows.Forms.ColumnHeader(); - this.Start = new System.Windows.Forms.ColumnHeader(); - this.Length = new System.Windows.Forms.ColumnHeader(); - this.buttonGo = new System.Windows.Forms.Button(); - this.buttonAbort = new System.Windows.Forms.Button(); - this.buttonPause = new System.Windows.Forms.Button(); - this.numericWriteOffset = new System.Windows.Forms.NumericUpDown(); - this.lblWriteOffset = new System.Windows.Forms.Label(); - this.checkBoxEACMode = new System.Windows.Forms.CheckBox(); - this.groupBoxSettings = new System.Windows.Forms.GroupBox(); - this.bnComboBoxLosslessOrNot = new CUEControls.ImgComboBox(); - this.losslessOrNotBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.bindingSourceCR = new System.Windows.Forms.BindingSource(this.components); - this.bnComboBoxEncoder = new CUEControls.ImgComboBox(); - this.encodersBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.labelSecureMode = new System.Windows.Forms.Label(); - this.bnComboBoxFormat = new CUEControls.ImgComboBox(); - this.formatsBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.labelEncoderMinMode = new System.Windows.Forms.Label(); - this.bnComboBoxImage = new CUEControls.ImgComboBox(); - this.cUEStylesBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.labelEncoderMaxMode = new System.Windows.Forms.Label(); - this.labelEncoderMode = new System.Windows.Forms.Label(); - this.trackBarEncoderMode = new System.Windows.Forms.TrackBar(); - this.trackBarSecureMode = new System.Windows.Forms.TrackBar(); - this.drivesBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.imageListChecked = new System.Windows.Forms.ImageList(this.components); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.progressBarErrors = new ProgressODoom.ProgressBarEx(); - this.plainBackgroundPainter1 = new ProgressODoom.PlainBackgroundPainter(); - this.styledBorderPainter1 = new ProgressODoom.StyledBorderPainter(); - this.plainProgressPainter1 = new ProgressODoom.PlainProgressPainter(); - this.gradientGlossPainter1 = new ProgressODoom.GradientGlossPainter(); - this.progressBarCD = new ProgressODoom.ProgressBarEx(); - this.plainProgressPainter2 = new ProgressODoom.PlainProgressPainter(); - this.txtOutputPath = new System.Windows.Forms.TextBox(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.bnComboBoxRelease = new CUEControls.ImgComboBox(); - this.releasesBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.imageListMetadataSource = new System.Windows.Forms.ImageList(this.components); - this.bnComboBoxDrives = new CUEControls.ImgComboBox(); - this.bnComboBoxOutputFormat = new CUEControls.ImgComboBox(); - this.listMetadata = new System.Windows.Forms.ListView(); - this.columnHeaderValue = new System.Windows.Forms.ColumnHeader(); - this.columnHeaderName = new System.Windows.Forms.ColumnHeader(); - this.buttonTrackMetadata = new System.Windows.Forms.Button(); - this.buttonMetadata = new System.Windows.Forms.Button(); - this.buttonVA = new System.Windows.Forms.Button(); - this.buttonReload = new System.Windows.Forms.Button(); - this.buttonEncoding = new System.Windows.Forms.Button(); - this.buttonTracks = new System.Windows.Forms.Button(); - this.buttonFreedbSubmit = new System.Windows.Forms.Button(); - this.statusStrip1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit(); - this.groupBoxSettings.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.losslessOrNotBindingSource)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSourceCR)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.encodersBindingSource)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.formatsBindingSource)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.cUEStylesBindingSource)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarSecureMode)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.drivesBindingSource)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.releasesBindingSource)).BeginInit(); - this.SuspendLayout(); - // - // statusStrip1 - // - this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmCUERipper)); + CUEControls.RectRadius rectRadius1 = new CUEControls.RectRadius(); + CUEControls.RectRadius rectRadius2 = new CUEControls.RectRadius(); + CUEControls.RectRadius rectRadius3 = new CUEControls.RectRadius(); + CUEControls.RectRadius rectRadius4 = new CUEControls.RectRadius(); + CUEControls.RectRadius rectRadius5 = new CUEControls.RectRadius(); + CUEControls.RectRadius rectRadius6 = new CUEControls.RectRadius(); + CUEControls.RectRadius rectRadius7 = new CUEControls.RectRadius(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabelMusicBrainz = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusCTDB = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusAr = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripProgressBar1 = new System.Windows.Forms.ToolStripProgressBar(); + this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); + this.listTracks = new System.Windows.Forms.ListView(); + this.Title = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.TrackNo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeaderArtist = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.Start = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.Length = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.buttonGo = new System.Windows.Forms.Button(); + this.buttonAbort = new System.Windows.Forms.Button(); + this.buttonPause = new System.Windows.Forms.Button(); + this.numericWriteOffset = new System.Windows.Forms.NumericUpDown(); + this.lblWriteOffset = new System.Windows.Forms.Label(); + this.checkBoxEACMode = new System.Windows.Forms.CheckBox(); + this.groupBoxSettings = new System.Windows.Forms.GroupBox(); + this.bnComboBoxLosslessOrNot = new CUEControls.ImgComboBox(); + this.losslessOrNotBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.bindingSourceCR = new System.Windows.Forms.BindingSource(this.components); + this.bnComboBoxEncoder = new CUEControls.ImgComboBox(); + this.encodersBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.labelSecureMode = new System.Windows.Forms.Label(); + this.bnComboBoxFormat = new CUEControls.ImgComboBox(); + this.formatsBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.labelEncoderMinMode = new System.Windows.Forms.Label(); + this.bnComboBoxImage = new CUEControls.ImgComboBox(); + this.cUEStylesBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.labelEncoderMaxMode = new System.Windows.Forms.Label(); + this.labelEncoderMode = new System.Windows.Forms.Label(); + this.trackBarEncoderMode = new System.Windows.Forms.TrackBar(); + this.trackBarSecureMode = new System.Windows.Forms.TrackBar(); + this.drivesBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.imageListChecked = new System.Windows.Forms.ImageList(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.progressBarErrors = new ProgressODoom.ProgressBarEx(); + this.plainBackgroundPainter1 = new ProgressODoom.PlainBackgroundPainter(); + this.styledBorderPainter1 = new ProgressODoom.StyledBorderPainter(); + this.plainProgressPainter1 = new ProgressODoom.PlainProgressPainter(); + this.gradientGlossPainter1 = new ProgressODoom.GradientGlossPainter(); + this.progressBarCD = new ProgressODoom.ProgressBarEx(); + this.plainProgressPainter2 = new ProgressODoom.PlainProgressPainter(); + this.txtOutputPath = new System.Windows.Forms.TextBox(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.bnComboBoxRelease = new CUEControls.ImgComboBox(); + this.releasesBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.imageListMetadataSource = new System.Windows.Forms.ImageList(this.components); + this.bnComboBoxDrives = new CUEControls.ImgComboBox(); + this.bnComboBoxOutputFormat = new CUEControls.ImgComboBox(); + this.listMetadata = new System.Windows.Forms.ListView(); + this.columnHeaderValue = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.columnHeaderName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.buttonTrackMetadata = new System.Windows.Forms.Button(); + this.buttonMetadata = new System.Windows.Forms.Button(); + this.buttonVA = new System.Windows.Forms.Button(); + this.buttonReload = new System.Windows.Forms.Button(); + this.buttonEncoding = new System.Windows.Forms.Button(); + this.buttonTracks = new System.Windows.Forms.Button(); + this.buttonFreedbSubmit = new System.Windows.Forms.Button(); + this.panel1 = new System.Windows.Forms.Panel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.backgroundWorkerArtwork = new System.ComponentModel.BackgroundWorker(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit(); + this.groupBoxSettings.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.losslessOrNotBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSourceCR)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.encodersBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.formatsBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cUEStylesBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarSecureMode)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.drivesBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.releasesBindingSource)).BeginInit(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // statusStrip1 + // + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripStatusLabel1, this.toolStripStatusLabelMusicBrainz, this.toolStripStatusCTDB, this.toolStripStatusAr, this.toolStripProgressBar1, this.toolStripStatusLabel2}); - resources.ApplyResources(this.statusStrip1, "statusStrip1"); - this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.ShowItemToolTips = true; - this.statusStrip1.SizingGrip = false; - // - // toolStripStatusLabel1 - // - this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1"); - this.toolStripStatusLabel1.Spring = true; - // - // toolStripStatusLabelMusicBrainz - // - 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.IsLink = true; - this.toolStripStatusLabelMusicBrainz.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline; - this.toolStripStatusLabelMusicBrainz.Name = "toolStripStatusLabelMusicBrainz"; - resources.ApplyResources(this.toolStripStatusLabelMusicBrainz, "toolStripStatusLabelMusicBrainz"); - this.toolStripStatusLabelMusicBrainz.Click += new System.EventHandler(this.toolStripStatusLabelMusicBrainz_Click); - // - // toolStripStatusCTDB - // - 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.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.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.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; - resources.ApplyResources(this.toolStripStatusLabel2, "toolStripStatusLabel2"); - // - // listTracks - // - resources.ApplyResources(this.listTracks, "listTracks"); - this.listTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + resources.ApplyResources(this.statusStrip1, "statusStrip1"); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.ShowItemToolTips = true; + this.statusStrip1.SizingGrip = false; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + resources.ApplyResources(this.toolStripStatusLabel1, "toolStripStatusLabel1"); + this.toolStripStatusLabel1.Spring = true; + // + // toolStripStatusLabelMusicBrainz + // + 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.IsLink = true; + this.toolStripStatusLabelMusicBrainz.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline; + this.toolStripStatusLabelMusicBrainz.Name = "toolStripStatusLabelMusicBrainz"; + resources.ApplyResources(this.toolStripStatusLabelMusicBrainz, "toolStripStatusLabelMusicBrainz"); + this.toolStripStatusLabelMusicBrainz.Click += new System.EventHandler(this.toolStripStatusLabelMusicBrainz_Click); + // + // toolStripStatusCTDB + // + 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.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.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.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; + resources.ApplyResources(this.toolStripStatusLabel2, "toolStripStatusLabel2"); + // + // listTracks + // + resources.ApplyResources(this.listTracks, "listTracks"); + this.listTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.Title, this.TrackNo, this.columnHeaderArtist, this.Start, this.Length}); - this.listTracks.FullRowSelect = true; - this.listTracks.GridLines = true; - this.listTracks.LabelEdit = true; - this.listTracks.Name = "listTracks"; - this.toolTip1.SetToolTip(this.listTracks, resources.GetString("listTracks.ToolTip")); - this.listTracks.UseCompatibleStateImageBehavior = false; - this.listTracks.View = System.Windows.Forms.View.Details; - this.listTracks.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listTracks_AfterLabelEdit); - this.listTracks.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.listTracks_PreviewKeyDown); - this.listTracks.BeforeLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listTracks_BeforeLabelEdit); - this.listTracks.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listTracks_KeyDown); - this.listTracks.Click += new System.EventHandler(this.listTracks_Click); - // - // Title - // - resources.ApplyResources(this.Title, "Title"); - // - // TrackNo - // - resources.ApplyResources(this.TrackNo, "TrackNo"); - // - // columnHeaderArtist - // - resources.ApplyResources(this.columnHeaderArtist, "columnHeaderArtist"); - // - // Start - // - resources.ApplyResources(this.Start, "Start"); - // - // Length - // - resources.ApplyResources(this.Length, "Length"); - // - // buttonGo - // - resources.ApplyResources(this.buttonGo, "buttonGo"); - this.buttonGo.BackColor = System.Drawing.Color.Transparent; - this.buttonGo.Name = "buttonGo"; - this.buttonGo.UseVisualStyleBackColor = false; - this.buttonGo.Click += new System.EventHandler(this.buttonGo_Click); - // - // buttonAbort - // - resources.ApplyResources(this.buttonAbort, "buttonAbort"); - this.buttonAbort.Name = "buttonAbort"; - this.buttonAbort.UseVisualStyleBackColor = true; - this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click); - // - // buttonPause - // - resources.ApplyResources(this.buttonPause, "buttonPause"); - this.buttonPause.Name = "buttonPause"; - this.buttonPause.UseVisualStyleBackColor = true; - this.buttonPause.Click += new System.EventHandler(this.buttonPause_Click); - // - // numericWriteOffset - // - resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset"); - this.numericWriteOffset.Maximum = new decimal(new int[] { + this.listTracks.FullRowSelect = true; + this.listTracks.GridLines = true; + this.listTracks.LabelEdit = true; + this.listTracks.Name = "listTracks"; + this.toolTip1.SetToolTip(this.listTracks, resources.GetString("listTracks.ToolTip")); + this.listTracks.UseCompatibleStateImageBehavior = false; + this.listTracks.View = System.Windows.Forms.View.Details; + this.listTracks.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listTracks_AfterLabelEdit); + this.listTracks.BeforeLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listTracks_BeforeLabelEdit); + this.listTracks.Click += new System.EventHandler(this.listTracks_Click); + this.listTracks.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listTracks_KeyDown); + this.listTracks.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.listTracks_PreviewKeyDown); + // + // Title + // + resources.ApplyResources(this.Title, "Title"); + // + // TrackNo + // + resources.ApplyResources(this.TrackNo, "TrackNo"); + // + // columnHeaderArtist + // + resources.ApplyResources(this.columnHeaderArtist, "columnHeaderArtist"); + // + // Start + // + resources.ApplyResources(this.Start, "Start"); + // + // Length + // + resources.ApplyResources(this.Length, "Length"); + // + // buttonGo + // + resources.ApplyResources(this.buttonGo, "buttonGo"); + this.buttonGo.BackColor = System.Drawing.Color.Transparent; + this.buttonGo.Name = "buttonGo"; + this.buttonGo.UseVisualStyleBackColor = false; + this.buttonGo.Click += new System.EventHandler(this.buttonGo_Click); + // + // buttonAbort + // + resources.ApplyResources(this.buttonAbort, "buttonAbort"); + this.buttonAbort.Name = "buttonAbort"; + this.buttonAbort.UseVisualStyleBackColor = true; + this.buttonAbort.Click += new System.EventHandler(this.buttonAbort_Click); + // + // buttonPause + // + resources.ApplyResources(this.buttonPause, "buttonPause"); + this.buttonPause.Name = "buttonPause"; + this.buttonPause.UseVisualStyleBackColor = true; + this.buttonPause.Click += new System.EventHandler(this.buttonPause_Click); + // + // numericWriteOffset + // + resources.ApplyResources(this.numericWriteOffset, "numericWriteOffset"); + this.numericWriteOffset.Maximum = new decimal(new int[] { 99999, 0, 0, 0}); - this.numericWriteOffset.Minimum = new decimal(new int[] { + this.numericWriteOffset.Minimum = new decimal(new int[] { 99999, 0, 0, -2147483648}); - this.numericWriteOffset.Name = "numericWriteOffset"; - // - // lblWriteOffset - // - resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset"); - this.lblWriteOffset.Name = "lblWriteOffset"; - // - // checkBoxEACMode - // - resources.ApplyResources(this.checkBoxEACMode, "checkBoxEACMode"); - this.checkBoxEACMode.Name = "checkBoxEACMode"; - this.checkBoxEACMode.UseVisualStyleBackColor = true; - this.checkBoxEACMode.CheckedChanged += new System.EventHandler(this.checkBoxEACMode_CheckedChanged); - // - // groupBoxSettings - // - this.groupBoxSettings.Controls.Add(this.bnComboBoxLosslessOrNot); - this.groupBoxSettings.Controls.Add(this.bnComboBoxEncoder); - this.groupBoxSettings.Controls.Add(this.labelSecureMode); - this.groupBoxSettings.Controls.Add(this.bnComboBoxFormat); - this.groupBoxSettings.Controls.Add(this.labelEncoderMinMode); - this.groupBoxSettings.Controls.Add(this.bnComboBoxImage); - this.groupBoxSettings.Controls.Add(this.labelEncoderMaxMode); - this.groupBoxSettings.Controls.Add(this.labelEncoderMode); - this.groupBoxSettings.Controls.Add(this.trackBarEncoderMode); - this.groupBoxSettings.Controls.Add(this.trackBarSecureMode); - this.groupBoxSettings.Controls.Add(this.lblWriteOffset); - this.groupBoxSettings.Controls.Add(this.checkBoxEACMode); - this.groupBoxSettings.Controls.Add(this.numericWriteOffset); - resources.ApplyResources(this.groupBoxSettings, "groupBoxSettings"); - this.groupBoxSettings.Name = "groupBoxSettings"; - this.groupBoxSettings.TabStop = false; - // - // bnComboBoxLosslessOrNot - // - this.bnComboBoxLosslessOrNot.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxLosslessOrNot.DataSource = this.losslessOrNotBindingSource; - this.bnComboBoxLosslessOrNot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.bnComboBoxLosslessOrNot.ForeColor = System.Drawing.SystemColors.ControlText; - this.bnComboBoxLosslessOrNot.ImageKeyMember = "ImageKey"; - this.bnComboBoxLosslessOrNot.ImageList = null; - resources.ApplyResources(this.bnComboBoxLosslessOrNot, "bnComboBoxLosslessOrNot"); - this.bnComboBoxLosslessOrNot.MinimumSize = new System.Drawing.Size(40, 0); - this.bnComboBoxLosslessOrNot.Name = "bnComboBoxLosslessOrNot"; - rectRadius1.BottomLeft = 2; - rectRadius1.BottomRight = 2; - rectRadius1.TopLeft = 2; - rectRadius1.TopRight = 6; - this.bnComboBoxLosslessOrNot.Radius = rectRadius1; - this.bnComboBoxLosslessOrNot.SelectedValueChanged += new System.EventHandler(this.bnComboBoxLosslessOrNot_SelectedValueChanged); - // - // losslessOrNotBindingSource - // - this.losslessOrNotBindingSource.DataMember = "LosslessOrNot"; - this.losslessOrNotBindingSource.DataSource = this.bindingSourceCR; - // - // bindingSourceCR - // - this.bindingSourceCR.DataSource = typeof(CUERipper.CUERipperData); - // - // bnComboBoxEncoder - // - this.bnComboBoxEncoder.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxEncoder.DataSource = this.encodersBindingSource; - this.bnComboBoxEncoder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.bnComboBoxEncoder.ForeColor = System.Drawing.SystemColors.ControlText; - this.bnComboBoxEncoder.ImageList = null; - resources.ApplyResources(this.bnComboBoxEncoder, "bnComboBoxEncoder"); - this.bnComboBoxEncoder.MinimumSize = new System.Drawing.Size(40, 0); - this.bnComboBoxEncoder.Name = "bnComboBoxEncoder"; - rectRadius2.BottomLeft = 2; - rectRadius2.BottomRight = 2; - rectRadius2.TopLeft = 2; - rectRadius2.TopRight = 6; - this.bnComboBoxEncoder.Radius = rectRadius2; - this.bnComboBoxEncoder.SelectedValueChanged += new System.EventHandler(this.bnComboBoxEncoder_SelectedValueChanged); - // - // encodersBindingSource - // - this.encodersBindingSource.DataMember = "Encoders"; - this.encodersBindingSource.DataSource = this.bindingSourceCR; - // - // labelSecureMode - // - resources.ApplyResources(this.labelSecureMode, "labelSecureMode"); - this.labelSecureMode.Name = "labelSecureMode"; - // - // bnComboBoxFormat - // - this.bnComboBoxFormat.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxFormat.DataSource = this.formatsBindingSource; - this.bnComboBoxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.bnComboBoxFormat.ForeColor = System.Drawing.SystemColors.ControlText; - this.bnComboBoxFormat.ImageKeyMember = "DotExtension"; - this.bnComboBoxFormat.ImageList = null; - resources.ApplyResources(this.bnComboBoxFormat, "bnComboBoxFormat"); - this.bnComboBoxFormat.Name = "bnComboBoxFormat"; - rectRadius3.BottomLeft = 2; - rectRadius3.BottomRight = 2; - rectRadius3.TopLeft = 2; - rectRadius3.TopRight = 6; - this.bnComboBoxFormat.Radius = rectRadius3; - this.bnComboBoxFormat.SelectedValueChanged += new System.EventHandler(this.bnComboBoxFormat_SelectedValueChanged); - // - // formatsBindingSource - // - this.formatsBindingSource.DataMember = "Formats"; - this.formatsBindingSource.DataSource = this.bindingSourceCR; - // - // labelEncoderMinMode - // - resources.ApplyResources(this.labelEncoderMinMode, "labelEncoderMinMode"); - this.labelEncoderMinMode.Name = "labelEncoderMinMode"; - // - // bnComboBoxImage - // - this.bnComboBoxImage.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxImage.DataSource = this.cUEStylesBindingSource; - this.bnComboBoxImage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.bnComboBoxImage.ForeColor = System.Drawing.SystemColors.ControlText; - this.bnComboBoxImage.ImageList = null; - resources.ApplyResources(this.bnComboBoxImage, "bnComboBoxImage"); - this.bnComboBoxImage.MinimumSize = new System.Drawing.Size(40, 0); - this.bnComboBoxImage.Name = "bnComboBoxImage"; - rectRadius4.BottomLeft = 2; - rectRadius4.BottomRight = 2; - rectRadius4.TopLeft = 2; - rectRadius4.TopRight = 6; - this.bnComboBoxImage.Radius = rectRadius4; - // - // cUEStylesBindingSource - // - this.cUEStylesBindingSource.DataMember = "CUEStyles"; - this.cUEStylesBindingSource.DataSource = this.bindingSourceCR; - // - // labelEncoderMaxMode - // - resources.ApplyResources(this.labelEncoderMaxMode, "labelEncoderMaxMode"); - this.labelEncoderMaxMode.Name = "labelEncoderMaxMode"; - // - // labelEncoderMode - // - resources.ApplyResources(this.labelEncoderMode, "labelEncoderMode"); - this.labelEncoderMode.Name = "labelEncoderMode"; - // - // trackBarEncoderMode - // - resources.ApplyResources(this.trackBarEncoderMode, "trackBarEncoderMode"); - this.trackBarEncoderMode.LargeChange = 1; - this.trackBarEncoderMode.Name = "trackBarEncoderMode"; - this.trackBarEncoderMode.Scroll += new System.EventHandler(this.trackBarEncoderMode_Scroll); - // - // trackBarSecureMode - // - resources.ApplyResources(this.trackBarSecureMode, "trackBarSecureMode"); - this.trackBarSecureMode.LargeChange = 1; - this.trackBarSecureMode.Maximum = 2; - this.trackBarSecureMode.Name = "trackBarSecureMode"; - this.trackBarSecureMode.Scroll += new System.EventHandler(this.trackBarSecureMode_Scroll); - // - // drivesBindingSource - // - this.drivesBindingSource.DataMember = "Drives"; - this.drivesBindingSource.DataSource = this.bindingSourceCR; - // - // imageListChecked - // - this.imageListChecked.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListChecked.ImageStream"))); - this.imageListChecked.TransparentColor = System.Drawing.Color.Transparent; - this.imageListChecked.Images.SetKeyName(0, "checked"); - this.imageListChecked.Images.SetKeyName(1, "unchecked"); - this.imageListChecked.Images.SetKeyName(2, "disabled"); - this.imageListChecked.Images.SetKeyName(3, "mix"); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Image = global::CUERipper.Properties.Resources.cddb; - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1"); - // - // progressBarErrors - // - this.progressBarErrors.BackgroundPainter = this.plainBackgroundPainter1; - this.progressBarErrors.BorderPainter = this.styledBorderPainter1; - resources.ApplyResources(this.progressBarErrors, "progressBarErrors"); - this.progressBarErrors.MarqueePercentage = 25; - this.progressBarErrors.MarqueeSpeed = 30; - this.progressBarErrors.MarqueeStep = 1; - this.progressBarErrors.Maximum = 100; - this.progressBarErrors.Minimum = 0; - this.progressBarErrors.Name = "progressBarErrors"; - this.progressBarErrors.ProgressPadding = 0; - this.progressBarErrors.ProgressPainter = this.plainProgressPainter1; - this.progressBarErrors.ProgressType = ProgressODoom.ProgressType.Smooth; - this.progressBarErrors.ShowPercentage = false; - this.progressBarErrors.TabStop = false; - this.progressBarErrors.Value = 10; - // - // plainBackgroundPainter1 - // - this.plainBackgroundPainter1.Color = System.Drawing.SystemColors.Control; - this.plainBackgroundPainter1.GlossPainter = null; - // - // styledBorderPainter1 - // - this.styledBorderPainter1.Border3D = System.Windows.Forms.Border3DStyle.Etched; - // - // plainProgressPainter1 - // - this.plainProgressPainter1.Color = System.Drawing.Color.Red; - this.plainProgressPainter1.GlossPainter = this.gradientGlossPainter1; - this.plainProgressPainter1.LeadingEdge = System.Drawing.Color.Transparent; - this.plainProgressPainter1.ProgressBorderPainter = null; - // - // gradientGlossPainter1 - // - this.gradientGlossPainter1.AlphaHigh = 235; - this.gradientGlossPainter1.AlphaLow = 0; - this.gradientGlossPainter1.Angle = 90F; - this.gradientGlossPainter1.Color = System.Drawing.SystemColors.Control; - this.gradientGlossPainter1.PercentageCovered = 100; - this.gradientGlossPainter1.Style = ProgressODoom.GlossStyle.Top; - this.gradientGlossPainter1.Successor = null; - // - // progressBarCD - // - this.progressBarCD.BackgroundPainter = this.plainBackgroundPainter1; - this.progressBarCD.BorderPainter = this.styledBorderPainter1; - resources.ApplyResources(this.progressBarCD, "progressBarCD"); - this.progressBarCD.MarqueePercentage = 25; - this.progressBarCD.MarqueeSpeed = 30; - this.progressBarCD.MarqueeStep = 1; - this.progressBarCD.Maximum = 100; - this.progressBarCD.Minimum = 0; - this.progressBarCD.Name = "progressBarCD"; - this.progressBarCD.ProgressPadding = 0; - this.progressBarCD.ProgressPainter = this.plainProgressPainter2; - this.progressBarCD.ProgressType = ProgressODoom.ProgressType.Smooth; - this.progressBarCD.ShowPercentage = true; - this.progressBarCD.TabStop = false; - this.progressBarCD.Value = 10; - // - // plainProgressPainter2 - // - this.plainProgressPainter2.Color = System.Drawing.Color.Lime; - this.plainProgressPainter2.GlossPainter = this.gradientGlossPainter1; - this.plainProgressPainter2.LeadingEdge = System.Drawing.Color.Transparent; - this.plainProgressPainter2.ProgressBorderPainter = null; - // - // txtOutputPath - // - resources.ApplyResources(this.txtOutputPath, "txtOutputPath"); - this.txtOutputPath.Name = "txtOutputPath"; - this.txtOutputPath.ReadOnly = true; - this.toolTip1.SetToolTip(this.txtOutputPath, resources.GetString("txtOutputPath.ToolTip")); - this.txtOutputPath.Enter += new System.EventHandler(this.txtOutputPath_Enter); - // - // bnComboBoxRelease - // - this.bnComboBoxRelease.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxRelease.DataSource = this.releasesBindingSource; - this.bnComboBoxRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.bnComboBoxRelease.ForeColor = System.Drawing.SystemColors.ControlText; - this.bnComboBoxRelease.ImageKeyMember = "ImageKey"; - this.bnComboBoxRelease.ImageList = this.imageListMetadataSource; - resources.ApplyResources(this.bnComboBoxRelease, "bnComboBoxRelease"); - this.bnComboBoxRelease.MinimumSize = new System.Drawing.Size(61, 0); - this.bnComboBoxRelease.Name = "bnComboBoxRelease"; - rectRadius5.BottomLeft = 2; - rectRadius5.BottomRight = 2; - rectRadius5.TopLeft = 2; - rectRadius5.TopRight = 6; - this.bnComboBoxRelease.Radius = rectRadius5; - this.bnComboBoxRelease.SelectedValueChanged += new System.EventHandler(this.bnComboBoxRelease_SelectedValueChanged); - // - // releasesBindingSource - // - this.releasesBindingSource.DataMember = "Releases"; - this.releasesBindingSource.DataSource = this.bindingSourceCR; - // - // imageListMetadataSource - // - this.imageListMetadataSource.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListMetadataSource.ImageStream"))); - this.imageListMetadataSource.TransparentColor = System.Drawing.Color.Transparent; - this.imageListMetadataSource.Images.SetKeyName(0, "musicbrainz"); - this.imageListMetadataSource.Images.SetKeyName(1, "freedb"); - this.imageListMetadataSource.Images.SetKeyName(2, "local"); - this.imageListMetadataSource.Images.SetKeyName(3, "localshadow"); - this.imageListMetadataSource.Images.SetKeyName(4, "tracks"); - this.imageListMetadataSource.Images.SetKeyName(5, "tracks1"); - this.imageListMetadataSource.Images.SetKeyName(6, "album"); - this.imageListMetadataSource.Images.SetKeyName(7, "track"); - this.imageListMetadataSource.Images.SetKeyName(8, "ctdb"); - // - // bnComboBoxDrives - // - this.bnComboBoxDrives.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxDrives.DataSource = this.drivesBindingSource; - this.bnComboBoxDrives.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.bnComboBoxDrives.ForeColor = System.Drawing.SystemColors.ControlText; - this.bnComboBoxDrives.ImageKeyMember = "ImageKey"; - this.bnComboBoxDrives.ImageList = this.imageListMetadataSource; - resources.ApplyResources(this.bnComboBoxDrives, "bnComboBoxDrives"); - this.bnComboBoxDrives.MinimumSize = new System.Drawing.Size(61, 0); - this.bnComboBoxDrives.Name = "bnComboBoxDrives"; - rectRadius6.BottomLeft = 2; - rectRadius6.BottomRight = 2; - rectRadius6.TopLeft = 2; - rectRadius6.TopRight = 6; - this.bnComboBoxDrives.Radius = rectRadius6; - this.bnComboBoxDrives.SelectedIndexChanged += new System.EventHandler(this.bnComboBoxDrives_SelectedIndexChanged); - // - // bnComboBoxOutputFormat - // - this.bnComboBoxOutputFormat.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.bnComboBoxOutputFormat.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; - this.bnComboBoxOutputFormat.BackColor = System.Drawing.Color.Transparent; - this.bnComboBoxOutputFormat.ImageList = null; - resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat"); - this.bnComboBoxOutputFormat.MinimumSize = new System.Drawing.Size(40, 0); - this.bnComboBoxOutputFormat.Name = "bnComboBoxOutputFormat"; - rectRadius7.BottomLeft = 2; - rectRadius7.BottomRight = 2; - rectRadius7.TopLeft = 2; - rectRadius7.TopRight = 6; - this.bnComboBoxOutputFormat.Radius = rectRadius7; - this.bnComboBoxOutputFormat.TabStop = false; - this.bnComboBoxOutputFormat.Leave += new System.EventHandler(this.bnComboBoxOutputFormat_Leave); - this.bnComboBoxOutputFormat.MouseLeave += new System.EventHandler(this.bnComboBoxOutputFormat_MouseLeave); - this.bnComboBoxOutputFormat.DropDown += new System.EventHandler(this.bnComboBoxOutputFormat_DroppedDown); - this.bnComboBoxOutputFormat.TextChanged += new System.EventHandler(this.bnComboBoxOutputFormat_TextChanged); - // - // listMetadata - // - this.listMetadata.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.numericWriteOffset.Name = "numericWriteOffset"; + // + // lblWriteOffset + // + resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset"); + this.lblWriteOffset.Name = "lblWriteOffset"; + // + // checkBoxEACMode + // + resources.ApplyResources(this.checkBoxEACMode, "checkBoxEACMode"); + this.checkBoxEACMode.Name = "checkBoxEACMode"; + this.checkBoxEACMode.UseVisualStyleBackColor = true; + this.checkBoxEACMode.CheckedChanged += new System.EventHandler(this.checkBoxEACMode_CheckedChanged); + // + // groupBoxSettings + // + this.groupBoxSettings.Controls.Add(this.bnComboBoxLosslessOrNot); + this.groupBoxSettings.Controls.Add(this.bnComboBoxEncoder); + this.groupBoxSettings.Controls.Add(this.labelSecureMode); + this.groupBoxSettings.Controls.Add(this.bnComboBoxFormat); + this.groupBoxSettings.Controls.Add(this.labelEncoderMinMode); + this.groupBoxSettings.Controls.Add(this.bnComboBoxImage); + this.groupBoxSettings.Controls.Add(this.labelEncoderMaxMode); + this.groupBoxSettings.Controls.Add(this.labelEncoderMode); + this.groupBoxSettings.Controls.Add(this.trackBarEncoderMode); + this.groupBoxSettings.Controls.Add(this.trackBarSecureMode); + this.groupBoxSettings.Controls.Add(this.lblWriteOffset); + this.groupBoxSettings.Controls.Add(this.checkBoxEACMode); + this.groupBoxSettings.Controls.Add(this.numericWriteOffset); + resources.ApplyResources(this.groupBoxSettings, "groupBoxSettings"); + this.groupBoxSettings.Name = "groupBoxSettings"; + this.groupBoxSettings.TabStop = false; + // + // bnComboBoxLosslessOrNot + // + this.bnComboBoxLosslessOrNot.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxLosslessOrNot.DataSource = this.losslessOrNotBindingSource; + this.bnComboBoxLosslessOrNot.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.bnComboBoxLosslessOrNot.ForeColor = System.Drawing.SystemColors.ControlText; + this.bnComboBoxLosslessOrNot.ImageKeyMember = "ImageKey"; + this.bnComboBoxLosslessOrNot.ImageList = null; + resources.ApplyResources(this.bnComboBoxLosslessOrNot, "bnComboBoxLosslessOrNot"); + this.bnComboBoxLosslessOrNot.MinimumSize = new System.Drawing.Size(40, 0); + this.bnComboBoxLosslessOrNot.Name = "bnComboBoxLosslessOrNot"; + rectRadius1.BottomLeft = 2; + rectRadius1.BottomRight = 2; + rectRadius1.TopLeft = 2; + rectRadius1.TopRight = 6; + this.bnComboBoxLosslessOrNot.Radius = rectRadius1; + this.bnComboBoxLosslessOrNot.SelectedValueChanged += new System.EventHandler(this.bnComboBoxLosslessOrNot_SelectedValueChanged); + // + // losslessOrNotBindingSource + // + this.losslessOrNotBindingSource.DataMember = "LosslessOrNot"; + this.losslessOrNotBindingSource.DataSource = this.bindingSourceCR; + // + // bindingSourceCR + // + this.bindingSourceCR.DataSource = typeof(CUERipper.CUERipperData); + // + // bnComboBoxEncoder + // + this.bnComboBoxEncoder.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxEncoder.DataSource = this.encodersBindingSource; + this.bnComboBoxEncoder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.bnComboBoxEncoder.ForeColor = System.Drawing.SystemColors.ControlText; + this.bnComboBoxEncoder.ImageList = null; + resources.ApplyResources(this.bnComboBoxEncoder, "bnComboBoxEncoder"); + this.bnComboBoxEncoder.MinimumSize = new System.Drawing.Size(40, 0); + this.bnComboBoxEncoder.Name = "bnComboBoxEncoder"; + rectRadius2.BottomLeft = 2; + rectRadius2.BottomRight = 2; + rectRadius2.TopLeft = 2; + rectRadius2.TopRight = 6; + this.bnComboBoxEncoder.Radius = rectRadius2; + this.bnComboBoxEncoder.SelectedValueChanged += new System.EventHandler(this.bnComboBoxEncoder_SelectedValueChanged); + // + // encodersBindingSource + // + this.encodersBindingSource.DataMember = "Encoders"; + this.encodersBindingSource.DataSource = this.bindingSourceCR; + // + // labelSecureMode + // + resources.ApplyResources(this.labelSecureMode, "labelSecureMode"); + this.labelSecureMode.Name = "labelSecureMode"; + // + // bnComboBoxFormat + // + this.bnComboBoxFormat.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxFormat.DataSource = this.formatsBindingSource; + this.bnComboBoxFormat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.bnComboBoxFormat.ForeColor = System.Drawing.SystemColors.ControlText; + this.bnComboBoxFormat.ImageKeyMember = "DotExtension"; + this.bnComboBoxFormat.ImageList = null; + resources.ApplyResources(this.bnComboBoxFormat, "bnComboBoxFormat"); + this.bnComboBoxFormat.Name = "bnComboBoxFormat"; + rectRadius3.BottomLeft = 2; + rectRadius3.BottomRight = 2; + rectRadius3.TopLeft = 2; + rectRadius3.TopRight = 6; + this.bnComboBoxFormat.Radius = rectRadius3; + this.bnComboBoxFormat.SelectedValueChanged += new System.EventHandler(this.bnComboBoxFormat_SelectedValueChanged); + // + // formatsBindingSource + // + this.formatsBindingSource.DataMember = "Formats"; + this.formatsBindingSource.DataSource = this.bindingSourceCR; + // + // labelEncoderMinMode + // + resources.ApplyResources(this.labelEncoderMinMode, "labelEncoderMinMode"); + this.labelEncoderMinMode.Name = "labelEncoderMinMode"; + // + // bnComboBoxImage + // + this.bnComboBoxImage.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxImage.DataSource = this.cUEStylesBindingSource; + this.bnComboBoxImage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.bnComboBoxImage.ForeColor = System.Drawing.SystemColors.ControlText; + this.bnComboBoxImage.ImageList = null; + resources.ApplyResources(this.bnComboBoxImage, "bnComboBoxImage"); + this.bnComboBoxImage.MinimumSize = new System.Drawing.Size(40, 0); + this.bnComboBoxImage.Name = "bnComboBoxImage"; + rectRadius4.BottomLeft = 2; + rectRadius4.BottomRight = 2; + rectRadius4.TopLeft = 2; + rectRadius4.TopRight = 6; + this.bnComboBoxImage.Radius = rectRadius4; + // + // cUEStylesBindingSource + // + this.cUEStylesBindingSource.DataMember = "CUEStyles"; + this.cUEStylesBindingSource.DataSource = this.bindingSourceCR; + // + // labelEncoderMaxMode + // + resources.ApplyResources(this.labelEncoderMaxMode, "labelEncoderMaxMode"); + this.labelEncoderMaxMode.Name = "labelEncoderMaxMode"; + // + // labelEncoderMode + // + resources.ApplyResources(this.labelEncoderMode, "labelEncoderMode"); + this.labelEncoderMode.Name = "labelEncoderMode"; + // + // trackBarEncoderMode + // + resources.ApplyResources(this.trackBarEncoderMode, "trackBarEncoderMode"); + this.trackBarEncoderMode.LargeChange = 1; + this.trackBarEncoderMode.Name = "trackBarEncoderMode"; + this.trackBarEncoderMode.Scroll += new System.EventHandler(this.trackBarEncoderMode_Scroll); + // + // trackBarSecureMode + // + resources.ApplyResources(this.trackBarSecureMode, "trackBarSecureMode"); + this.trackBarSecureMode.LargeChange = 1; + this.trackBarSecureMode.Maximum = 2; + this.trackBarSecureMode.Name = "trackBarSecureMode"; + this.trackBarSecureMode.Scroll += new System.EventHandler(this.trackBarSecureMode_Scroll); + // + // drivesBindingSource + // + this.drivesBindingSource.DataMember = "Drives"; + this.drivesBindingSource.DataSource = this.bindingSourceCR; + // + // imageListChecked + // + this.imageListChecked.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListChecked.ImageStream"))); + this.imageListChecked.TransparentColor = System.Drawing.Color.Transparent; + this.imageListChecked.Images.SetKeyName(0, "checked"); + this.imageListChecked.Images.SetKeyName(1, "unchecked"); + this.imageListChecked.Images.SetKeyName(2, "disabled"); + this.imageListChecked.Images.SetKeyName(3, "mix"); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Image = global::CUERipper.Properties.Resources.cddb; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1"); + // + // progressBarErrors + // + this.progressBarErrors.BackgroundPainter = this.plainBackgroundPainter1; + this.progressBarErrors.BorderPainter = this.styledBorderPainter1; + resources.ApplyResources(this.progressBarErrors, "progressBarErrors"); + this.progressBarErrors.MarqueePercentage = 25; + this.progressBarErrors.MarqueeSpeed = 30; + this.progressBarErrors.MarqueeStep = 1; + this.progressBarErrors.Maximum = 100; + this.progressBarErrors.Minimum = 0; + this.progressBarErrors.Name = "progressBarErrors"; + this.progressBarErrors.ProgressPadding = 0; + this.progressBarErrors.ProgressPainter = this.plainProgressPainter1; + this.progressBarErrors.ProgressType = ProgressODoom.ProgressType.Smooth; + this.progressBarErrors.ShowPercentage = false; + this.progressBarErrors.TabStop = false; + this.progressBarErrors.Value = 10; + // + // plainBackgroundPainter1 + // + this.plainBackgroundPainter1.Color = System.Drawing.SystemColors.Control; + this.plainBackgroundPainter1.GlossPainter = null; + // + // styledBorderPainter1 + // + this.styledBorderPainter1.Border3D = System.Windows.Forms.Border3DStyle.Etched; + // + // plainProgressPainter1 + // + this.plainProgressPainter1.Color = System.Drawing.Color.Red; + this.plainProgressPainter1.GlossPainter = this.gradientGlossPainter1; + this.plainProgressPainter1.LeadingEdge = System.Drawing.Color.Transparent; + this.plainProgressPainter1.ProgressBorderPainter = null; + // + // gradientGlossPainter1 + // + this.gradientGlossPainter1.AlphaHigh = 235; + this.gradientGlossPainter1.AlphaLow = 0; + this.gradientGlossPainter1.Angle = 90F; + this.gradientGlossPainter1.Color = System.Drawing.SystemColors.Control; + this.gradientGlossPainter1.PercentageCovered = 100; + this.gradientGlossPainter1.Style = ProgressODoom.GlossStyle.Top; + this.gradientGlossPainter1.Successor = null; + // + // progressBarCD + // + this.progressBarCD.BackgroundPainter = this.plainBackgroundPainter1; + this.progressBarCD.BorderPainter = this.styledBorderPainter1; + resources.ApplyResources(this.progressBarCD, "progressBarCD"); + this.progressBarCD.MarqueePercentage = 25; + this.progressBarCD.MarqueeSpeed = 30; + this.progressBarCD.MarqueeStep = 1; + this.progressBarCD.Maximum = 100; + this.progressBarCD.Minimum = 0; + this.progressBarCD.Name = "progressBarCD"; + this.progressBarCD.ProgressPadding = 0; + this.progressBarCD.ProgressPainter = this.plainProgressPainter2; + this.progressBarCD.ProgressType = ProgressODoom.ProgressType.Smooth; + this.progressBarCD.ShowPercentage = true; + this.progressBarCD.TabStop = false; + this.progressBarCD.Value = 10; + // + // plainProgressPainter2 + // + this.plainProgressPainter2.Color = System.Drawing.Color.Lime; + this.plainProgressPainter2.GlossPainter = this.gradientGlossPainter1; + this.plainProgressPainter2.LeadingEdge = System.Drawing.Color.Transparent; + this.plainProgressPainter2.ProgressBorderPainter = null; + // + // txtOutputPath + // + resources.ApplyResources(this.txtOutputPath, "txtOutputPath"); + this.txtOutputPath.Name = "txtOutputPath"; + this.txtOutputPath.ReadOnly = true; + this.toolTip1.SetToolTip(this.txtOutputPath, resources.GetString("txtOutputPath.ToolTip")); + this.txtOutputPath.Enter += new System.EventHandler(this.txtOutputPath_Enter); + // + // bnComboBoxRelease + // + resources.ApplyResources(this.bnComboBoxRelease, "bnComboBoxRelease"); + this.bnComboBoxRelease.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxRelease.DataSource = this.releasesBindingSource; + this.bnComboBoxRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.bnComboBoxRelease.ForeColor = System.Drawing.SystemColors.ControlText; + this.bnComboBoxRelease.ImageKeyMember = "ImageKey"; + this.bnComboBoxRelease.ImageList = this.imageListMetadataSource; + this.bnComboBoxRelease.MinimumSize = new System.Drawing.Size(61, 0); + this.bnComboBoxRelease.Name = "bnComboBoxRelease"; + rectRadius5.BottomLeft = 2; + rectRadius5.BottomRight = 2; + rectRadius5.TopLeft = 2; + rectRadius5.TopRight = 6; + this.bnComboBoxRelease.Radius = rectRadius5; + this.bnComboBoxRelease.SelectedValueChanged += new System.EventHandler(this.bnComboBoxRelease_SelectedValueChanged); + // + // releasesBindingSource + // + this.releasesBindingSource.DataMember = "Releases"; + this.releasesBindingSource.DataSource = this.bindingSourceCR; + // + // imageListMetadataSource + // + this.imageListMetadataSource.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListMetadataSource.ImageStream"))); + this.imageListMetadataSource.TransparentColor = System.Drawing.Color.Transparent; + this.imageListMetadataSource.Images.SetKeyName(0, "musicbrainz"); + this.imageListMetadataSource.Images.SetKeyName(1, "freedb"); + this.imageListMetadataSource.Images.SetKeyName(2, "local"); + this.imageListMetadataSource.Images.SetKeyName(3, "localshadow"); + this.imageListMetadataSource.Images.SetKeyName(4, "tracks"); + this.imageListMetadataSource.Images.SetKeyName(5, "tracks1"); + this.imageListMetadataSource.Images.SetKeyName(6, "album"); + this.imageListMetadataSource.Images.SetKeyName(7, "track"); + this.imageListMetadataSource.Images.SetKeyName(8, "ctdb"); + this.imageListMetadataSource.Images.SetKeyName(9, "discogs"); + // + // bnComboBoxDrives + // + resources.ApplyResources(this.bnComboBoxDrives, "bnComboBoxDrives"); + this.bnComboBoxDrives.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxDrives.DataSource = this.drivesBindingSource; + this.bnComboBoxDrives.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.bnComboBoxDrives.ForeColor = System.Drawing.SystemColors.ControlText; + this.bnComboBoxDrives.ImageKeyMember = "ImageKey"; + this.bnComboBoxDrives.ImageList = this.imageListMetadataSource; + this.bnComboBoxDrives.MinimumSize = new System.Drawing.Size(61, 0); + this.bnComboBoxDrives.Name = "bnComboBoxDrives"; + rectRadius6.BottomLeft = 2; + rectRadius6.BottomRight = 2; + rectRadius6.TopLeft = 2; + rectRadius6.TopRight = 6; + this.bnComboBoxDrives.Radius = rectRadius6; + this.bnComboBoxDrives.SelectedIndexChanged += new System.EventHandler(this.bnComboBoxDrives_SelectedIndexChanged); + // + // bnComboBoxOutputFormat + // + resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat"); + this.bnComboBoxOutputFormat.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.bnComboBoxOutputFormat.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.bnComboBoxOutputFormat.BackColor = System.Drawing.Color.Transparent; + this.bnComboBoxOutputFormat.ImageList = null; + this.bnComboBoxOutputFormat.MinimumSize = new System.Drawing.Size(40, 0); + this.bnComboBoxOutputFormat.Name = "bnComboBoxOutputFormat"; + rectRadius7.BottomLeft = 2; + rectRadius7.BottomRight = 2; + rectRadius7.TopLeft = 2; + rectRadius7.TopRight = 6; + this.bnComboBoxOutputFormat.Radius = rectRadius7; + this.bnComboBoxOutputFormat.TabStop = false; + this.bnComboBoxOutputFormat.DropDown += new System.EventHandler(this.bnComboBoxOutputFormat_DroppedDown); + this.bnComboBoxOutputFormat.TextChanged += new System.EventHandler(this.bnComboBoxOutputFormat_TextChanged); + this.bnComboBoxOutputFormat.Leave += new System.EventHandler(this.bnComboBoxOutputFormat_Leave); + this.bnComboBoxOutputFormat.MouseLeave += new System.EventHandler(this.bnComboBoxOutputFormat_MouseLeave); + // + // listMetadata + // + resources.ApplyResources(this.listMetadata, "listMetadata"); + this.listMetadata.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeaderValue, this.columnHeaderName}); - this.listMetadata.FullRowSelect = true; - this.listMetadata.GridLines = true; - this.listMetadata.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; - this.listMetadata.LabelEdit = true; - resources.ApplyResources(this.listMetadata, "listMetadata"); - this.listMetadata.Name = "listMetadata"; - this.listMetadata.UseCompatibleStateImageBehavior = false; - this.listMetadata.View = System.Windows.Forms.View.Details; - this.listMetadata.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listMetadata_AfterLabelEdit); - this.listMetadata.BeforeLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listMetadata_BeforeLabelEdit); - this.listMetadata.Click += new System.EventHandler(this.listMetadata_Click); - // - // columnHeaderValue - // - resources.ApplyResources(this.columnHeaderValue, "columnHeaderValue"); - // - // columnHeaderName - // - resources.ApplyResources(this.columnHeaderName, "columnHeaderName"); - // - // buttonTrackMetadata - // - this.buttonTrackMetadata.BackColor = System.Drawing.Color.Transparent; - this.buttonTrackMetadata.FlatAppearance.BorderSize = 0; - this.buttonTrackMetadata.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control; - this.buttonTrackMetadata.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent; - resources.ApplyResources(this.buttonTrackMetadata, "buttonTrackMetadata"); - this.buttonTrackMetadata.ForeColor = System.Drawing.SystemColors.ControlText; - this.buttonTrackMetadata.ImageList = this.imageListChecked; - this.buttonTrackMetadata.Name = "buttonTrackMetadata"; - this.buttonTrackMetadata.UseVisualStyleBackColor = false; - // - // buttonMetadata - // - this.buttonMetadata.Image = global::CUERipper.Properties.Resources.tag_label; - resources.ApplyResources(this.buttonMetadata, "buttonMetadata"); - this.buttonMetadata.Name = "buttonMetadata"; - this.buttonMetadata.UseVisualStyleBackColor = true; - this.buttonMetadata.Click += new System.EventHandler(this.buttonMetadata_Click); - // - // buttonVA - // - this.buttonVA.Image = global::CUERipper.Properties.Resources.users__arrow; - resources.ApplyResources(this.buttonVA, "buttonVA"); - this.buttonVA.Name = "buttonVA"; - this.buttonVA.UseVisualStyleBackColor = true; - this.buttonVA.Click += new System.EventHandler(this.buttonVA_Click); - // - // buttonReload - // - this.buttonReload.Image = global::CUERipper.Properties.Resources.arrow_circle_double; - resources.ApplyResources(this.buttonReload, "buttonReload"); - this.buttonReload.Name = "buttonReload"; - this.buttonReload.UseVisualStyleBackColor = true; - this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click); - // - // buttonEncoding - // - this.buttonEncoding.Image = global::CUERipper.Properties.Resources.spellcheck; - resources.ApplyResources(this.buttonEncoding, "buttonEncoding"); - this.buttonEncoding.Name = "buttonEncoding"; - this.buttonEncoding.UseVisualStyleBackColor = true; - this.buttonEncoding.Click += new System.EventHandler(this.buttonEncoding_Click); - // - // buttonTracks - // - this.buttonTracks.Image = global::CUERipper.Properties.Resources.edit_list_order; - resources.ApplyResources(this.buttonTracks, "buttonTracks"); - this.buttonTracks.Name = "buttonTracks"; - this.buttonTracks.UseVisualStyleBackColor = true; - this.buttonTracks.Click += new System.EventHandler(this.buttonTracks_Click); - // - // buttonFreedbSubmit - // - this.buttonFreedbSubmit.Image = global::CUERipper.Properties.Resources.freedb16; - resources.ApplyResources(this.buttonFreedbSubmit, "buttonFreedbSubmit"); - this.buttonFreedbSubmit.Name = "buttonFreedbSubmit"; - this.buttonFreedbSubmit.UseVisualStyleBackColor = true; - this.buttonFreedbSubmit.Click += new System.EventHandler(this.buttonFreedbSubmit_Click); - // - // frmCUERipper - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.buttonFreedbSubmit); - this.Controls.Add(this.buttonTracks); - this.Controls.Add(this.buttonEncoding); - this.Controls.Add(this.buttonMetadata); - this.Controls.Add(this.buttonReload); - this.Controls.Add(this.buttonTrackMetadata); - this.Controls.Add(this.buttonVA); - this.Controls.Add(this.bnComboBoxRelease); - this.Controls.Add(this.bnComboBoxDrives); - this.Controls.Add(this.progressBarErrors); - this.Controls.Add(this.bnComboBoxOutputFormat); - this.Controls.Add(this.progressBarCD); - this.Controls.Add(this.groupBoxSettings); - this.Controls.Add(this.listTracks); - this.Controls.Add(this.buttonGo); - this.Controls.Add(this.statusStrip1); - this.Controls.Add(this.buttonAbort); - this.Controls.Add(this.buttonPause); - this.Controls.Add(this.listMetadata); - this.Controls.Add(this.txtOutputPath); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.KeyPreview = true; - this.MaximizeBox = false; - this.Name = "frmCUERipper"; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - 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); - this.statusStrip1.ResumeLayout(false); - this.statusStrip1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).EndInit(); - this.groupBoxSettings.ResumeLayout(false); - this.groupBoxSettings.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.losslessOrNotBindingSource)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bindingSourceCR)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.encodersBindingSource)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.formatsBindingSource)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.cUEStylesBindingSource)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.trackBarSecureMode)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.drivesBindingSource)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.releasesBindingSource)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); + this.listMetadata.FullRowSelect = true; + this.listMetadata.GridLines = true; + this.listMetadata.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.listMetadata.LabelEdit = true; + this.listMetadata.Name = "listMetadata"; + this.listMetadata.UseCompatibleStateImageBehavior = false; + this.listMetadata.View = System.Windows.Forms.View.Details; + this.listMetadata.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listMetadata_AfterLabelEdit); + this.listMetadata.BeforeLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listMetadata_BeforeLabelEdit); + this.listMetadata.Click += new System.EventHandler(this.listMetadata_Click); + // + // columnHeaderValue + // + resources.ApplyResources(this.columnHeaderValue, "columnHeaderValue"); + // + // columnHeaderName + // + resources.ApplyResources(this.columnHeaderName, "columnHeaderName"); + // + // buttonTrackMetadata + // + this.buttonTrackMetadata.BackColor = System.Drawing.Color.Transparent; + this.buttonTrackMetadata.FlatAppearance.BorderSize = 0; + this.buttonTrackMetadata.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control; + this.buttonTrackMetadata.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent; + resources.ApplyResources(this.buttonTrackMetadata, "buttonTrackMetadata"); + this.buttonTrackMetadata.ForeColor = System.Drawing.SystemColors.ControlText; + this.buttonTrackMetadata.ImageList = this.imageListChecked; + this.buttonTrackMetadata.Name = "buttonTrackMetadata"; + this.buttonTrackMetadata.UseVisualStyleBackColor = false; + // + // buttonMetadata + // + this.buttonMetadata.Image = global::CUERipper.Properties.Resources.tag_label; + resources.ApplyResources(this.buttonMetadata, "buttonMetadata"); + this.buttonMetadata.Name = "buttonMetadata"; + this.buttonMetadata.UseVisualStyleBackColor = true; + this.buttonMetadata.Click += new System.EventHandler(this.buttonMetadata_Click); + // + // buttonVA + // + this.buttonVA.Image = global::CUERipper.Properties.Resources.users__arrow; + resources.ApplyResources(this.buttonVA, "buttonVA"); + this.buttonVA.Name = "buttonVA"; + this.buttonVA.UseVisualStyleBackColor = true; + this.buttonVA.Click += new System.EventHandler(this.buttonVA_Click); + // + // buttonReload + // + this.buttonReload.Image = global::CUERipper.Properties.Resources.arrow_circle_double; + resources.ApplyResources(this.buttonReload, "buttonReload"); + this.buttonReload.Name = "buttonReload"; + this.buttonReload.UseVisualStyleBackColor = true; + this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click); + // + // buttonEncoding + // + this.buttonEncoding.Image = global::CUERipper.Properties.Resources.spellcheck; + resources.ApplyResources(this.buttonEncoding, "buttonEncoding"); + this.buttonEncoding.Name = "buttonEncoding"; + this.buttonEncoding.UseVisualStyleBackColor = true; + this.buttonEncoding.Click += new System.EventHandler(this.buttonEncoding_Click); + // + // buttonTracks + // + this.buttonTracks.Image = global::CUERipper.Properties.Resources.edit_list_order; + resources.ApplyResources(this.buttonTracks, "buttonTracks"); + this.buttonTracks.Name = "buttonTracks"; + this.buttonTracks.UseVisualStyleBackColor = true; + this.buttonTracks.Click += new System.EventHandler(this.buttonTracks_Click); + // + // buttonFreedbSubmit + // + this.buttonFreedbSubmit.Image = global::CUERipper.Properties.Resources.freedb16; + resources.ApplyResources(this.buttonFreedbSubmit, "buttonFreedbSubmit"); + this.buttonFreedbSubmit.Name = "buttonFreedbSubmit"; + this.buttonFreedbSubmit.UseVisualStyleBackColor = true; + this.buttonFreedbSubmit.Click += new System.EventHandler(this.buttonFreedbSubmit_Click); + // + // panel1 + // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Controls.Add(this.buttonGo); + this.panel1.Controls.Add(this.buttonPause); + this.panel1.Controls.Add(this.buttonAbort); + this.panel1.Controls.Add(this.progressBarCD); + this.panel1.Controls.Add(this.progressBarErrors); + this.panel1.Name = "panel1"; + // + // pictureBox1 + // + resources.ApplyResources(this.pictureBox1, "pictureBox1"); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.TabStop = false; + this.pictureBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseClick); + // + // backgroundWorkerArtwork + // + this.backgroundWorkerArtwork.WorkerReportsProgress = true; + this.backgroundWorkerArtwork.WorkerSupportsCancellation = true; + this.backgroundWorkerArtwork.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerArtwork_DoWork); + this.backgroundWorkerArtwork.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorkerArtwork_ProgressChanged); + this.backgroundWorkerArtwork.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorkerArtwork_RunWorkerCompleted); + // + // frmCUERipper + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.panel1); + this.Controls.Add(this.buttonFreedbSubmit); + this.Controls.Add(this.buttonTracks); + this.Controls.Add(this.buttonEncoding); + this.Controls.Add(this.buttonMetadata); + this.Controls.Add(this.buttonReload); + this.Controls.Add(this.buttonTrackMetadata); + this.Controls.Add(this.buttonVA); + this.Controls.Add(this.bnComboBoxRelease); + this.Controls.Add(this.bnComboBoxDrives); + this.Controls.Add(this.bnComboBoxOutputFormat); + this.Controls.Add(this.groupBoxSettings); + this.Controls.Add(this.listTracks); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.txtOutputPath); + this.Controls.Add(this.listMetadata); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.KeyPreview = true; + this.MaximizeBox = false; + this.Name = "frmCUERipper"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmCUERipper_FormClosed); + this.Load += new System.EventHandler(this.frmCUERipper_Load); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmCUERipper_KeyDown); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).EndInit(); + this.groupBoxSettings.ResumeLayout(false); + this.groupBoxSettings.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.losslessOrNotBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingSourceCR)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.encodersBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.formatsBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cUEStylesBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarEncoderMode)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.trackBarSecureMode)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.drivesBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.releasesBindingSource)).EndInit(); + this.panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -788,6 +818,9 @@ namespace CUERipper private System.Windows.Forms.Button buttonTracks; private System.Windows.Forms.ColumnHeader columnHeaderArtist; private System.Windows.Forms.Button buttonFreedbSubmit; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.ComponentModel.BackgroundWorker backgroundWorkerArtwork; } } diff --git a/CUERipper/frmCUERipper.cs b/CUERipper/frmCUERipper.cs index ccc5c2f..3a1d733 100644 --- a/CUERipper/frmCUERipper.cs +++ b/CUERipper/frmCUERipper.cs @@ -255,7 +255,8 @@ namespace CUERipper listTracks.Items.Clear(); data.Releases.Clear(); data.selectedRelease = null; - selectedDriveInfo = null; + ResetAlbumArt(); + selectedDriveInfo = null; bnComboBoxRelease.Text = ""; if (CUEProcessorPlugins.ripper == null) @@ -320,7 +321,11 @@ namespace CUERipper Monitor.Wait(_startStop); } } - } + if (backgroundWorkerArtwork.IsBusy && backgroundWorkerArtwork.CancellationPending) + { + throw new StopException(); + } + } private void UploadProgress(object sender, Krystalware.UploadHelper.UploadProgressEventArgs e) { @@ -441,6 +446,13 @@ namespace CUERipper bnComboBoxOutputFormat.Items.RemoveAt(OutputPathUseTemplates.Length + 10); } + if (currentAlbumArt < albumArt.Count) + { + data.selectedRelease.metadata.AlbumArt.Clear(); + data.selectedRelease.metadata.AlbumArt.Add(albumArt[currentAlbumArt].meta); + cueSheet.AddAlbumArt(albumArt[currentAlbumArt].contents); + } + data.selectedRelease.metadata.Save(); cueSheet.CopyMetadata(data.selectedRelease.metadata); @@ -491,12 +503,12 @@ namespace CUERipper bool various = data.selectedRelease.metadata.IsVarious(); if (various) { - Title.Width = 235; + Title.Width = 300; columnHeaderArtist.Width = 120; } else { - Title.Width = 235 + 120; + Title.Width = 300 + 120; columnHeaderArtist.Width = 0; } for (int i = 1; i <= selectedDriveInfo.drive.TOC.TrackCount; i++) @@ -526,7 +538,7 @@ namespace CUERipper PropertyDescriptorCollection props = TypeDescriptor.GetProperties(data.selectedRelease.metadata); PropertyDescriptorCollection sortedprops = props.Sort(new string[] { "Artist", "Title", "Genre", "Year", "DiscNumber", "TotalDiscs" }); foreach (PropertyDescriptor p in sortedprops) - if (p.Name != "Tracks" && p.Name != "Id" && !p.Attributes.Contains(new System.Xml.Serialization.XmlIgnoreAttribute())) + if (p.Name != "Tracks" && p.Name != "AlbumArt" && p.Name != "Id" && !p.Attributes.Contains(new System.Xml.Serialization.XmlIgnoreAttribute())) listMetadata.Items.Add(new ListViewItem(new string[] { p.GetValue(data.selectedRelease.metadata).ToString(), p.Name })); } } @@ -553,6 +565,8 @@ namespace CUERipper } listTracks.EndUpdate(); listMetadata.EndUpdate(); + + UpdateAlbumArt(true); SetupControls(); } @@ -616,150 +630,155 @@ namespace CUERipper private bool loadAllMetadata = false; - 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 = ""; + 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 = ""; - data.Releases.RaiseListChangedEvents = false; + data.Releases.RaiseListChangedEvents = false; - cueSheet = new CUESheet(_config); - cueSheet.OpenCD(audioSource); - cueSheet.Action = CUEAction.Encode; + cueSheet = new CUESheet(_config); + cueSheet.OpenCD(audioSource); + cueSheet.Action = CUEAction.Encode; - this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " CTDB..."; }); - cueSheet.UseCUEToolsDB("CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, false, CTDBMetadataSearch.Default); - cueSheet.CTDB.UploadHelper.onProgress += new EventHandler(UploadProgress); - this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; }); - cueSheet.UseAccurateRip(); + this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " CTDB..."; }); + cueSheet.UseCUEToolsDB("CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, false, CTDBMetadataSearch.Default); + cueSheet.CTDB.UploadHelper.onProgress += new EventHandler(UploadProgress); + this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; }); + cueSheet.UseAccurateRip(); - General.SetCUELine(cueSheet.Attributes, "REM", "DISCID", AccurateRipVerify.CalculateCDDBId(audioSource.TOC), false); - General.SetCUELine(cueSheet.Attributes, "REM", "COMMENT", _config.createEACLOG ? "ExactAudioCopy v0.99pb4" : audioSource.RipperVersion, true); + General.SetCUELine(cueSheet.Attributes, "REM", "DISCID", AccurateRipVerify.CalculateCDDBId(audioSource.TOC), false); + General.SetCUELine(cueSheet.Attributes, "REM", "COMMENT", _config.createEACLOG ? "ExactAudioCopy v0.99pb4" : audioSource.RipperVersion, true); - try - { - CUEMetadata cache = CUEMetadata.Load(audioSource.TOC.TOCID); - if (cache != null) - data.Releases.Add(new CUEMetadataEntry(cache, audioSource.TOC, "local")); - } - catch (Exception ex) - { - System.Diagnostics.Trace.WriteLine(ex.Message); - } + try + { + CUEMetadata cache = CUEMetadata.Load(audioSource.TOC.TOCID); + if (cache != null) + data.Releases.Add(new CUEMetadataEntry(cache, audioSource.TOC, "local")); + } + catch (Exception ex) + { + System.Diagnostics.Trace.WriteLine(ex.Message); + } - foreach (var ctdbMeta in cueSheet.CTDB.Metadata) - { - data.Releases.Add(CreateCUESheet(audioSource, ctdbMeta)); - } + foreach (var ctdbMeta in cueSheet.CTDB.Metadata) + { + data.Releases.Add(CreateCUESheet(audioSource, ctdbMeta)); + } - if (data.Releases.Count == 0 || loadAllMetadata) - { - loadAllMetadata = false; + if (data.Releases.Count == 0 || loadAllMetadata) + { + loadAllMetadata = false; - //this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " MusicBrainz..."; }); + //this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " MusicBrainz..."; }); - //ReleaseQueryParameters p = new ReleaseQueryParameters(); - //p.DiscId = audioSource.TOC.MusicBrainzId; - //Query results = Release.Query(p); - //MusicBrainzService.Proxy = _config.GetProxy(); - //MusicBrainzService.XmlRequest += new EventHandler(MusicBrainz_LookupProgress); + //ReleaseQueryParameters p = new ReleaseQueryParameters(); + //p.DiscId = audioSource.TOC.MusicBrainzId; + //Query results = Release.Query(p); + //MusicBrainzService.Proxy = _config.GetProxy(); + //MusicBrainzService.XmlRequest += new EventHandler(MusicBrainz_LookupProgress); - //try - //{ - // foreach (Release release in results) - // { - // release.GetEvents(); - // release.GetTracks(); - // data.Releases.Add(CreateCUESheet(audioSource, release)); - // } - // mbresults_count = results.Count; - //} - //catch (Exception ex) - //{ - // System.Diagnostics.Trace.WriteLine(ex.Message); - // if (!(ex is MusicBrainzNotFoundException)) - // musicbrainzError = ex.Message; - //} - //MusicBrainzService.Proxy = null; - //MusicBrainzService.XmlRequest -= new EventHandler(MusicBrainz_LookupProgress); + //try + //{ + // foreach (Release release in results) + // { + // release.GetEvents(); + // release.GetTracks(); + // data.Releases.Add(CreateCUESheet(audioSource, release)); + // } + // mbresults_count = results.Count; + //} + //catch (Exception ex) + //{ + // System.Diagnostics.Trace.WriteLine(ex.Message); + // if (!(ex is MusicBrainzNotFoundException)) + // musicbrainzError = ex.Message; + //} + //MusicBrainzService.Proxy = null; + //MusicBrainzService.XmlRequest -= new EventHandler(MusicBrainz_LookupProgress); - this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " Freedb..."; }); + this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " Freedb..."; }); - FreedbHelper m_freedb = new FreedbHelper(); - m_freedb.Proxy = _config.GetProxy(); - m_freedb.UserName = _config.advanced.FreedbUser; - m_freedb.Hostname = _config.advanced.FreedbDomain; - m_freedb.ClientName = "CUERipper"; - m_freedb.Version = CUESheet.CUEToolsVersion; - m_freedb.SetDefaultSiteAddress(Properties.Settings.Default.MAIN_FREEDB_SITEADDRESS); + FreedbHelper m_freedb = new FreedbHelper(); + m_freedb.Proxy = _config.GetProxy(); + m_freedb.UserName = _config.advanced.FreedbUser; + m_freedb.Hostname = _config.advanced.FreedbDomain; + m_freedb.ClientName = "CUERipper"; + m_freedb.Version = CUESheet.CUEToolsVersion; + m_freedb.SetDefaultSiteAddress(Properties.Settings.Default.MAIN_FREEDB_SITEADDRESS); - QueryResult queryResult; - QueryResultCollection coll; - string code = string.Empty; - try - { - FreeDB_LookupProgress(this); - code = m_freedb.Query(AccurateRipVerify.CalculateCDDBQuery(audioSource.TOC), out queryResult, out coll); - if (code == FreedbHelper.ResponseCodes.CODE_200) - { - CDEntry cdEntry; - FreeDB_LookupProgress(this); - code = m_freedb.Read(queryResult, out cdEntry); - if (code == FreedbHelper.ResponseCodes.CODE_210) - { - CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry); - data.Releases.Add(r); - } - } - else - if (code == FreedbHelper.ResponseCodes.CODE_210 || - code == FreedbHelper.ResponseCodes.CODE_211) - { - foreach (QueryResult qr in coll) - { - CDEntry cdEntry; - FreeDB_LookupProgress(this); - code = m_freedb.Read(qr, out cdEntry); - if (code == FreedbHelper.ResponseCodes.CODE_210) - { - CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry); - data.Releases.Add(r); - } - } - } - } - catch (Exception ex) - { - System.Diagnostics.Trace.WriteLine(ex.Message); - } - } + QueryResult queryResult; + QueryResultCollection coll; + string code = string.Empty; + try + { + FreeDB_LookupProgress(this); + code = m_freedb.Query(AccurateRipVerify.CalculateCDDBQuery(audioSource.TOC), out queryResult, out coll); + if (code == FreedbHelper.ResponseCodes.CODE_200) + { + CDEntry cdEntry; + FreeDB_LookupProgress(this); + code = m_freedb.Read(queryResult, out cdEntry); + if (code == FreedbHelper.ResponseCodes.CODE_210) + { + CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry); + data.Releases.Add(r); + } + } + else + if (code == FreedbHelper.ResponseCodes.CODE_210 || + code == FreedbHelper.ResponseCodes.CODE_211) + { + foreach (QueryResult qr in coll) + { + CDEntry cdEntry; + FreeDB_LookupProgress(this); + code = m_freedb.Read(qr, out cdEntry); + if (code == FreedbHelper.ResponseCodes.CODE_210) + { + CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry); + data.Releases.Add(r); + } + } + } + } + catch (Exception ex) + { + System.Diagnostics.Trace.WriteLine(ex.Message); + } + } - if (data.Releases.Count == 0) - { - data.Releases.Add(CreateCUESheet(audioSource)); - } - _workThread = null; - if (musicbrainzError != "") - musicbrainzError = musicbrainzError + ": "; - this.BeginInvoke((MethodInvoker)delegate() - { - SetupControls(); - data.Releases.RaiseListChangedEvents = true; - data.Releases.ResetBindings(); - //bnComboBoxRelease.SelectedIndex = 0; - toolStripStatusAr.Enabled = cueSheet.ArVerify.ARStatus == null; - toolStripStatusAr.Text = cueSheet.ArVerify.ARStatus == null ? cueSheet.ArVerify.WorstTotal().ToString() : ""; - toolStripStatusAr.ToolTipText = "AccurateRip: " + (cueSheet.ArVerify.ARStatus ?? "found") + "."; - toolStripStatusCTDB.Enabled = cueSheet.CTDB.DBStatus == null; - toolStripStatusCTDB.Text = cueSheet.CTDB.DBStatus == null ? cueSheet.CTDB.Total.ToString() : ""; - toolStripStatusCTDB.ToolTipText = "CUETools DB: " + (cueSheet.CTDB.DBStatus ?? "found") + "."; - 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." : (musicbrainzError + "click to submit.")); - }); - } + if (data.Releases.Count == 0) + { + data.Releases.Add(CreateCUESheet(audioSource)); + } + _workThread = null; + if (musicbrainzError != "") + musicbrainzError = musicbrainzError + ": "; + while (backgroundWorkerArtwork.IsBusy) + { + Thread.Sleep(100); + } + this.BeginInvoke((MethodInvoker)delegate() + { + SetupControls(); + data.Releases.RaiseListChangedEvents = true; + data.Releases.ResetBindings(); + //bnComboBoxRelease.SelectedIndex = 0; + toolStripStatusAr.Enabled = cueSheet.ArVerify.ARStatus == null; + toolStripStatusAr.Text = cueSheet.ArVerify.ARStatus == null ? cueSheet.ArVerify.WorstTotal().ToString() : ""; + toolStripStatusAr.ToolTipText = "AccurateRip: " + (cueSheet.ArVerify.ARStatus ?? "found") + "."; + toolStripStatusCTDB.Enabled = cueSheet.CTDB.DBStatus == null; + toolStripStatusCTDB.Text = cueSheet.CTDB.DBStatus == null ? cueSheet.CTDB.Total.ToString() : ""; + toolStripStatusCTDB.ToolTipText = "CUETools DB: " + (cueSheet.CTDB.DBStatus ?? "found") + "."; + 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." : (musicbrainzError + "click to submit.")); + backgroundWorkerArtwork.RunWorkerAsync(new BackgroundWorkerArtworkArgs() { cueSheet = cueSheet, meta = data.selectedRelease }); + }); + } private void UpdateDrive() { @@ -784,7 +803,8 @@ namespace CUERipper listTracks.Items.Clear(); data.Releases.Clear(); data.selectedRelease = null; - bnComboBoxRelease.Enabled = false; + ResetAlbumArt(); + bnComboBoxRelease.Enabled = false; bnComboBoxRelease.Text = ""; if (selectedDriveInfo == null) { @@ -1224,7 +1244,8 @@ namespace CUERipper loadAllMetadata = true; data.Releases.Clear(); data.selectedRelease = null; - UpdateRelease(); + ResetAlbumArt(); + UpdateRelease(); _workThread = new Thread(Lookup); _workThread.Priority = ThreadPriority.BelowNormal; _workThread.IsBackground = true; @@ -1362,8 +1383,146 @@ namespace CUERipper SetupControls(); _workThread.Start(); } + + List albumArt = new List(); + int currentAlbumArt = 0, frontAlbumArt = -1; + + private void ResetAlbumArt() + { + if (this.cueSheet != null) + { + this.cueSheet.CTDB.CancelRequest(); + } + lock (albumArt) + { + if (backgroundWorkerArtwork.IsBusy) + backgroundWorkerArtwork.CancelAsync(); + albumArt.Clear(); + } + UpdateAlbumArt(false); + } + + private void UpdateAlbumArt(bool selectRelease) + { + if (albumArt.Count == 0) + { + pictureBox1.Image = null; + return; + } + + if (selectRelease && data.selectedRelease != null && data.selectedRelease.metadata.AlbumArt.Count > 0) + { + for (int i = 0; i < albumArt.Count; i++) + { + foreach (var aa in data.selectedRelease.metadata.AlbumArt) + { + if (aa.uri == albumArt[i].meta.uri) + { + currentAlbumArt = i; + break; + } + } + } + } + + if (currentAlbumArt >= albumArt.Count) + currentAlbumArt = 0; + pictureBox1.Image = albumArt[currentAlbumArt].image; + } + + private void backgroundWorkerArtwork_DoWork(object sender, DoWorkEventArgs e) + { + var args = e.Argument as BackgroundWorkerArtworkArgs; + var cueSheet = args.cueSheet; + albumArt.Clear(); + currentAlbumArt = 0; + frontAlbumArt = -1; + var knownUrls = new List(); + var firstUrls = new List(); + + if (args.meta != null && args.meta.metadata.AlbumArt.Count > 0) + foreach (var aa in args.meta.metadata.AlbumArt) + firstUrls.Add(aa.uri); + + for (int i = 0; i < 2; i++) + { + foreach (var metadata in cueSheet.CTDB.Metadata) + { + if (metadata.coverart == null) + continue; + foreach (var coverart in metadata.coverart) + { + bool large = false; + var uri = large ? + coverart.uri : coverart.uri150 ?? coverart.uri; + if (knownUrls.Contains(uri) || !coverart.primary) + continue; + if (i == 0 && !firstUrls.Contains(coverart.uri)) + continue; + var ms = new MemoryStream(); + if (!cueSheet.CTDB.FetchFile(uri, ms)) + continue; + lock (this.albumArt) + { + if (backgroundWorkerArtwork.CancellationPending) + { + e.Cancel = true; + return; + } + this.albumArt.Add(new AlbumArt(coverart, ms.ToArray())); + } + knownUrls.Add(uri); + backgroundWorkerArtwork.ReportProgress(0); + } + } + } + } + + private void backgroundWorkerArtwork_ProgressChanged(object sender, ProgressChangedEventArgs e) + { + UpdateAlbumArt(true); + } + + private void backgroundWorkerArtwork_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + toolStripStatusLabel1.Text = ""; + toolStripProgressBar1.Value = 0; + } + + private void pictureBox1_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + currentAlbumArt++; + UpdateAlbumArt(false); + } + } } + internal class BackgroundWorkerArtworkArgs + { + public CUESheet cueSheet; + public CUEMetadataEntry meta; + } + + internal class AlbumArt + { + public CTDBResponseMetaImage meta; + + public byte[] contents; + + public Image image; + + public AlbumArt(CTDBResponseMetaImage meta, byte[] contents) + { + this.meta = meta; + this.contents = contents; + using (MemoryStream imageStream = new MemoryStream(contents)) + try { this.image = Image.FromStream(imageStream); } + catch { } + } + } + public class StartStop { public bool _stop, _pause; diff --git a/CUERipper/frmCUERipper.resx b/CUERipper/frmCUERipper.resx index 4b9366d..91c4825 100644 --- a/CUERipper/frmCUERipper.resx +++ b/CUERipper/frmCUERipper.resx @@ -118,11 +118,11 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 0, 469 + 222, 95 - 394, 20 + 473, 20 MiddleLeft @@ -136,21 +136,20 @@ 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 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMISURBVDhPbZP9T5pnFIb5A7dlWdNlW2ZmSYsNbadjbrT1 + A6QiOLWsSApS1/rRqSW2dq5TuiBWUamVIYZarUXRCSgSERD5euG99s79sJh4kjsnOXnu65zknEcmOyd8 + PjD37tBoOeCWfY+OsQSu1Qr/PhUon+ZzY2IgT4MyR+33AorbUGWAmvsi6gER7VOR7okSLn/2LKBC6bTw + 5g/QVqepl0umWvhaXUDRBior6IZE2p+J2F6WeTInENgunoVY9OtobuxJ5iyXqwpU14hcUYn8eAdaegTM + DrBPwshsBacvzcpmguDG9v8Q9Q/vuK7aplp5yCW5gPJSCbUCjBowPazwSJruqQdm3p6wewQHqRSZbJxC + PoPs595Zruv8yFtWqGqMoaxP0XitQJM8im8GXi9LXeeLrEUgelwmkcsQO3jPYXKZfHoZ2Xcdz7ls8CI3 + +LliDKHW72NsTrP0qkx4K8bahw32UwKxY4F44Zido3WS2QC5k0XKORcyxb3HyM0TKLunUVsCGE1hbPe2 + iEbT/OmeOs3JbIZIMUtE2CIlBBDKHkThhSQHshpjD3WGITSGZ+hb3dgavfTVB5l3hCme5Mikjgmthvh7 + c4109C9Khy8hNU45NQJH/ciGHb/R2mLB2ulg+vEKw7VOvN2rJNxxYoEosekNkq7X5Oc8FNdeQGgEcecX + iJnJJ8aQRSIRHnZZWfUE2fCEJUAfu+5NEku75HwRQv2TZMcnwCWZl4aorFqphEwQ7oR88L9V2m420VNT + x7Zrgb2pIPFXfpLe9+z3j5Gx2SgMWxDGTVTcRkSvdF3BW2TW7549poXePpxfXaU0PkV2YZHi7DxxXQOF + zjryD1Sc/Crp+Q2yU3LSAfv5/+HNkwEmqz9nUXGBD9cusF//MXvNnxDt+Ihd86eEH33Bwmj7+ebR0VHs + djuDbTp+r1Uwd/VL3qou4m/6DJ/uIjOGb3ig+5af7nZhtfachTidTgYHBzGZTLTr29DptGi0t9E338TQ + 0IC2WUNTi05SK/o7bXR1dXDfZj2F/APN0qwvsYBTqAAAAABJRU5ErkJggg== @@ -178,7 +177,7 @@ 0, 469 - 571, 25 + 650, 25 @@ -197,7 +196,7 @@ $this - 15 + 14 @@ -210,7 +209,7 @@ Title - 235 + 300 0 @@ -240,10 +239,10 @@ 70 - 6, 87 + 7, 87 - 553, 221 + 630, 220 7 @@ -273,10 +272,10 @@ NoControl - 382, 343 + 3, 3 - 177, 33 + 170, 33 12 @@ -291,10 +290,10 @@ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - $this + panel1 - 14 + 0 Top, Left, Right @@ -303,7 +302,7 @@ NoControl - 474, 343 + 88, 3 85, 33 @@ -324,10 +323,10 @@ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - $this + panel1 - 16 + 2 Top, Left, Right @@ -336,10 +335,10 @@ NoControl - 383, 343 + 3, 3 - 85, 33 + 79, 33 20 @@ -357,13 +356,13 @@ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - $this + panel1 - 17 + 1 - 310, 15 + 257, 20 54, 20 @@ -393,7 +392,7 @@ NoControl - 242, 19 + 189, 22 62, 13 @@ -423,16 +422,16 @@ NoControl - 245, 44 + 192, 47 - 64, 17 + 88, 17 6 - EAC log + EAC log style checkBoxEACMode @@ -447,7 +446,7 @@ 11 - 369, 95 + 17, 95 210, 56 @@ -477,7 +476,7 @@ 0 - 189, 95 + 1217, 56 92, 46 @@ -507,7 +506,7 @@ NoControl - 248, 98 + 195, 103 109, 18 @@ -531,7 +530,7 @@ 2 - 17, 95 + 1045, 56 92, 19 @@ -729,7 +728,7 @@ NoControl - 237, 71 + 184, 76 127, 45 @@ -753,7 +752,7 @@ 6, 332 - 370, 134 + 320, 134 11 @@ -771,17 +770,17 @@ 12 - 998, 56 + 882, 56 207, 17 - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy - CQAAAk1TRnQBSQFMAgEBBAEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CQAAAk1TRnQBSQFMAgEBBAEAAWQBAAFkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -837,7 +836,7 @@ 624, 17 - 382, 421 + 3, 91 454, 17 @@ -846,7 +845,7 @@ 789, 17 - 177, 23 + 170, 23 30 @@ -855,22 +854,22 @@ progressBarErrors - ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null - $this + panel1 - 9 + 4 - 382, 392 + 3, 64 356, 56 - 176, 23 + 170, 23 31 @@ -882,19 +881,22 @@ progressBarCD - ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null - $this + panel1 - 11 + 3 + + + Top, Left, Right 5, 312 - 552, 20 + 633, 20 10 @@ -912,7 +914,10 @@ $this - 19 + 15 + + + Top, Left, Right 708, 56 @@ -922,10 +927,10 @@ - AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY - DwAAAk1TRnQBSQFMAgEBCQEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADy + EAAAAk1TRnQBSQFMAgEBCgEAAWQBAAFkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -954,52 +959,57 @@ AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wUAAfQBvAG1ArQBtQG8 - AiA1AAH/AbwBtAEJBBkBCQIgAf8zAAH/AbsBCQH0AhkDCQEZAiABuwH/MgABvAEJAfUDGQEJCCAwAAH0 - AbQB/wH1BBkIIDAAAbwBCQIZAfQFGQEJAiABGQEJAbwwAAG1AfIDCQEZAQkCtAEJARkCIAHdARkBtTAA - AbQBGQMJARkBtAL/AbQBGQIgAQkBGQG0MAABtAEZAwkBGQG0Av8BtAEZAwkBGQG0MAABtQEZBQkCtAEJ - AfUB9AMZAbUwAAG8BAkDGQH0AfUB9AP1AQkBvDAAAfQBtAH0AQkBGQH/AgkBGQH1AfQB9QL/AbQB9DEA - AbwBCQH1Af8B9QIJARkB/wL1Af8BCQG8MgAB/wG7AQkB/wH0AgkBGQH1Av8BCQG7Af8zAAH/AbwBtAEJ - AhkB9AHzAQkBtAG8Af82AAH0AbwBtQK0AbUBvAH0dQABmQZ5AfMIAAH3AW0BvC0AAZkFoAJ5AfQIAAHw - AW0CAAGSAeoCEgEUARUBQwERAewDAAGZCHkB8wYAAZkIeQHzBQABmQWgAXkBmgFRAnkBmQQAAfMBbQHz - AgAB6gFtARICFAESAW0B6wERAwABmQegAnkB9AUAAZkHoAJ5AfQEAAGZBaADeQFYAaABmQQAAe8C7AIA - AfcBbQPqAhIBFAHsAwABmQegAXkBmgF5AfQEAAGZB6ABeQGaAXkB9AMAAZkIoAFYAaABUQF5AZkTAAGZ - B6ADeQGZBAABmQegA3kBmQMAAZkIoAFYAaABWAGgAZkCAALrAW0OAAGZCqABmQQAAZkKoAGZAwABmQig - AVgBoAFYAaABmQIAAfQB7QH/AgAB9wVtAuoBkgMAAZkKoAGZBAABmQqgAZkDAAGZAcMHoAFYAaABWAGg - AZkDAAH0Ae0CAAJtARIBEwEUARIBbQHrAeoDAAGZCqABmQQAAZkKoAGZAwABGgHDB6ABWAGgAVgBoAGZ - AgAB7wHsAe8CAAHvAesGbQH3AwABmQqgAZkEAAGZCaABkQGYAwABGgPDBaABWAGgAVgBoAGZEwABmQHD - CaABmQQAAZkBwwigAosB8gIAARsBGgh5AaABWAGgAZkCAAPsDgABmQHDCaABmQQAAZkBwwSgAZEEswHa - AbQB8gMAARoDwwWgAVgBoAGZAwAB7AMAAe8B7ATrAm0B9wMAARoBwwmgARoEAAEaAcMEoAGzAdwF2wG0 - AwABGwEaCHkBoAEaAwAB7AMAAewBbQISAhMBEgJtAwABGgTDBqABGgQAARoEwwGgAbsEtAHcAbQB8gUA - ARoDwwWgARoCAAHvAewDAAHvBOwD6wHvAwABGwoaARsEAAEbCRoCtAHzBgABGwgaARstAAEJAfMDAAF6 - AlELegEAAe0PCiAAAVEBAAERARMBAAEPCnoBtQQEA/MBBAPzAgQBXwEKEAAQ/wEAAbwD/wETAQ8JegG1 - AwQB9AIEAfQBBAH0AgQB9AIEAQoB8QK8AfIBAAHyBLwB8gEAAfICvAHxAfACvAHwAf8B8AS8AfAB/wHw - ArwB8AEAAbwE/wEACXoBtQGiAgQB/wIEAf8BBAH/AgQB/wIEAQoBvAH/AfQDBwT0AwcB9AH/ArwB/wH0 - AwcE9AMHAfQB/wG8AVEBDwHrAgcBvAEAAREEAAERA3oBtQGiAwQD/wEEA/8DBAEKAfAB9ALzAfQG8wH0 - AvMB9ALwAfQC8wH0BvMB9ALzAfQB8AF6AVEBDwIAAf8BAAEPAfcC/wGSAhECegG1AaIFBAH/AQQB/wUE - AQoB8AH0DPMB9ALwAfQM8wH0AfAEegEAAf8BAAERBP8BvAEAAnoBtQGiBQQB/wEEAf8FBAEKAfAB9Azz - AfQC8AH0DPMB9AHwBK4BAAH/AgABEwG8A/8BAAKuAbUBog0EAQoB8QH/BfQBAAFzAbwE9AH/AvEB/wX0 - AQABcwG8BPQB/wHxBK4BAAH/AQABEgEPAwAB/wEAAq4N/wH0AfMB7AHyAf8F9AEcAcMBUQEIA/QB/wLy - Af8F9AEcAcMBUQEIA/QB/wHyBK4BAAH/AQ8BAAERAhIBAAH/AQACrgH/AaIC/wEEA/8CBAP/AgQB7AHy - Bv8BGwFYAXoBUQEIA/8C8gb/ARsBWAF6AVEBCAP/AfIErgEAAv8BkgERAQABDwEAAf8BAAKuAf8BogL/ - AQQC/wEEBP8BBAH0AfMB7AHyB/8BGgFYAXoBUQEaAv8C8gf/ARoBWAF6AVEBGgL/AfIErgEAAQcD/wG8 - AeoBAAH/AQACrgH/AaIC/wEEAv8EBAH/AwQBCgHyCP8BGgFYAXoBUQEaAf8C8gj/ARoBWAF6AVEBGgH/ - AfIErgERARMBBwb/AQACrgH/AaIBBAH/AQQC/wEEAv8BBAH/AQQB9AHzAQoB8gn/ARsBWAF6Ae0B8ALy - Cf8BGwFYAXoB7QHwAfIFrgERAQABEQGSBP8BAAKuAf8BhgL/AgQC/wIEA/8CBAHsAfMK8gHwAe8B9AHt - AbwB8wryAfAB7wH0Ae0BvAeuAREBAAEPAesBvAH/AQACrgH/AYYL/wH0AfMB7AwAAfQBvAEWAW8MAAH0 - AbwBFgFvAQAJrgEPAQABEwERAa4BAAL/AbUL/wH0AQcNAAH0ARYB8w0AAfQBFgHzAUIBTQE+BwABPgMA - ASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/wEAAfABBwYAAcABAwYAAYABAQYAAYBHAAGAAQEGAAGA - AQEGAAHAAQMGAAHwAQ8GAAj/AYABfwGPBf8BgAE/AcwBAQHAAQ8BwAEPAYABBwGMAQEBwAEHAcABBwGA - AQcBjAEBAcABAwHAAQMBgAEBAv8BwAEDAcABAwGAAQEBjwH/AcABAwHAAQMBgAEBAYwBAQHAAQMBwAED - AYABAQHMAQEBwAEDAcABAwGAAQEBjAEBAcABAwHAAQMBgAEBAv8BwAEDAcABAQGAAQEBjwH/AcABAwHA - AQAB4AEBAdwBAQHAAQMBwAEAAeABAQHcAQEBwAEDAcABAAH4AQEBnAEBAcABAwHAAQEB+AEBBf8B8wGA - AQECAAT/BAAC/wYAAQgBEF4AAf8B8AH/AfABgAEBAgAB/wH4Af8B+As= + AiAJAATrKAAB/wG8AbQBCQQZAQkCIAH/BgAB6wIUARUCDgEAAQ4lAAH/AbsBCQH0AhkDCQEZAiABuwH/ + BAABFAEHAesBFAERAg4CAAEOJAABvAEJAf8DGQEJCCACAAERARQB6wEHAesBEQIOAwABDiIAAfQBtAL/ + BBkIIAEAAREBFQIUAusBFQERAQ4EAAERIQABvAEJAhkB9AUZAQkCIAEZAQkBvAEAAQ4CEQIVAQ4CSgIO + JQABtQHyAwkBGQEJArQBCQEZAiAB3QEZAbUB6wEABA4ENwEOBAAB6yAAAbQBGQMJARkBtAL/AbQBGQIg + AQkBGQG0AesEAAFKBDcBSgQAAesgAAG0ARkDCQEZAbQC/wG0ARkDCQEZAbQB6wQAAUoENwFKBA4B6yAA + AbUBGQUJArQBCQH/AfQDGQG1AesEAAEOBDcBDgIRAg4B6yAAAbwECQMZAfQB/wH0A/8BCQG8AQABDgQA + AQ4CSgEOAhQDESEAAfQBtAH0AQkBGQH/AgkBGQH/AfQD/wG0AfQBAAEUAwACDgERARQB6wFzAhQBEQEU + IgABvAEJA/8CCQEZBP8BCQG8AwABEQIAAg4BEQEVAesBBwHrARUBFCMAAf8BuwEJAf8B9AIJARkD/wEJ + AbsB/wQAARQBAAIOAREBFQEUA+slAAH/AbwBtAEJAhkB9AHzAQkBtAG8Af8GAAIVAw4BEQIUKAAB9AG8 + AbUCtAG1AbwB9AoABOtnAAGZBnkB8wgAAfcBbQG8LQABmQWgAnkB9AgAAfABbQIAAZIB6gISARQBFQFD + AREB7AMAAZkIeQHzBgABmQh5AfMFAAGZBaABeQGaAVECeQGZBAAB8wFtAfMCAAHqAW0BEgIUARIBbQHr + AREDAAGZB6ACeQH0BQABmQegAnkB9AQAAZkFoAN5AVgBoAGZBAAB7wLsAgAB9wFtA+oCEgEUAewDAAGZ + B6ABeQGaAXkB9AQAAZkHoAF5AZoBeQH0AwABmQigAVgBoAFRAXkBmRMAAZkHoAN5AZkEAAGZB6ADeQGZ + AwABmQigAVgBoAFYAaABmQIAAusBbQ4AAZkKoAGZBAABmQqgAZkDAAGZCKABWAGgAVgBoAGZAgAB9AHt + Af8CAAH3BW0C6gGSAwABmQqgAZkEAAGZCqABmQMAAZkBwwegAVgBoAFYAaABmQMAAfQB7QIAAm0BEgET + ARQBEgFtAesB6gMAAZkKoAGZBAABmQqgAZkDAAEaAcMHoAFYAaABWAGgAZkCAAHvAewB7wIAAe8B6wZt + AfcDAAGZCqABmQQAAZkJoAGRAZgDAAEaA8MFoAFYAaABWAGgAZkTAAGZAcMJoAGZBAABmQHDCKACiwHy + AgABGwEaCHkBoAFYAaABmQIAA+wOAAGZAcMJoAGZBAABmQHDBKABkQSzAdoBtAHyAwABGgPDBaABWAGg + AZkDAAHsAwAB7wHsBOsCbQH3AwABGgHDCaABGgQAARoBwwSgAbMB3AXbAbQDAAEbARoIeQGgARoDAAHs + AwAB7AFtAhICEwESAm0DAAEaBMMGoAEaBAABGgTDAaABuwS0AdwBtAHyBQABGgPDBaABGgIAAe8B7AMA + Ae8E7APrAe8DAAEbChoBGwQAARsJGgK0AfMGAAEbCBoBGy0AAQkB8wMAAXoCUQt6AQAB7Q8KIAABUQEA + AREBEwEAAQ8KegG1BAQD8wEEA/MCBAFfAQoQABD/AQABvAP/ARMBDwl6AbUDBAH0AgQB9AEEAfQCBAH0 + AgQBCgHxArwB8gEAAfIEvAHyAQAB8gK8AfEB8AK8AfAB/wHwBLwB8AH/AfACvAHwAQABvAT/AQAJegG1 + AaICBAH/AgQB/wEEAf8CBAH/AgQBCgG8Af8B9AMHBPQDBwH0Af8CvAH/AfQDBwT0AwcB9AH/AbwBUQEP + AesCBwG8AQABEQQAAREDegG1AaIDBAP/AQQD/wMEAQoB8AH0AvMB9AbzAfQC8wH0AvAB9ALzAfQG8wH0 + AvMB9AHwAXoBUQEPAgAB/wEAAQ8B9wL/AZICEQJ6AbUBogUEAf8BBAH/BQQBCgHwAfQM8wH0AvAB9Azz + AfQB8AR6AQAB/wEAAREE/wG8AQACegG1AaIFBAH/AQQB/wUEAQoB8AH0DPMB9ALwAfQM8wH0AfAErgEA + Af8CAAETAbwD/wEAAq4BtQGiDQQBCgHxAf8F9AEAAXMBvAT0Af8C8QH/BfQBAAFzAbwE9AH/AfEErgEA + Af8BAAESAQ8DAAH/AQACrg3/AfQB8wHsAfIB/wX0ARwBwwFRAQgD9AH/AvIB/wX0ARwBwwFRAQgD9AH/ + AfIErgEAAf8BDwEAARECEgEAAf8BAAKuAf8BogL/AQQD/wIEA/8CBAHsAfIG/wEbAVgBegFRAQgD/wLy + Bv8BGwFYAXoBUQEIA/8B8gSuAQAC/wGSAREBAAEPAQAB/wEAAq4B/wGiAv8BBAL/AQQE/wEEAfQB8wHs + AfIH/wEaAVgBegFRARoC/wLyB/8BGgFYAXoBUQEaAv8B8gSuAQABBwP/AbwB6gEAAf8BAAKuAf8BogL/ + AQQC/wQEAf8DBAEKAfII/wEaAVgBegFRARoB/wLyCP8BGgFYAXoBUQEaAf8B8gSuAREBEwEHBv8BAAKu + Af8BogEEAf8BBAL/AQQC/wEEAf8BBAH0AfMBCgHyCf8BGwFYAXoB7QHwAvIJ/wEbAVgBegHtAfAB8gWu + AREBAAERAZIE/wEAAq4B/wGGAv8CBAL/AgQD/wIEAewB8wryAfAB7wH0Ae0BvAHzCvIB8AHvAfQB7QG8 + B64BEQEAAQ8B6wG8Af8BAAKuAf8Bhgv/AfQB8wHsDAAB9AG8ARYBbwwAAfQBvAEWAW8BAAmuAQ8BAAET + AREBrgEAAv8BtQv/AfQBBw0AAfQBFgHzDQAB9AEWAfMBQgFNAT4HAAE+AwABKAMAAUADAAEwAwABAQEA + AQEFAAGAAQEWAAP/AQAB8AEHAfwBPwQAAcABAwHwAQ8EAAGAAQEB4AEHBAABgAEAAcABAwYAAYABAQYA + AYABASYAAYABAQYAAYABAQQAAYABAQHAAQMEAAGAAQEB4AEHBAABwAEDAfABDwQAAfABDwH8AT8EAAj/ + AYABfwGPBf8BgAE/AcwBAQHAAQ8BwAEPAYABBwGMAQEBwAEHAcABBwGAAQcBjAEBAcABAwHAAQMBgAEB + Av8BwAEDAcABAwGAAQEBjwH/AcABAwHAAQMBgAEBAYwBAQHAAQMBwAEDAYABAQHMAQEBwAEDAcABAwGA + AQEBjAEBAcABAwHAAQMBgAEBAv8BwAEDAcABAQGAAQEBjwH/AcABAwHAAQAB4AEBAdwBAQHAAQMBwAEA + AeABAQHcAQEBwAEDAcABAAH4AQEBnAEBAcABAwHAAQEB+AEBBf8B8wGAAQECAAT/BAAC/wYAAQgBEF4A + Af8B8AH/AfABgAEBAgAB/wH4Af8B+As= 6, 33 - 552, 21 + 632, 21 1 @@ -1017,13 +1027,16 @@ $this - 7 + 9 + + + Top, Left, Right 6, 6 - 552, 21 + 632, 21 0 @@ -1041,13 +1054,16 @@ $this - 8 + 10 + + + Top, Left, Right 5, 312 - 552, 21 + 633, 21 9 @@ -1065,7 +1081,10 @@ $this - 10 + 11 + + + Top, Left, Right 1 @@ -1074,7 +1093,7 @@ Value - 400 + 450 0 @@ -1083,13 +1102,13 @@ Name - 120 + 140 7, 87 - 550, 220 + 630, 220 8 @@ -1107,7 +1126,7 @@ $this - 18 + 16 Flat @@ -1119,7 +1138,7 @@ NoControl - 373, 112 + 483, 63 19, 17 @@ -1140,7 +1159,7 @@ $this - 5 + 7 7, 60 @@ -1167,7 +1186,7 @@ $this - 3 + 5 NoControl @@ -1197,7 +1216,7 @@ $this - 6 + 8 NoControl @@ -1227,7 +1246,7 @@ $this - 4 + 6 NoControl @@ -1257,7 +1276,7 @@ $this - 2 + 4 NoControl @@ -1290,7 +1309,7 @@ $this - 1 + 3 NoControl @@ -1320,8 +1339,59 @@ $this + 2 + + + Top, Right + + + 462, 339 + + + 176, 125 + + + 42 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 332, 339 + + + 125, 125 + + + Zoom + + + 43 + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + 0 + + 1148, 17 + True @@ -1332,7 +1402,7 @@ 6, 13 - 571, 494 + 650, 494 @@ -1855,31 +1925,31 @@ plainBackgroundPainter1 - ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null styledBorderPainter1 - ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null plainProgressPainter1 - ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null gradientGlossPainter1 - ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null plainProgressPainter2 - ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null + ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null toolTip1 @@ -1911,6 +1981,12 @@ System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + backgroundWorkerArtwork + + + System.ComponentModel.BackgroundWorker, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + frmCUERipper diff --git a/CUETools.CTDB/CUEToolsDB.cs b/CUETools.CTDB/CUEToolsDB.cs index be0fdce..e8fa87c 100644 --- a/CUETools.CTDB/CUEToolsDB.cs +++ b/CUETools.CTDB/CUEToolsDB.cs @@ -145,6 +145,9 @@ namespace CUETools.CTDB req.ReadWriteTimeout = socketTimeout; req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + if (uploadHelper.onProgress != null) + uploadHelper.onProgress(url, new UploadProgressEventArgs(req.RequestUri.AbsoluteUri, 0.0)); + currentReq = req; try { @@ -325,8 +328,8 @@ namespace CUETools.CTDB { offset = -confirm.offset; - // Optional sanity check: should be done by server - +#if DEBUG + // Optional sanity check: should be done by server if (verify.AR.CTDBCRC(offset) != confirm.crc) throw new Exception("crc mismatch"); @@ -345,6 +348,7 @@ namespace CUETools.CTDB equals &= confirm.syndrome[0, i] == syn2[0, i]; if (!equals) throw new Exception("syndrome mismatch"); +#endif } if (upload) { diff --git a/CUETools.Processor/CUEMetadata.cs b/CUETools.Processor/CUEMetadata.cs index 82c138d..0231ba4 100644 --- a/CUETools.Processor/CUEMetadata.cs +++ b/CUETools.Processor/CUEMetadata.cs @@ -24,6 +24,7 @@ namespace CUETools.Processor ReleaseDate = ""; Label = ""; Country = ""; + AlbumArt = new List(); Tracks = new List(); } @@ -79,6 +80,8 @@ namespace CUETools.Processor public string Country { get; set; } public List Tracks { get; set; } + public List AlbumArt { get; set; } + [XmlIgnore] public string DiscNumber01 { @@ -150,6 +153,7 @@ namespace CUETools.Processor if ((overwrite || ReleaseDate == "") && metadata.ReleaseDate != "") ReleaseDate = metadata.ReleaseDate; if ((overwrite || Label == "") && metadata.Label != "") Label = metadata.Label; if ((overwrite || Country == "") && metadata.Country != "") Country = metadata.Country; + if ((overwrite || AlbumArt.Count == 0) && metadata.AlbumArt.Count != 0) AlbumArt = metadata.AlbumArt; for (int i = 0; i < Tracks.Count; i++) { if ((overwrite || Tracks[i].Title == "") && metadata.Tracks[i].Title != "") Tracks[i].Title = metadata.Tracks[i].Title; @@ -212,6 +216,7 @@ namespace CUETools.Processor ReleaseDate = metadata.ReleaseDate; Country = metadata.Country; Label = metadata.Label; + AlbumArt = metadata.AlbumArt; for (int i = 0; i < Tracks.Count; i++) { Tracks[i].Title = metadata.Tracks[i].Title; @@ -250,6 +255,9 @@ namespace CUETools.Processor if (cdEntry.label != null) foreach (var l in cdEntry.label) this.Label = (this.Label == "" ? "" : this.Label + ": ") + (l.name ?? "") + (l.name != null && l.catno != null ? " " : "") + (l.catno ?? ""); + this.AlbumArt.Clear(); + if (cdEntry.coverart != null) + this.AlbumArt.AddRange(cdEntry.coverart); if (cdEntry.track != null && cdEntry.track.Length >= this.Tracks.Count) { for (int i = 0; i < this.Tracks.Count; i++) diff --git a/CUETools.Processor/CUESheet.cs b/CUETools.Processor/CUESheet.cs index d7dae64..d214acb 100644 --- a/CUETools.Processor/CUESheet.cs +++ b/CUETools.Processor/CUESheet.cs @@ -2754,6 +2754,14 @@ namespace CUETools.Processor } } + public void AddAlbumArt(byte[] encoded) + { + var data = new TagLib.ByteVector(encoded); + var picture = new TagLib.Picture(data); + picture.Type = TagLib.PictureType.FrontCover; + _albumArt.Add(picture); + } + public void ResizeAlbumArt() { if (_albumArt == null) diff --git a/CUETools/frmCUETools.Designer.cs b/CUETools/frmCUETools.Designer.cs index bb72c17..c0d4746 100644 --- a/CUETools/frmCUETools.Designer.cs +++ b/CUETools/frmCUETools.Designer.cs @@ -201,18 +201,18 @@ namespace JDP { // // toolStripStatusLabelProcessed // - this.toolStripStatusLabelProcessed.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.toolStripStatusLabelProcessed.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.toolStripStatusLabelProcessed.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter; this.toolStripStatusLabelProcessed.Name = "toolStripStatusLabelProcessed"; resources.ApplyResources(this.toolStripStatusLabelProcessed, "toolStripStatusLabelProcessed"); // // toolStripStatusLabelCTDB // - this.toolStripStatusLabelCTDB.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.toolStripStatusLabelCTDB.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.toolStripStatusLabelCTDB.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter; resources.ApplyResources(this.toolStripStatusLabelCTDB, "toolStripStatusLabelCTDB"); this.toolStripStatusLabelCTDB.Image = global::JDP.Properties.Resources.cdrepair1; @@ -220,9 +220,9 @@ namespace JDP { // // toolStripStatusLabelAR // - this.toolStripStatusLabelAR.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.toolStripStatusLabelAR.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.toolStripStatusLabelAR.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenOuter; resources.ApplyResources(this.toolStripStatusLabelAR, "toolStripStatusLabelAR"); this.toolStripStatusLabelAR.Image = global::JDP.Properties.Resources.AR; diff --git a/CUETools/frmCUETools.resx b/CUETools/frmCUETools.resx index 3db18db..a1f96c5 100644 --- a/CUETools/frmCUETools.resx +++ b/CUETools/frmCUETools.resx @@ -132,7 +132,7 @@ MiddleLeft - 32, 31 + 32, 24 ETA @@ -997,7 +997,7 @@ 10, 70 - 38, 13 + 51, 17 16 @@ -1030,7 +1030,7 @@ 10, 36 - 39, 13 + 52, 17 15 @@ -1063,7 +1063,7 @@ 10, 53 - 41, 13 + 55, 17 14 @@ -1096,7 +1096,7 @@ 10, 19 - 49, 13 + 65, 17 13 @@ -1585,7 +1585,7 @@ 6, 71 - 109, 17 + 106, 17 6 @@ -1651,7 +1651,7 @@ 6, 37 - 53, 17 + 51, 17 3 @@ -1684,7 +1684,7 @@ 6, 20 - 60, 17 + 62, 17 2