CUERipper: AlbumArt support

This commit is contained in:
chudov
2012-02-13 07:24:25 +00:00
parent 2161457451
commit fe3704f598
8 changed files with 1240 additions and 952 deletions

View File

@@ -45,11 +45,11 @@ namespace CUERipper
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.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();
@@ -90,8 +90,8 @@ namespace CUERipper
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.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();
@@ -99,6 +99,9 @@ namespace CUERipper
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();
@@ -111,6 +114,8 @@ namespace CUERipper
((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
@@ -196,10 +201,10 @@ namespace CUERipper
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);
this.listTracks.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listTracks_KeyDown);
this.listTracks.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.listTracks_PreviewKeyDown);
//
// Title
//
@@ -515,13 +520,13 @@ namespace CUERipper
//
// 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;
resources.ApplyResources(this.bnComboBoxRelease, "bnComboBoxRelease");
this.bnComboBoxRelease.MinimumSize = new System.Drawing.Size(61, 0);
this.bnComboBoxRelease.Name = "bnComboBoxRelease";
rectRadius5.BottomLeft = 2;
@@ -549,16 +554,17 @@ namespace CUERipper
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;
resources.ApplyResources(this.bnComboBoxDrives, "bnComboBoxDrives");
this.bnComboBoxDrives.MinimumSize = new System.Drawing.Size(61, 0);
this.bnComboBoxDrives.Name = "bnComboBoxDrives";
rectRadius6.BottomLeft = 2;
@@ -570,11 +576,11 @@ namespace CUERipper
//
// 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;
resources.ApplyResources(this.bnComboBoxOutputFormat, "bnComboBoxOutputFormat");
this.bnComboBoxOutputFormat.MinimumSize = new System.Drawing.Size(40, 0);
this.bnComboBoxOutputFormat.Name = "bnComboBoxOutputFormat";
rectRadius7.BottomLeft = 2;
@@ -583,13 +589,14 @@ namespace CUERipper
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);
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});
@@ -597,7 +604,6 @@ namespace CUERipper
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;
@@ -673,10 +679,37 @@ namespace CUERipper
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);
@@ -686,24 +719,19 @@ namespace CUERipper
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.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.Load += new System.EventHandler(this.frmCUERipper_Load);
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();
@@ -719,6 +747,8 @@ namespace CUERipper
((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;
}
}

View File

@@ -255,6 +255,7 @@ namespace CUERipper
listTracks.Items.Clear();
data.Releases.Clear();
data.selectedRelease = null;
ResetAlbumArt();
selectedDriveInfo = null;
bnComboBoxRelease.Text = "";
@@ -320,6 +321,10 @@ 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();
}
@@ -742,6 +756,10 @@ namespace CUERipper
_workThread = null;
if (musicbrainzError != "")
musicbrainzError = musicbrainzError + ": ";
while (backgroundWorkerArtwork.IsBusy)
{
Thread.Sleep(100);
}
this.BeginInvoke((MethodInvoker)delegate()
{
SetupControls();
@@ -758,6 +776,7 @@ namespace CUERipper
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 });
});
}
@@ -784,6 +803,7 @@ namespace CUERipper
listTracks.Items.Clear();
data.Releases.Clear();
data.selectedRelease = null;
ResetAlbumArt();
bnComboBoxRelease.Enabled = false;
bnComboBoxRelease.Text = "";
if (selectedDriveInfo == null)
@@ -1224,6 +1244,7 @@ namespace CUERipper
loadAllMetadata = true;
data.Releases.Clear();
data.selectedRelease = null;
ResetAlbumArt();
UpdateRelease();
_workThread = new Thread(Lookup);
_workThread.Priority = ThreadPriority.BelowNormal;
@@ -1362,6 +1383,144 @@ namespace CUERipper
SetupControls();
_workThread.Start();
}
List<AlbumArt> albumArt = new List<AlbumArt>();
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<string>();
var firstUrls = new List<string>();
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

View File

