CUERipper update;

CTDB xml interface;
Minor bugfixes;
Version 2.0.6-2.0.7
This commit is contained in:
chudov
2010-03-20 07:09:07 +00:00
parent ff3259e08a
commit f01d0b5241
74 changed files with 4203 additions and 1392 deletions

View File

@@ -15,6 +15,35 @@
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<ApplicationIcon>cue2.ico</ApplicationIcon>
<ManifestCertificateThumbprint>F89503BB83CA42A647C506D67956D6F32C1C6E7E</ManifestCertificateThumbprint>
<ManifestKeyFile>CUERipper_TemporaryKey.pfx</ManifestKeyFile>
<GenerateManifests>true</GenerateManifests>
<SignManifests>true</SignManifests>
<IsWebBootstrapper>true</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled>
<UpdateMode>Background</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<InstallUrl>http://www.cuetools.net/install/cueripper/</InstallUrl>
<SupportUrl>http://www.cuetools.net/</SupportUrl>
<ProductName>CUERipper</ProductName>
<PublisherName>Gregory S. Chudov</PublisherName>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>index.html</WebPage>
<ApplicationRevision>2</ApplicationRevision>
<ApplicationVersion>2.0.7.2</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -131,21 +160,185 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="musicbrainz.ico" />
<None Include="Resources\musicbrainz.ico" />
</ItemGroup>
<ItemGroup>
<None Include="cddb.ico" />
</ItemGroup>
<ItemGroup>
<None Include="freedb.gif" />
</ItemGroup>
<ItemGroup>
<Content Include="arok.ico" />
<Content Include="cue2.ico" />
<None Include="Resources\cdrepair.png" />
<None Include="Resources\accuraterip_16.bmp" />
<None Include="Resources\accuraterip.bmp" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
<Visible>False</Visible>
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
<Visible>False</Visible>
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Visual.C++.9.0.x64">
<Visible>False</Visible>
<ProductName>Visual C++ Runtime Libraries %28x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Visual.C++.9.0.x86">
<Visible>False</Visible>
<ProductName>Visual C++ Runtime Libraries %28x86%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Content Include="cue2.ico" />
<Content Include="Plugins %28win32%29\CUETools.Codecs.APE.dll" />
<Content Include="Plugins %28win32%29\CUETools.Codecs.FLAC.dll" />
<Content Include="Plugins %28win32%29\CUETools.Codecs.HDCD.dll" />
<Content Include="Plugins %28win32%29\CUETools.Codecs.TTA.dll" />
<Content Include="Plugins %28win32%29\CUETools.Codecs.WavPack.dll" />
<Content Include="Plugins %28win32%29\hdcd.dll" />
<Content Include="Plugins %28x64%29\CUETools.Codecs.APE.dll" />
<Content Include="Plugins %28x64%29\CUETools.Codecs.FLAC.dll" />
<Content Include="Plugins %28x64%29\CUETools.Codecs.HDCD.dll" />
<Content Include="Plugins %28x64%29\CUETools.Codecs.TTA.dll" />
<Content Include="Plugins %28x64%29\CUETools.Codecs.WavPack.dll" />
<Content Include="Plugins %28x64%29\hdcd.dll" />
<Content Include="Plugins\Bwg.Hardware.dll" />
<Content Include="Plugins\Bwg.Logging.dll" />
<Content Include="Plugins\Bwg.Scsi.dll" />
<Content Include="Plugins\CUDA.NET.dll" />
<Content Include="Plugins\CUETools.Codecs.ALAC.dll" />
<Content Include="Plugins\CUETools.Codecs.FlaCuda.dll" />
<Content Include="Plugins\CUETools.Codecs.FLAKE.dll" />
<Content Include="Plugins\CUETools.Ripper.SCSI.dll" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<PublishFile Include="Plugins %28win32%29\CUETools.Codecs.APE.dll">
<Visible>False</Visible>
<Group>Plugins %28win32%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28win32%29\CUETools.Codecs.FLAC.dll">
<Visible>False</Visible>
<Group>Plugins %28win32%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28win32%29\CUETools.Codecs.HDCD.dll">
<Visible>False</Visible>
<Group>Plugins %28win32%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28win32%29\CUETools.Codecs.TTA.dll">
<Visible>False</Visible>
<Group>Plugins %28win32%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28win32%29\CUETools.Codecs.WavPack.dll">
<Visible>False</Visible>
<Group>Plugins %28win32%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28win32%29\hdcd.dll">
<Visible>False</Visible>
<Group>Plugins %28win32%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28x64%29\CUETools.Codecs.APE.dll">
<Visible>False</Visible>
<Group>Plugins %28x64%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28x64%29\CUETools.Codecs.FLAC.dll">
<Visible>False</Visible>
<Group>Plugins %28x64%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28x64%29\CUETools.Codecs.HDCD.dll">
<Visible>False</Visible>
<Group>Plugins %28x64%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28x64%29\CUETools.Codecs.TTA.dll">
<Visible>False</Visible>
<Group>Plugins %28x64%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28x64%29\CUETools.Codecs.WavPack.dll">
<Visible>False</Visible>
<Group>Plugins %28x64%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Plugins %28x64%29\hdcd.dll">
<Visible>False</Visible>
<Group>Plugins %28x64%29</Group>
<TargetPath>
</TargetPath>
<PublishState>Auto</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

View File

@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Deployment.Application;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace CUERipper
@@ -14,7 +16,33 @@ namespace CUERipper
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string arch = Marshal.SizeOf(typeof(IntPtr)) == 8 ? "x64" : "Win32";
GetSatelliteAssemblies("Plugins (" + arch + ")");
Application.Run(new frmCUERipper());
}
static void GetSatelliteAssemblies(string groupName)
{
if (ApplicationDeployment.IsNetworkDeployed)
{
ApplicationDeployment deploy = ApplicationDeployment.CurrentDeployment;
if (deploy.IsFirstRun)
{
try
{
deploy.DownloadFileGroup(groupName);
}
catch (DeploymentException de)
{
// Log error. Do not report this error to the user, because a satellite
// assembly may not exist if the user's culture and the application's
// default culture match.
}
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
CUERipper/cue2.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -33,6 +33,7 @@ namespace CUERipper
this.comboDrives = new System.Windows.Forms.ComboBox();
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();
@@ -73,6 +74,9 @@ namespace CUERipper
this.gradientGlossPainter1 = new ProgressODoom.GradientGlossPainter();
this.progressBarCD = new ProgressODoom.ProgressBarEx();
this.plainProgressPainter2 = new ProgressODoom.PlainProgressPainter();
this.comboBoxOutputFormat = new System.Windows.Forms.ComboBox();
this.txtOutputPath = new System.Windows.Forms.TextBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.statusStrip1.SuspendLayout();
this.contextMenuStripRelease.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit();
@@ -96,6 +100,7 @@ namespace CUERipper
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1,
this.toolStripStatusLabelMusicBrainz,
this.toolStripStatusCTDB,
this.toolStripStatusAr,
this.toolStripProgressBar1,
@@ -111,6 +116,17 @@ namespace CUERipper
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.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)
@@ -156,6 +172,7 @@ namespace CUERipper
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);
@@ -234,6 +251,7 @@ namespace CUERipper
this.comboRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboRelease.FormattingEnabled = true;
this.comboRelease.Name = "comboRelease";
this.toolTip1.SetToolTip(this.comboRelease, resources.GetString("comboRelease.ToolTip"));
this.comboRelease.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.comboRelease_DrawItem);
this.comboRelease.SelectedIndexChanged += new System.EventHandler(this.comboRelease_SelectedIndexChanged);
this.comboRelease.Format += new System.Windows.Forms.ListControlConvertEventHandler(this.comboRelease_Format);
@@ -443,10 +461,34 @@ namespace CUERipper
this.plainProgressPainter2.LeadingEdge = System.Drawing.Color.Transparent;
this.plainProgressPainter2.ProgressBorderPainter = null;
//
// comboBoxOutputFormat
//
this.comboBoxOutputFormat.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.comboBoxOutputFormat.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
this.comboBoxOutputFormat.FormattingEnabled = true;
resources.ApplyResources(this.comboBoxOutputFormat, "comboBoxOutputFormat");
this.comboBoxOutputFormat.Name = "comboBoxOutputFormat";
this.toolTip1.SetToolTip(this.comboBoxOutputFormat, resources.GetString("comboBoxOutputFormat.ToolTip"));
this.comboBoxOutputFormat.SelectedIndexChanged += new System.EventHandler(this.comboBoxOutputFormat_SelectedIndexChanged);
this.comboBoxOutputFormat.MouseLeave += new System.EventHandler(this.comboBoxOutputFormat_MouseLeave);
this.comboBoxOutputFormat.TextUpdate += new System.EventHandler(this.comboBoxOutputFormat_TextUpdate);
//
// txtOutputPath
//
this.txtOutputPath.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.txtOutputPath.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.FileSystem;
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);
//
// frmCUERipper
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.txtOutputPath);
this.Controls.Add(this.comboBoxOutputFormat);
this.Controls.Add(this.progressBarErrors);
this.Controls.Add(this.progressBarCD);
this.Controls.Add(this.groupBoxSettings);
@@ -463,6 +505,7 @@ namespace CUERipper
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();
this.contextMenuStripRelease.ResumeLayout(false);
@@ -522,6 +565,10 @@ namespace CUERipper
private ProgressODoom.GradientGlossPainter gradientGlossPainter1;
private ProgressODoom.ProgressBarEx progressBarCD;
private ProgressODoom.PlainProgressPainter plainProgressPainter2;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelMusicBrainz;
private System.Windows.Forms.ComboBox comboBoxOutputFormat;
private System.Windows.Forms.TextBox txtOutputPath;
private System.Windows.Forms.ToolTip toolTip1;
}
}

View File