@@ -118,11 +118,11 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>0, 469</value>
<value>222, 95</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="toolStripStatusLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>394, 20</value>
<value>473, 20</value>
</data>
<data name="toolStripStatusLabel1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
@@ -136,21 +136,20 @@
<data name="toolStripStatusAr.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="toolStripStatusAr.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
@@ -178,7 +177,7 @@
<value>0, 469</value>
</data>
<data name="statusStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>571, 25</value>
<value>650, 25</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="statusStrip1.TabIndex" type="System.Int32, mscorlib">
@@ -197,7 +196,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;statusStrip1.ZOrder" xml:space="preserve">
<value>15</value>
<value>14</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listTracks.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@@ -210,7 +209,7 @@
<value>Title</value>
</data>
<data name="Title.Width" type="System.Int32, mscorlib">
<value>235</value>
<value>300</value>
</data>
<data name="TrackNo.DisplayIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -240,10 +239,10 @@
<value>70</value>
</data>
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 87</value>
<value>7, 87</value>
</data>
<data name="listTracks.Size" type="System.Drawing.Size, System.Drawing">
<value>553, 221</value>
<value>630, 220</value>
</data>
<data name="listTracks.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@@ -273,10 +272,10 @@
<value>NoControl</value>
</data>
<data name="buttonGo.Location" type="System.Drawing.Point, System.Drawing">
<value>382, 343</value>
<value>3, 3</value>
</data>
<data name="buttonGo.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 33</value>
<value>170, 33</value>
</data>
<data name="buttonGo.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@@ -291,10 +290,10 @@
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonGo.Parent" xml:space="preserve">
<value>$this</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;buttonGo.ZOrder" xml:space="preserve">
<value>14</value>
<value>0</value>
</data>
<data name="buttonAbort.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -303,7 +302,7 @@
<value>NoControl</value>
</data>
<data name="buttonAbort.Location" type="System.Drawing.Point, System.Drawing">
<value>474, 343</value>
<value>88, 3</value>
</data>
<data name="buttonAbort.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 33</value>
@@ -324,10 +323,10 @@
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonAbort.Parent" xml:space="preserve">
<value>$this</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;buttonAbort.ZOrder" xml:space="preserve">
<value>16</value>
<value>2</value>
</data>
<data name="buttonPause.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -336,10 +335,10 @@
<value>NoControl</value>
</data>
<data name="buttonPause.Location" type="System.Drawing.Point, System.Drawing">
<value>383, 343</value>
<value>3, 3</value>
</data>
<data name="buttonPause.Size" type="System.Drawing.Size, System.Drawing">
<value>85, 33</value>
<value>79, 33</value>
</data>
<data name="buttonPause.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
@@ -357,13 +356,13 @@
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonPause.Parent" xml:space="preserve">
<value>$this</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;buttonPause.ZOrder" xml:space="preserve">
<value>17</value>
<value>1</value>
</data>
<data name="numericWriteOffset.Location" type="System.Drawing.Point, System.Drawing">
<value>310, 15</value>
<value>257, 20</value>
</data>
<data name="numericWriteOffset.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 20</value>
@@ -393,7 +392,7 @@
<value>NoControl</value>
</data>
<data name="lblWriteOffset.Location" type="System.Drawing.Point, System.Drawing">
<value>242, 19</value>
<value>189, 22</value>
</data>
<data name="lblWriteOffset.Size" type="System.Drawing.Size, System.Drawing">
<value>62, 13</value>
@@ -423,16 +422,16 @@
<value>NoControl</value>
</data>
<data name="checkBoxEACMode.Location" type="System.Drawing.Point, System.Drawing">
<value>245, 44</value>
<value>192, 47</value>
</data>
<data name="checkBoxEACMode.Size" type="System.Drawing.Size, System.Drawing">
<value>64, 17</value>
<value>88, 17</value>
</data>
<data name="checkBoxEACMode.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="checkBoxEACMode.Text" xml:space="preserve">
<value>EAC log</value>
<value>EAC log style</value>
</data>
<data name="&gt;&gt;checkBoxEACMode.Name" xml:space="preserve">
<value>checkBoxEACMode</value>
@@ -447,7 +446,7 @@
<value>11</value>
</data>
<metadata name="losslessOrNotBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>369, 95</value>
<value>17, 95</value>
</metadata>
<metadata name="bindingSourceCR.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>210, 56</value>
@@ -477,7 +476,7 @@
<value>0</value>
</data>
<metadata name="encodersBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>189, 95</value>
<value>1217, 56</value>
</metadata>
<data name="bnComboBoxEncoder.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 46</value>
@@ -507,7 +506,7 @@
<value>NoControl</value>
</data>
<data name="labelSecureMode.Location" type="System.Drawing.Point, System.Drawing">
<value>248, 98</value>
<value>195, 103</value>
</data>
<data name="labelSecureMode.Size" type="System.Drawing.Size, System.Drawing">
<value>109, 18</value>
@@ -531,7 +530,7 @@
<value>2</value>
</data>
<metadata name="formatsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 95</value>
<value>1045, 56</value>
</metadata>
<data name="bnComboBoxFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 19</value>
@@ -729,7 +728,7 @@
<value>NoControl</value>
</data>
<data name="trackBarSecureMode.Location" type="System.Drawing.Point, System.Drawing">
<value>237, 71</value>
<value>184, 76</value>
</data>
<data name="trackBarSecureMode.Size" type="System.Drawing.Size, System.Drawing">
<value>127, 45</value>
@@ -753,7 +752,7 @@
<value>6, 332</value>
</data>
<data name="groupBoxSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>370, 134</value>
<value>320, 134</value>
</data>
<data name="groupBoxSettings.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
@@ -771,17 +770,17 @@
<value>12</value>
</data>
<metadata name="drivesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>998, 56</value>
<value>882, 56</value>
</metadata>
<metadata name="imageListChecked.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>207, 17</value>
</metadata>
<data name="imageListChecked.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy
CQAAAk1TRnQBSQFMAgEBBAEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CQAAAk1TRnQBSQFMAgEBBAEAAWQBAAFkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -837,7 +836,7 @@
<value>624, 17</value>
</metadata>
<data name="progressBarErrors.Location" type="System.Drawing.Point, System.Drawing">
<value>382, 421</value>
<value>3, 91</value>
</data>
<metadata name="plainProgressPainter1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>454, 17</value>
@@ -846,7 +845,7 @@
<value>789, 17</value>
</metadata>
<data name="progressBarErrors.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 23</value>
<value>170, 23</value>
</data>
<data name="progressBarErrors.TabIndex" type="System.Int32, mscorlib">
<value>30</value>
@@ -855,22 +854,22 @@
<value>progressBarErrors</value>
</data>
<data name="&gt;&gt;progressBarErrors.Type" xml:space="preserve">
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;progressBarErrors.Parent" xml:space="preserve">
<value>$this</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;progressBarErrors.ZOrder" xml:space="preserve">
<value>9</value>
<value>4</value>
</data>
<data name="progressBarCD.Location" type="System.Drawing.Point, System.Drawing">
<value>382, 392</value>
<value>3, 64</value>
</data>
<metadata name="plainProgressPainter2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>356, 56</value>
</metadata>
<data name="progressBarCD.Size" type="System.Drawing.Size, System.Drawing">
<value>176, 23</value>
<value>170, 23</value>
</data>
<data name="progressBarCD.TabIndex" type="System.Int32, mscorlib">
<value>31</value>
@@ -882,19 +881,22 @@
<value>progressBarCD</value>
</data>
<data name="&gt;&gt;progressBarCD.Type" xml:space="preserve">
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;progressBarCD.Parent" xml:space="preserve">
<value>$this</value>
<value>panel1</value>
</data>
<data name="&gt;&gt;progressBarCD.ZOrder" xml:space="preserve">
<value>11</value>
<value>3</value>
</data>
<data name="txtOutputPath.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="txtOutputPath.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 312</value>
</data>
<data name="txtOutputPath.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 20</value>
<value>633, 20</value>
</data>
<data name="txtOutputPath.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@@ -912,7 +914,10 @@
<value>$this</value>
</data>
<data name="&gt;&gt;txtOutputPath.ZOrder" xml:space="preserve">
<value>19</value>
<value>15</value>
</data>
<data name="bnComboBoxRelease.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<metadata name="releasesBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>708, 56</value>
@@ -922,10 +927,10 @@
</metadata>
<data name="imageListMetadataSource.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
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=
</value>
</data>
<data name="bnComboBoxRelease.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 33</value>
</data>
<data name="bnComboBoxRelease.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 21</value>
<value>632, 21</value>
</data>
<data name="bnComboBoxRelease.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -1017,13 +1027,16 @@
<value>$this</value>
</data>
<data name="&gt;&gt;bnComboBoxRelease.ZOrder" xml:space="preserve">
<value>7</value>
<value>9</value>
</data>
<data name="bnComboBoxDrives.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="bnComboBoxDrives.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 6</value>
</data>
<data name="bnComboBoxDrives.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 21</value>
<value>632, 21</value>
</data>
<data name="bnComboBoxDrives.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -1041,13 +1054,16 @@
<value>$this</value>
</data>
<data name="&gt;&gt;bnComboBoxDrives.ZOrder" xml:space="preserve">
<value>8</value>
<value>10</value>
</data>
<data name="bnComboBoxOutputFormat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="bnComboBoxOutputFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 312</value>
</data>
<data name="bnComboBoxOutputFormat.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 21</value>
<value>633, 21</value>
</data>
<data name="bnComboBoxOutputFormat.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -1065,7 +1081,10 @@
<value>$this</value>
</data>
<data name="&gt;&gt;bnComboBoxOutputFormat.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="listMetadata.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="columnHeaderValue.DisplayIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -1074,7 +1093,7 @@
<value>Value</value>
</data>
<data name="columnHeaderValue.Width" type="System.Int32, mscorlib">
<value>400</value>
<value>450</value>
</data>
<data name="columnHeaderName.DisplayIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -1083,13 +1102,13 @@
<value>Name</value>
</data>
<data name="columnHeaderName.Width" type="System.Int32, mscorlib">
<value>120</value>
<value>140</value>
</data>
<data name="listMetadata.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 87</value>
</data>
<data name="listMetadata.Size" type="System.Drawing.Size, System.Drawing">
<value>550, 220</value>
<value>630, 220</value>
</data>
<data name="listMetadata.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -1107,7 +1126,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;listMetadata.ZOrder" xml:space="preserve">
<value>18</value>
<value>16</value>
</data>
<data name="buttonTrackMetadata.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>Flat</value>
@@ -1119,7 +1138,7 @@
<value>NoControl</value>
</data>
<data name="buttonTrackMetadata.Location" type="System.Drawing.Point, System.Drawing">
<value>373, 112</value>
<value>483, 63</value>
</data>
<data name="buttonTrackMetadata.Size" type="System.Drawing.Size, System.Drawing">
<value>19, 17</value>
@@ -1140,7 +1159,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonTrackMetadata.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="buttonMetadata.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 60</value>
@@ -1167,7 +1186,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonMetadata.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="buttonVA.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -1197,7 +1216,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonVA.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="buttonReload.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -1227,7 +1246,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonReload.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="buttonEncoding.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -1257,7 +1276,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonEncoding.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="buttonTracks.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -1290,7 +1309,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonTracks.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="buttonFreedbSubmit.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -1320,8 +1339,59 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonFreedbSubmit.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="panel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>462, 339</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>176, 125</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>42</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>332, 339</value>
</data>
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 125</value>
</data>
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>Zoom</value>
</data>
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
<value>43</value>
</data>
<data name="&gt;&gt;pictureBox1.Name" xml:space="preserve">
<value>pictureBox1</value>
</data>
<data name="&gt;&gt;pictureBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pictureBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;pictureBox1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="backgroundWorkerArtwork.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1148, 17</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -1332,7 +1402,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>571, 494</value>
<value>650, 494</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1855,31 +1925,31 @@
<value>plainBackgroundPainter1</value>
</data>
<data name="&gt;&gt;plainBackgroundPainter1.Type" xml:space="preserve">
<value>ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;styledBorderPainter1.Name" xml:space="preserve">
<value>styledBorderPainter1</value>
</data>
<data name="&gt;&gt;styledBorderPainter1.Type" xml:space="preserve">
<value>ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;plainProgressPainter1.Name" xml:space="preserve">
<value>plainProgressPainter1</value>
</data>
<data name="&gt;&gt;plainProgressPainter1.Type" xml:space="preserve">
<value>ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;gradientGlossPainter1.Name" xml:space="preserve">
<value>gradientGlossPainter1</value>
</data>
<data name="&gt;&gt;gradientGlossPainter1.Type" xml:space="preserve">
<value>ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;plainProgressPainter2.Name" xml:space="preserve">
<value>plainProgressPainter2</value>
</data>
<data name="&gt;&gt;plainProgressPainter2.Type" xml:space="preserve">
<value>ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3766.36643, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.4313.32741, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;toolTip1.Name" xml:space="preserve">
<value>toolTip1</value>
@@ -1911,6 +1981,12 @@
<data name="&gt;&gt;columnHeaderName.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;backgroundWorkerArtwork.Name" xml:space="preserve">
<value>backgroundWorkerArtwork</value>
</data>
<data name="&gt;&gt;backgroundWorkerArtwork.Type" xml:space="preserve">
<value>System.ComponentModel.BackgroundWorker, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmCUERipper</value>
</data>