@@ -30,7 +30,6 @@ namespace CUERipper
private string _format;
private CUESheet metadata, cueSheet;
private string _pathOut;
private string _pathFormat;
string _defaultLosslessFormat, _defaultLossyFormat, _defaultHybridFormat;
private CUEControls.ShellIconMgr m_icon_mgr;
@@ -47,6 +46,11 @@ namespace CUERipper
// return (byte)(((val / 10) << 4) + (val % 10));
//}
string[] OutputPathUseTemplates = {
"%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue",
"%music%\\%artist%\\[%year% - ]%album%[ - %edition%]$ifgreater($max(%discnumber%,%totaldiscs%),1, - cd %discnumber%,)[' ('%unique%')']\\%artist% - %album%[ - %edition%].cue"
};
private void frmCUERipper_Load(object sender, EventArgs e)
{
//byte[] _subchannelBuffer0 = { 0x01, 0x01, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x02, 0x0A, 0x4C, 0x43 };
@@ -79,7 +83,14 @@ namespace CUERipper
//_config.createEACLOG = sr.LoadBoolean("CreateEACLOG") ?? true;
//_config.preserveHTOA = sr.LoadBoolean("PreserveHTOA") ?? false;
//_config.createM3U = sr.LoadBoolean("CreateM3U") ?? true;
_pathFormat = sr.Load("PathFormat") ?? "%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue";
int iFormat, nFormats = sr.LoadInt32("OutputPathUseTemplates", 0, 10) ?? 0;
for (iFormat = 0; iFormat < OutputPathUseTemplates.Length; iFormat++)
comboBoxOutputFormat.Items.Add(OutputPathUseTemplates[iFormat]);
for (iFormat = nFormats - 1; iFormat >= 0; iFormat--)
comboBoxOutputFormat.Items.Add(sr.Load(string.Format("OutputPathUseTemplate{0}", iFormat)) ?? "");
comboBoxOutputFormat.Text = sr.Load("PathFormat") ?? "%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue";
checkBoxEACMode.Checked = _config.createEACLOG;
SelectedOutputAudioType = (AudioEncoderType?)sr.LoadInt32("OutputAudioType", null, null) ?? AudioEncoderType.Lossless;
comboBoxAudioFormat.SelectedIndex = sr.LoadInt32("ComboCodec", 0, comboBoxAudioFormat.Items.Count - 1) ?? 0;
@@ -118,7 +129,7 @@ namespace CUERipper
/// <param name="m">the windows message being processed</param>
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_DEVICECHANGE)
if (m.Msg == WM_DEVICECHANGE && _workThread == null)
{
int val = m.WParam.ToInt32();
if (val == DBT_DEVICEARRIVAL || val == DBT_DEVICEREMOVECOMPLETE)
@@ -174,9 +185,16 @@ namespace CUERipper
comboDrives.SelectedIndex = 0;
}
bool outputFormatVisible = false;
private void SetupControls ()
{
bool running = _workThread != null;
comboBoxOutputFormat.Visible = outputFormatVisible;
txtOutputPath.Visible = !outputFormatVisible;
txtOutputPath.Enabled = !running && !outputFormatVisible;
comboBoxOutputFormat.Enabled =
listTracks.Enabled =
comboDrives.Enabled =
comboRelease.Enabled =
@@ -230,7 +248,9 @@ namespace CUERipper
double speed = elapsed.TotalSeconds > 0 ? processed / elapsed.TotalSeconds / 75 : 1.0;
double percentTrck = (double)(e.Position - e.PassStart) / (e.PassEnd - e.PassStart);
string status = string.Format("Ripping @{0:00.00}x {1}", speed, e.Pass > 0 ? " (Retry " + e.Pass.ToString() + ")" : "");
string status = (elapsed.TotalSeconds > 0 && e.Pass >= 0) ?
string.Format("{0} @{1:00.00}x{2}...", e.Action, speed, e.Pass > 0 ? " (Retry " + e.Pass.ToString() + ")" : "") :
string.Format("{0}{1}...", e.Action, e.Pass > 0 ? " (Retry " + e.Pass.ToString() + ")" : "");
this.BeginInvoke((MethodInvoker)delegate()
{
toolStripStatusLabel1.Text = status;
@@ -263,12 +283,11 @@ namespace CUERipper
submit &= audioSource.CorrectionQuality > 0;
foreach (DBEntry entry in cueSheet.CTDB.Entries)
if (!entry.hasErrors)
if (entry.toc.TrackOffsets == _reader.TOC.TrackOffsets && !entry.hasErrors)
confirm = entry;
int start = (int)cueSheet.TOC[cueSheet.TOC.FirstAudio][0].Start;
for (int iSector = 0; iSector < (int)cueSheet.TOC.AudioLength; iSector++)
if (audioSource.Errors[start + iSector])
if (audioSource.Errors[iSector])
submit = false;
if (submit)
@@ -316,11 +335,18 @@ namespace CUERipper
if (_reader == null)
return;
if (!comboBoxOutputFormat.Items.Contains(comboBoxOutputFormat.Text) && comboBoxOutputFormat.Text.Contains("%"))
{
comboBoxOutputFormat.Items.Insert(OutputPathUseTemplates.Length, comboBoxOutputFormat.Text);
if (comboBoxOutputFormat.Items.Count > OutputPathUseTemplates.Length + 10)
comboBoxOutputFormat.Items.RemoveAt(OutputPathUseTemplates.Length + 10);
}
cueSheet.CopyMetadata(metadata);
_format = (string)comboBoxAudioFormat.SelectedItem;
cueSheet.OutputStyle = comboImage.SelectedIndex == 0 ? CUEStyle.SingleFileWithCUE :
CUEStyle.GapsAppended;
_pathOut = cueSheet.GenerateUniqueOutputPath(_pathFormat,
_pathOut = cueSheet.GenerateUniqueOutputPath(comboBoxOutputFormat.Text,
cueSheet.OutputStyle == CUEStyle.SingleFileWithCUE ? "." + _format : ".cue",
CUEAction.Encode, null);
if (_pathOut == "")
@@ -359,6 +385,7 @@ namespace CUERipper
private void UpdateRelease()
{
listTracks.Items.Clear();
metadata = null;
if (comboRelease.SelectedItem == null || comboRelease.SelectedItem is string)
return;
metadata = ((ReleaseInfo)comboRelease.SelectedItem).metadata;
@@ -370,6 +397,7 @@ namespace CUERipper
_reader.TOC[i].StartMSF,
_reader.TOC[i].LengthMSF }));
}
comboBoxOutputFormat_TextUpdate(this, new EventArgs());
}
private void comboRelease_SelectedIndexChanged(object sender, EventArgs e)
@@ -410,7 +438,7 @@ namespace CUERipper
private ReleaseInfo CreateCUESheet(ICDRipper audioSource, Release release, CDEntry cdEntry)
{
ReleaseInfo r = new ReleaseInfo(cueSheet);
ReleaseInfo r = new ReleaseInfo(_config, audioSource.TOC);
General.SetCUELine(r.metadata.Attributes, "REM", "GENRE", "", true);
General.SetCUELine(r.metadata.Attributes, "REM", "DATE", "", false);
if (release != null)
@@ -441,13 +469,13 @@ namespace CUERipper
cueSheet = new CUESheet(_config);
cueSheet.OpenCD(audioSource);
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
cueSheet.Action = CUEAction.Encode;
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting CTDB database..."; });
cueSheet.UseCUEToolsDB(true, "CUERipper 2.0.6: " + _reader.ARName);
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting AccurateRip database..."; });
cueSheet.UseAccurateRip();
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Contacting CTDB database..."; });
cueSheet.UseCUEToolsDB(true, "CUERipper 205: " + _reader.ARName);
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = "Looking album info..."; });
General.SetCUELine(cueSheet.Attributes, "REM", "DISCID", AccurateRipVerify.CalculateCDDBId(audioSource.TOC), false);
@@ -547,11 +575,15 @@ namespace CUERipper
SetupControls();
comboRelease.SelectedIndex = 0;
toolStripStatusAr.Visible = cueSheet.ArVerify.ARStatus == null;
toolStripStatusAr.Text = cueSheet.ArVerify.ARStatus == null ? cueSheet.ArVerify.Total(0).ToString() : "?";
toolStripStatusAr.Text = cueSheet.ArVerify.ARStatus == null ? cueSheet.ArVerify.WorstTotal().ToString() : "?";
toolStripStatusAr.ToolTipText = "AccurateRip: " + (cueSheet.ArVerify.ARStatus ?? "found") + ".";
toolStripStatusCTDB.Visible = cueSheet.CTDB.DBStatus == null;
toolStripStatusCTDB.Text = cueSheet.CTDB.DBStatus == null ? cueSheet.CTDB.Total.ToString() : "";
toolStripStatusCTDB.ToolTipText = "CUETools DB: " + (cueSheet.CTDB.DBStatus ?? "found") + ".";
toolStripStatusLabelMusicBrainz.BorderStyle = results.Count > 0 ? Border3DStyle.SunkenInner : Border3DStyle.RaisedInner;
toolStripStatusLabelMusicBrainz.Visible = true;
toolStripStatusLabelMusicBrainz.Text = results.Count > 0 ? results.Count.ToString() : "-";
toolStripStatusLabelMusicBrainz.ToolTipText = "Musicbrainz: " + results.Count.ToString() + " entries found.";
});
}
@@ -559,6 +591,7 @@ namespace CUERipper
{
toolStripStatusAr.Visible = false;
toolStripStatusCTDB.Visible = false;
toolStripStatusLabelMusicBrainz.Visible = false;
buttonGo.Enabled = false;
comboRelease.Items.Clear();
listTracks.Items.Clear();
@@ -567,6 +600,11 @@ namespace CUERipper
_reader = null;
return;
}
if (cueSheet != null)
{
cueSheet.Close();
cueSheet = null;
}
_reader = comboDrives.SelectedItem as ICDRipper;
try
{
@@ -644,6 +682,8 @@ namespace CUERipper
frmProperties frm = new frmProperties();
frm.CUE = ri.metadata;
frm.ShowDialog();
comboRelease.Invalidate();
comboBoxOutputFormat_TextUpdate(sender, e);
}
private void comboRelease_DrawItem(object sender, DrawItemEventArgs e)
@@ -683,8 +723,12 @@ namespace CUERipper
sw.Save("OutputAudioType", (int)SelectedOutputAudioType);
sw.Save("ComboCodec", comboBoxAudioFormat.SelectedIndex);
sw.Save("ComboImage", comboImage.SelectedIndex);
sw.Save("PathFormat", _pathFormat);
sw.Save("PathFormat", comboBoxOutputFormat.Text);
sw.Save("SecureMode", trackBarSecureMode.Value);
sw.Save("OutputPathUseTemplates", comboBoxOutputFormat.Items.Count - OutputPathUseTemplates.Length);
for (int iFormat = comboBoxOutputFormat.Items.Count - 1; iFormat >= OutputPathUseTemplates.Length; iFormat--)
sw.Save(string.Format("OutputPathUseTemplate{0}", iFormat - OutputPathUseTemplates.Length), comboBoxOutputFormat.Items[iFormat].ToString());
sw.Close();
}
@@ -813,6 +857,7 @@ namespace CUERipper
: SelectedOutputAudioType == AudioEncoderType.Lossless ? SelectedOutputAudioFmt.encoderLossless
: SelectedOutputAudioFmt.encoderLossy;
comboBoxEncoder.Enabled = true;
comboBoxOutputFormat_TextUpdate(sender, e);
}
private void comboBoxEncoder_SelectedIndexChanged(object sender, EventArgs e)
@@ -862,6 +907,54 @@ namespace CUERipper
string[] modes = new string[] { "Burst", "Secure", "Paranoid" };
labelSecureMode.Text = modes[trackBarSecureMode.Value];
}
private void toolStripStatusLabelMusicBrainz_Click(object sender, EventArgs e)
{
if (_reader == null)
return;
System.Diagnostics.Process.Start("http://musicbrainz.org/bare/cdlookup.html?toc=" + _reader.TOC.MusicBrainzTOC);
}
private void frmCUERipper_KeyDown(object sender, KeyEventArgs e)
{
if (_workThread == null && e.KeyCode == Keys.F5)
UpdateDrive();
}
private void comboBoxOutputFormat_SelectedIndexChanged(object sender, EventArgs e)
{
comboBoxOutputFormat_TextUpdate(sender, e);
}
private void comboBoxOutputFormat_TextUpdate(object sender, EventArgs e)
{
string _format = (string)comboBoxAudioFormat.SelectedItem;
CUEStyle style = comboImage.SelectedIndex == 0 ? CUEStyle.SingleFileWithCUE : CUEStyle.GapsAppended;
txtOutputPath.Text = metadata == null ? "" : metadata.GenerateUniqueOutputPath(comboBoxOutputFormat.Text,
style == CUEStyle.SingleFileWithCUE ? "." + _format : ".cue", CUEAction.Encode, null);
}
private void comboBoxOutputFormat_MouseLeave(object sender, EventArgs e)
{
if (!outputFormatVisible)
return;
outputFormatVisible = false;
comboBoxOutputFormat.Visible = false;
txtOutputPath.Enabled = true;
txtOutputPath.Visible = true;
}
private void txtOutputPath_Enter(object sender, EventArgs e)
{
if (outputFormatVisible)
return;
outputFormatVisible = true;
comboBoxOutputFormat.Visible = true;
comboBoxOutputFormat.Focus();
comboBoxOutputFormat.Select(0, 0);
txtOutputPath.Enabled = false;
txtOutputPath.Visible = false;
}
}
public class StartStop
@@ -908,10 +1001,10 @@ namespace CUERipper
public CUESheet metadata;
public Bitmap bitmap;
public ReleaseInfo(CUESheet cue)
public ReleaseInfo(CUEConfig config, CDImageLayout TOC)
{
metadata = new CUESheet(cue.Config);
metadata.TOC = cue.TOC;
metadata = new CUESheet(config);
metadata.TOC = TOC;
}
}
}

View File

@@ -142,17 +142,20 @@
<value>$this</value>
</data>
<data name="&gt;&gt;comboDrives.ZOrder" xml:space="preserve">
<value>9</value>
<value>11</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>376, 17</value>
<value>0, 456</value>
</metadata>
<data name="toolStripStatusLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>414, 20</value>
<value>394, 20</value>
</data>
<data name="toolStripStatusLabel1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="toolStripStatusLabelMusicBrainz.Size" type="System.Drawing.Size, System.Drawing">
<value>20, 20</value>
</data>
<data name="toolStripStatusCTDB.Size" type="System.Drawing.Size, System.Drawing">
<value>20, 20</value>
</data>
@@ -219,7 +222,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;statusStrip1.ZOrder" xml:space="preserve">
<value>7</value>
<value>9</value>
</data>
<data name="listTracks.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -255,14 +258,20 @@
<value>70</value>
</data>
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 60</value>
<value>6, 87</value>
</data>
<data name="listTracks.Size" type="System.Drawing.Size, System.Drawing">
<value>553, 272</value>
<value>553, 245</value>
</data>
<data name="listTracks.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>376, 17</value>
</metadata>
<data name="listTracks.ToolTip" xml:space="preserve">
<value>Double-click to edit track names</value>
</data>
<data name="&gt;&gt;listTracks.Name" xml:space="preserve">
<value>listTracks</value>
</data>
@@ -273,7 +282,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;listTracks.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="buttonGo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -303,7 +312,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonGo.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="comboBoxAudioFormat.Items" xml:space="preserve">
<value>flac</value>
@@ -399,7 +408,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonAbort.ZOrder" xml:space="preserve">
<value>8</value>
<value>10</value>
</data>
<data name="buttonPause.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -432,7 +441,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;buttonPause.ZOrder" xml:space="preserve">
<value>10</value>
<value>12</value>
</data>
<data name="comboRelease.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@@ -464,6 +473,9 @@
<data name="comboRelease.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="comboRelease.ToolTip" xml:space="preserve">
<value>Right-Click to edit artist/title</value>
</data>
<data name="&gt;&gt;comboRelease.Name" xml:space="preserve">
<value>comboRelease</value>
</data>
@@ -474,7 +486,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;comboRelease.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="numericWriteOffset.Location" type="System.Drawing.Point, System.Drawing">
<value>310, 15</value>
@@ -644,23 +656,20 @@
<data name="checkBoxEACMode.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBoxEACMode.CheckAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="checkBoxEACMode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="checkBoxEACMode.Location" type="System.Drawing.Point, System.Drawing">
<value>288, 44</value>
<value>245, 44</value>
</data>
<data name="checkBoxEACMode.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 17</value>
<value>64, 17</value>
</data>
<data name="checkBoxEACMode.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="checkBoxEACMode.Text" xml:space="preserve">
<value>EAC mode</value>
<value>EAC log</value>
</data>
<data name="&gt;&gt;checkBoxEACMode.Name" xml:space="preserve">
<value>checkBoxEACMode</value>
@@ -879,7 +888,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;groupBoxSettings.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>181, 22</value>
@@ -891,19 +900,19 @@
<value>207, 17</value>
</metadata>
<metadata name="plainBackgroundPainter1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>998, 17</value>
<value>979, 17</value>
</metadata>
<metadata name="styledBorderPainter1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>662, 17</value>
<value>643, 17</value>
</metadata>
<data name="progressBarErrors.Location" type="System.Drawing.Point, System.Drawing">
<value>382, 421</value>
</data>
<metadata name="plainProgressPainter1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>492, 17</value>
<value>473, 17</value>
</metadata>
<metadata name="gradientGlossPainter1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>827, 17</value>
<value>808, 17</value>
</metadata>
<data name="progressBarErrors.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 23</value>
@@ -915,13 +924,13 @@
<value>progressBarErrors</value>
</data>
<data name="&gt;&gt;progressBarErrors.Type" xml:space="preserve">
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3730.37805, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;progressBarErrors.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;progressBarErrors.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="progressBarCD.Location" type="System.Drawing.Point, System.Drawing">
<value>382, 392</value>
@@ -942,14 +951,65 @@
<value>progressBarCD</value>
</data>
<data name="&gt;&gt;progressBarCD.Type" xml:space="preserve">
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.ProgressBarEx, ProgressODoom, Version=1.0.3730.37805, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;progressBarCD.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;progressBarCD.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="comboBoxOutputFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 60</value>
</data>
<data name="comboBoxOutputFormat.MaxDropDownItems" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="comboBoxOutputFormat.Size" type="System.Drawing.Size, System.Drawing">
<value>553, 21</value>
</data>
<data name="comboBoxOutputFormat.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
</data>
<data name="comboBoxOutputFormat.ToolTip" xml:space="preserve">
<value>Template for output files (foobar2000 format)</value>
</data>
<data name="&gt;&gt;comboBoxOutputFormat.Name" xml:space="preserve">
<value>comboBoxOutputFormat</value>
</data>
<data name="&gt;&gt;comboBoxOutputFormat.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;comboBoxOutputFormat.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;comboBoxOutputFormat.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="txtOutputPath.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 61</value>
</data>
<data name="txtOutputPath.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 20</value>
</data>
<data name="txtOutputPath.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
</data>
<data name="txtOutputPath.ToolTip" xml:space="preserve">
<value>Click to edit output path template</value>
</data>
<data name="&gt;&gt;txtOutputPath.Name" xml:space="preserve">
<value>txtOutputPath</value>
</data>
<data name="&gt;&gt;txtOutputPath.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtOutputPath.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;txtOutputPath.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@@ -1363,7 +1423,7 @@
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>CUERipper 2.0.5</value>
<value>CUERipper 2.0.6</value>
</data>
<data name="&gt;&gt;toolStripStatusLabel1.Name" xml:space="preserve">
<value>toolStripStatusLabel1</value>
@@ -1371,6 +1431,12 @@
<data name="&gt;&gt;toolStripStatusLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelMusicBrainz.Name" xml:space="preserve">
<value>toolStripStatusLabelMusicBrainz</value>
</data>
<data name="&gt;&gt;toolStripStatusLabelMusicBrainz.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripStatusCTDB.Name" xml:space="preserve">
<value>toolStripStatusCTDB</value>
</data>
@@ -1441,31 +1507,37 @@
<value>plainBackgroundPainter1</value>
</data>
<data name="&gt;&gt;plainBackgroundPainter1.Type" xml:space="preserve">
<value>ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.PlainBackgroundPainter, ProgressODoom, Version=1.0.3730.37805, 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.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.StyledBorderPainter, ProgressODoom, Version=1.0.3730.37805, 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.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3730.37805, 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.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.GradientGlossPainter, ProgressODoom, Version=1.0.3730.37805, 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.3711.31206, Culture=neutral, PublicKeyToken=null</value>
<value>ProgressODoom.PlainProgressPainter, ProgressODoom, Version=1.0.3730.37805, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;toolTip1.Name" xml:space="preserve">
<value>toolTip1</value>
</data>
<data name="&gt;&gt;toolTip1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmCUERipper</value>