View File

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

View File

@@ -24,6 +24,7 @@ namespace CUETools.Processor
ReleaseDate = "";
Label = "";
Country = "";
AlbumArt = new List<CTDB.CTDBResponseMetaImage>();
Tracks = new List<CUETrackMetadata>();
}
@@ -79,6 +80,8 @@ namespace CUETools.Processor
public string Country { get; set; }
public List<CUETrackMetadata> Tracks { get; set; }
public List<CTDB.CTDBResponseMetaImage> 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++)

View File

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

View File

@@ -132,7 +132,7 @@
<value>MiddleLeft</value>
</data>
<data name="toolStripStatusLabelProcessed.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 31</value>
<value>32, 24</value>
</data>
<data name="toolStripStatusLabelProcessed.Text" xml:space="preserve">
<value>ETA</value>
@@ -997,7 +997,7 @@
<value>10, 70</value>
</data>
<data name="radioButtonAudioNone.Size" type="System.Drawing.Size, System.Drawing">
<value>38, 13</value>
<value>51, 17</value>
</data>
<data name="radioButtonAudioNone.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
@@ -1030,7 +1030,7 @@
<value>10, 36</value>
</data>
<data name="radioButtonAudioLossy.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 13</value>
<value>52, 17</value>
</data>
<data name="radioButtonAudioLossy.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
@@ -1063,7 +1063,7 @@
<value>10, 53</value>
</data>
<data name="radioButtonAudioHybrid.Size" type="System.Drawing.Size, System.Drawing">
<value>41, 13</value>
<value>55, 17</value>
</data>
<data name="radioButtonAudioHybrid.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
@@ -1096,7 +1096,7 @@
<value>10, 19</value>
</data>
<data name="radioButtonAudioLossless.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 13</value>
<value>65, 17</value>
</data>
<data name="radioButtonAudioLossless.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
@@ -1585,7 +1585,7 @@
<value>6, 71</value>
</data>
<data name="rbActionCorrectFilenames.Size" type="System.Drawing.Size, System.Drawing">
<value>109, 17</value>
<value>106, 17</value>
</data>
<data name="rbActionCorrectFilenames.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -1651,7 +1651,7 @@
<value>6, 37</value>
</data>
<data name="rbActionVerify.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 17</value>
<value>51, 17</value>
</data>
<data name="rbActionVerify.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@@ -1684,7 +1684,7 @@
<value>6, 20</value>
</data>
<data name="rbActionEncode.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 17</value>
<value>62, 17</value>
</data>
<data name="rbActionEncode.TabIndex" type="System.Int32, mscorlib">
<value>2</value>