184
CUERipper/frmProperties.Designer.cs generated Normal file
View File

@@ -0,0 +1,184 @@
namespace CUETools.Processor
{
partial class frmProperties
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmProperties));
this.textArtist = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textTitle = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.textYear = new System.Windows.Forms.TextBox();
this.textGenre = new System.Windows.Forms.TextBox();
this.textCatalog = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.labelCD = new System.Windows.Forms.Label();
this.textBoxDiscNumber = new System.Windows.Forms.TextBox();
this.textBoxTotalDiscs = new System.Windows.Forms.TextBox();
this.labelSlash = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// textArtist
//
resources.ApplyResources(this.textArtist, "textArtist");
this.textArtist.Name = "textArtist";
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
//
// label2
//
resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
//
// textTitle
//
resources.ApplyResources(this.textTitle, "textTitle");
this.textTitle.Name = "textTitle";
//
// button1
//
this.button1.DialogResult = System.Windows.Forms.DialogResult.OK;
resources.ApplyResources(this.button1, "button1");
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.button2, "button2");
this.button2.Name = "button2";
this.button2.UseVisualStyleBackColor = true;
//
// label3
//
resources.ApplyResources(this.label3, "label3");
this.label3.Name = "label3";
//
// textYear
//
resources.ApplyResources(this.textYear, "textYear");
this.textYear.Name = "textYear";
//
// textGenre
//
resources.ApplyResources(this.textGenre, "textGenre");
this.textGenre.Name = "textGenre";
//
// textCatalog
//
resources.ApplyResources(this.textCatalog, "textCatalog");
this.textCatalog.Name = "textCatalog";
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.Name = "label4";
//
// label5
//
resources.ApplyResources(this.label5, "label5");
this.label5.Name = "label5";
//
// labelCD
//
resources.ApplyResources(this.labelCD, "labelCD");
this.labelCD.Name = "labelCD";
//
// textBoxDiscNumber
//
resources.ApplyResources(this.textBoxDiscNumber, "textBoxDiscNumber");
this.textBoxDiscNumber.Name = "textBoxDiscNumber";
//
// textBoxTotalDiscs
//
resources.ApplyResources(this.textBoxTotalDiscs, "textBoxTotalDiscs");
this.textBoxTotalDiscs.Name = "textBoxTotalDiscs";
//
// labelSlash
//
resources.ApplyResources(this.labelSlash, "labelSlash");
this.labelSlash.Name = "labelSlash";
//
// frmProperties
//
this.AcceptButton = this.button1;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.button2;
this.Controls.Add(this.labelSlash);
this.Controls.Add(this.textBoxTotalDiscs);
this.Controls.Add(this.textBoxDiscNumber);
this.Controls.Add(this.labelCD);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.textCatalog);
this.Controls.Add(this.textGenre);
this.Controls.Add(this.textYear);
this.Controls.Add(this.label3);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.label2);
this.Controls.Add(this.textTitle);
this.Controls.Add(this.label1);
this.Controls.Add(this.textArtist);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "frmProperties";
this.Load += new System.EventHandler(this.frmProperties_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textArtist;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textTitle;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textYear;
private System.Windows.Forms.TextBox textGenre;
private System.Windows.Forms.TextBox textCatalog;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label labelCD;
private System.Windows.Forms.TextBox textBoxDiscNumber;
private System.Windows.Forms.TextBox textBoxTotalDiscs;
private System.Windows.Forms.Label labelSlash;
}
}

View File

@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CUETools.Processor;
namespace CUETools.Processor
{
public partial class frmProperties : Form
{
public frmProperties()
{
InitializeComponent();
}
private void frmProperties_Load(object sender, EventArgs e)
{
textArtist.Text = _cueSheet.Artist;
textTitle.Text = _cueSheet.Title;
textYear.Text = _cueSheet.Year;
textGenre.Text = _cueSheet.Genre;
textCatalog.Text = _cueSheet.Catalog;
textBoxDiscNumber.Text = _cueSheet.DiscNumber;
textBoxTotalDiscs.Text = _cueSheet.TotalDiscs;
}
public CUESheet CUE
{
get
{
return _cueSheet;
}
set
{
_cueSheet = value;
}
}
CUESheet _cueSheet;
private void button1_Click(object sender, EventArgs e)
{
foreach (TrackInfo track in _cueSheet.Tracks)
if (track.Artist == _cueSheet.Artist)
track.Artist = textArtist.Text;
_cueSheet.Artist = textArtist.Text;
_cueSheet.Title = textTitle.Text;
_cueSheet.Year = textYear.Text;
_cueSheet.Genre = textGenre.Text;
_cueSheet.Catalog = textCatalog.Text;
_cueSheet.DiscNumber = textBoxDiscNumber.Text;
_cueSheet.TotalDiscs = textBoxTotalDiscs.Text;
}
}
}

View File

@@ -0,0 +1,537 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textArtist.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="textArtist.Location" type="System.Drawing.Point, System.Drawing">
<value>48, 12</value>
</data>
<data name="textArtist.Size" type="System.Drawing.Size, System.Drawing">
<value>375, 20</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="textArtist.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;textArtist.Name" xml:space="preserve">
<value>textArtist</value>
</data>
<data name="&gt;&gt;textArtist.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textArtist.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textArtist.ZOrder" xml:space="preserve">
<value>15</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 15</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Artist</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 41</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>27, 13</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Title</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="textTitle.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="textTitle.Location" type="System.Drawing.Point, System.Drawing">
<value>48, 38</value>
</data>
<data name="textTitle.Size" type="System.Drawing.Size, System.Drawing">
<value>375, 20</value>
</data>
<data name="textTitle.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;textTitle.Name" xml:space="preserve">
<value>textTitle</value>
</data>
<data name="&gt;&gt;textTitle.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textTitle.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textTitle.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
<value>347, 90</value>
</data>
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="button1.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="button1.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
</data>
<data name="&gt;&gt;button1.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
<value>266, 90</value>
</data>
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="button2.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="button2.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;button2.Name" xml:space="preserve">
<value>button2</value>
</data>
<data name="&gt;&gt;button2.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button2.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 67</value>
</data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 13</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="label3.Text" xml:space="preserve">
<value>Year</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;label3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="textYear.Location" type="System.Drawing.Point, System.Drawing">
<value>48, 64</value>
</data>
<data name="textYear.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 20</value>
</data>
<data name="textYear.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;textYear.Name" xml:space="preserve">
<value>textYear</value>
</data>
<data name="&gt;&gt;textYear.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textYear.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textYear.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="textGenre.Location" type="System.Drawing.Point, System.Drawing">
<value>163, 64</value>
</data>
<data name="textGenre.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 20</value>
</data>
<data name="textGenre.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;textGenre.Name" xml:space="preserve">
<value>textGenre</value>
</data>
<data name="&gt;&gt;textGenre.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textGenre.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textGenre.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="textCatalog.Location" type="System.Drawing.Point, System.Drawing">
<value>318, 64</value>
</data>
<data name="textCatalog.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 20</value>
</data>
<data name="textCatalog.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;textCatalog.Name" xml:space="preserve">
<value>textCatalog</value>
</data>
<data name="&gt;&gt;textCatalog.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textCatalog.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textCatalog.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>121, 67</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>36, 13</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>Genre</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="&gt;&gt;label4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="label5.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>269, 67</value>
</data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>43, 13</value>
</data>
<data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="label5.Text" xml:space="preserve">
<value>Catalog</value>
</data>
<data name="&gt;&gt;label5.Name" xml:space="preserve">
<value>label5</value>
</data>
<data name="&gt;&gt;label5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="labelCD.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="labelCD.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 95</value>
</data>
<data name="labelCD.Size" type="System.Drawing.Size, System.Drawing">
<value>22, 13</value>
</data>
<data name="labelCD.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="labelCD.Text" xml:space="preserve">
<value>CD</value>
</data>
<data name="&gt;&gt;labelCD.Name" xml:space="preserve">
<value>labelCD</value>
</data>
<data name="&gt;&gt;labelCD.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelCD.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelCD.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="textBoxDiscNumber.Location" type="System.Drawing.Point, System.Drawing">
<value>48, 92</value>
</data>
<data name="textBoxDiscNumber.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 20</value>
</data>
<data name="textBoxDiscNumber.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="&gt;&gt;textBoxDiscNumber.Name" xml:space="preserve">
<value>textBoxDiscNumber</value>
</data>
<data name="&gt;&gt;textBoxDiscNumber.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textBoxDiscNumber.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textBoxDiscNumber.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="textBoxTotalDiscs.Location" type="System.Drawing.Point, System.Drawing">
<value>125, 92</value>
</data>
<data name="textBoxTotalDiscs.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 20</value>
</data>
<data name="textBoxTotalDiscs.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="&gt;&gt;textBoxTotalDiscs.Name" xml:space="preserve">
<value>textBoxTotalDiscs</value>
</data>
<data name="&gt;&gt;textBoxTotalDiscs.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textBoxTotalDiscs.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textBoxTotalDiscs.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="labelSlash.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="labelSlash.Location" type="System.Drawing.Point, System.Drawing">
<value>107, 95</value>
</data>
<data name="labelSlash.Size" type="System.Drawing.Size, System.Drawing">
<value>12, 13</value>
</data>
<data name="labelSlash.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="labelSlash.Text" xml:space="preserve">
<value>/</value>
</data>
<data name="&gt;&gt;labelSlash.Name" xml:space="preserve">
<value>labelSlash</value>
</data>
<data name="&gt;&gt;labelSlash.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelSlash.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelSlash.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>435, 127</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Release information</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmProperties</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>