mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
CTDB metadata support
This commit is contained in:
1
CUERipper/frmCUERipper.Designer.cs
generated
1
CUERipper/frmCUERipper.Designer.cs
generated
@@ -548,6 +548,7 @@ namespace CUERipper
|
||||
this.imageListMetadataSource.Images.SetKeyName(5, "tracks1");
|
||||
this.imageListMetadataSource.Images.SetKeyName(6, "album");
|
||||
this.imageListMetadataSource.Images.SetKeyName(7, "track");
|
||||
this.imageListMetadataSource.Images.SetKeyName(8, "ctdb");
|
||||
//
|
||||
// bnComboBoxDrives
|
||||
//
|
||||
|
||||
@@ -532,7 +532,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.Name != "Catalog")
|
||||
if (p.Name != "Tracks" && 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 }));
|
||||
}
|
||||
}
|
||||
@@ -574,6 +574,13 @@ namespace CUERipper
|
||||
});
|
||||
}
|
||||
|
||||
private CUEMetadataEntry CreateCUESheet(ICDRipper audioSource, CTDBResponseMeta release)
|
||||
{
|
||||
CUEMetadataEntry entry = new CUEMetadataEntry(audioSource.TOC, "ctdb");
|
||||
entry.metadata.FillFromCtdb(release, entry.TOC.FirstAudio - 1);
|
||||
return entry;
|
||||
}
|
||||
|
||||
private CUEMetadataEntry CreateCUESheet(ICDRipper audioSource, Release release)
|
||||
{
|
||||
CUEMetadataEntry entry = new CUEMetadataEntry(audioSource.TOC, "musicbrainz");
|
||||
@@ -616,7 +623,7 @@ namespace CUERipper
|
||||
cueSheet.Action = CUEAction.Encode;
|
||||
|
||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " CTDB..."; });
|
||||
cueSheet.UseCUEToolsDB(true, "CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName);
|
||||
cueSheet.UseCUEToolsDB(true, "CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, true, false);
|
||||
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; });
|
||||
cueSheet.UseAccurateRip();
|
||||
@@ -635,6 +642,11 @@ namespace CUERipper
|
||||
System.Diagnostics.Trace.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
foreach (var ctdbMeta in cueSheet.CTDB.Metadata)
|
||||
{
|
||||
data.Releases.Add(CreateCUESheet(audioSource, ctdbMeta));
|
||||
}
|
||||
|
||||
if (data.Releases.Count == 0 || loadAllMetadata)
|
||||
{
|
||||
loadAllMetadata = false;
|
||||
|
||||
@@ -924,8 +924,8 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABa
|
||||
DgAAAk1TRnQBSQFMAgEBCAEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY
|
||||
DwAAAk1TRnQBSQFMAgEBCQEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@@ -953,40 +953,46 @@
|
||||
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
|
||||
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
|
||||
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
|
||||
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ARgABmQZ5
|
||||
AfMIAAH3AW0BvC0AAZkFoAJ5AfQIAAHwAW0CAAGSAeoCEgEUARUBQwERAewDAAGZCHkB8wYAAZkIeQHz
|
||||
BQABmQWgAXkBmgFRAnkBmQQAAfMBbQHzAgAB6gFtARICFAESAW0B6wERAwABmQegAnkB9AUAAZkHoAJ5
|
||||
AfQEAAGZBaADeQFYAaABmQQAAe8C7AIAAfcBbQPqAhIBFAHsAwABmQegAXkBmgF5AfQEAAGZB6ABeQGa
|
||||
AXkB9AMAAZkIoAFYAaABUQF5AZkTAAGZB6ADeQGZBAABmQegA3kBmQMAAZkIoAFYAaABWAGgAZkCAALr
|
||||
AW0OAAGZCqABmQQAAZkKoAGZAwABmQigAVgBoAFYAaABmQIAAfQB7QH/AgAB9wVtAuoBkgMAAZkKoAGZ
|
||||
BAABmQqgAZkDAAGZAcMHoAFYAaABWAGgAZkDAAH0Ae0CAAJtARIBEwEUARIBbQHrAeoDAAGZCqABmQQA
|
||||
AZkKoAGZAwABGgHDB6ABWAGgAVgBoAGZAgAB7wHsAe8CAAHvAesGbQH3AwABmQqgAZkEAAGZCaABkQGY
|
||||
AwABGgPDBaABWAGgAVgBoAGZEwABmQHDCaABmQQAAZkBwwigAosB8gIAARsBGgh5AaABWAGgAZkCAAPs
|
||||
DgABmQHDCaABmQQAAZkBwwSgAZEEswHaAbQB8gMAARoDwwWgAVgBoAGZAwAB7AMAAe8B7ATrAm0B9wMA
|
||||
ARoBwwmgARoEAAEaAcMEoAGzAdwF2wG0AwABGwEaCHkBoAEaAwAB7AMAAewBbQISAhMBEgJtAwABGgTD
|
||||
BqABGgQAARoEwwGgAbsEtAHcAbQB8gUAARoDwwWgARoCAAHvAewDAAHvBOwD6wHvAwABGwoaARsEAAEb
|
||||
CRoCtAHzBgABGwgaARstAAEJAfMDAAF6AlELegEAAe0PCiAAAVEBAAERARMBAAEPCnoBtQQEA/MBBAPz
|
||||
AgQBXwEKEAAQ/wEAAbwD/wETAQ8JegG1AwQB9AIEAfQBBAH0AgQB9AIEAQoB8QK8AfIBAAHyBLwB8gEA
|
||||
AfICvAHxAfACvAHwAf8B8AS8AfAB/wHwArwB8AEAAbwE/wEACXoBtQGiAgQB/wIEAf8BBAH/AgQB/wIE
|
||||
AQoBvAH/AfQDBwT0AwcB9AH/ArwB/wH0AwcE9AMHAfQB/wG8AVEBDwHrAgcBvAEAAREEAAERA3oBtQGi
|
||||
AwQD/wEEA/8DBAEKAfAB9ALzAfQG8wH0AvMB9ALwAfQC8wH0BvMB9ALzAfQB8AF6AVEBDwIAAf8BAAEP
|
||||
AfcC/wGSAhECegG1AaIFBAH/AQQB/wUEAQoB8AH0DPMB9ALwAfQM8wH0AfAEegEAAf8BAAERBP8BvAEA
|
||||
AnoBtQGiBQQB/wEEAf8FBAEKAfAB9AzzAfQC8AH0DPMB9AHwBK4BAAH/AgABEwG8A/8BAAKuAbUBog0E
|
||||
AQoB8QH/BfQBAAFzAbwE9AH/AvEB/wX0AQABcwG8BPQB/wHxBK4BAAH/AQABEgEPAwAB/wEAAq4N/wH0
|
||||
AfMB7AHyAf8F9AEcAcMBUQEIA/QB/wLyAf8F9AEcAcMBUQEIA/QB/wHyBK4BAAH/AQ8BAAERAhIBAAH/
|
||||
AQACrgH/AaIC/wEEA/8CBAP/AgQB7AHyBv8BGwFYAXoBUQEIA/8C8gb/ARsBWAF6AVEBCAP/AfIErgEA
|
||||
Av8BkgERAQABDwEAAf8BAAKuAf8BogL/AQQC/wEEBP8BBAH0AfMB7AHyB/8BGgFYAXoBUQEaAv8C8gf/
|
||||
ARoBWAF6AVEBGgL/AfIErgEAAQcD/wG8AeoBAAH/AQACrgH/AaIC/wEEAv8EBAH/AwQBCgHyCP8BGgFY
|
||||
AXoBUQEaAf8C8gj/ARoBWAF6AVEBGgH/AfIErgERARMBBwb/AQACrgH/AaIBBAH/AQQC/wEEAv8BBAH/
|
||||
AQQB9AHzAQoB8gn/ARsBWAF6Ae0B8ALyCf8BGwFYAXoB7QHwAfIFrgERAQABEQGSBP8BAAKuAf8BhgL/
|
||||
AgQC/wIEA/8CBAHsAfMK8gHwAe8B9AHtAbwB8wryAfAB7wH0Ae0BvAeuAREBAAEPAesBvAH/AQACrgH/
|
||||
AYYL/wH0AfMB7AwAAfQBvAEWAW8MAAH0AbwBFgFvAQAJrgEPAQABEwERAa4BAAL/AbUL/wH0AQcNAAH0
|
||||
ARYB8w0AAfQBFgHzAUIBTQE+BwABPgMAASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/4EACP8BgAF/
|
||||
AY8F/wGAAT8BzAEBAcABDwHAAQ8BgAEHAYwBAQHAAQcBwAEHAYABBwGMAQEBwAEDAcABAwGAAQEC/wHA
|
||||
AQMBwAEDAYABAQGPAf8BwAEDAcABAwGAAQEBjAEBAcABAwHAAQMBgAEBAcwBAQHAAQMBwAEDAYABAQGM
|
||||
AQEBwAEDAcABAwGAAQEC/wHAAQMBwAEBAYABAQGPAf8BwAEDAcABAAHgAQEB3AEBAcABAwHAAQAB4AEB
|
||||
AdwBAQHAAQMBwAEAAfgBAQGcAQEBwAEDAcABAQH4AQEF/wHzAYABAQIABP8EAAL/BgABCAEQXgAB/wHw
|
||||
Af8B8AGAAQECAAH/AfgB/wH4Cw==
|
||||
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=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bnComboBoxRelease.Location" type="System.Drawing.Point, System.Drawing">
|
||||
|
||||
@@ -413,6 +413,31 @@ namespace CUETools.CDImage
|
||||
}
|
||||
}
|
||||
|
||||
public static CDImageLayout FromString(string str)
|
||||
{
|
||||
var ids = str.Split(':');
|
||||
int firstaudio = 1;
|
||||
int audiotracks = 0;
|
||||
int trackcount = ids.Length - 1;
|
||||
while (firstaudio < ids.Length && ids[firstaudio - 1][0] == '-')
|
||||
firstaudio ++;
|
||||
while (firstaudio + audiotracks < ids.Length && ids[firstaudio + audiotracks - 1][0] != '-')
|
||||
audiotracks ++;
|
||||
for (var i = 0; i < ids.Length; i++)
|
||||
if (ids[i][0] == '-')
|
||||
ids[i] = ids[i].Substring(1);
|
||||
return new CDImageLayout(trackcount, audiotracks, firstaudio, string.Join(" ", ids));
|
||||
}
|
||||
|
||||
public string ToString()
|
||||
{
|
||||
StringBuilder mbSB = new StringBuilder();
|
||||
for (int iTrack = 0; iTrack < TrackCount; iTrack++)
|
||||
mbSB.AppendFormat("{0}{1}:", _tracks[iTrack].IsAudio ? "" : "-", _tracks[iTrack].Start);
|
||||
mbSB.AppendFormat("{0}", Length);
|
||||
return mbSB.ToString();
|
||||
}
|
||||
|
||||
public void InsertTrack(CDTrack track)
|
||||
{
|
||||
_tracks.Insert((int)track.Number - 1, track);
|
||||
|
||||
@@ -45,6 +45,13 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="FormMetadata.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormMetadata.Designer.cs">
|
||||
<DependentUpon>FormMetadata.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Metadata.cs" />
|
||||
<Compile Include="Plugin.cs" />
|
||||
<Compile Include="Options.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -55,6 +62,9 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="FormMetadata.resx">
|
||||
<DependentUpon>FormMetadata.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Options.resx">
|
||||
<DependentUpon>Options.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
110
CUETools.CTDB.EACPlugin/FormMetadata.Designer.cs
generated
Normal file
110
CUETools.CTDB.EACPlugin/FormMetadata.Designer.cs
generated
Normal file
@@ -0,0 +1,110 @@
|
||||
namespace CUETools.CTDB.EACPlugin
|
||||
{
|
||||
partial class FormMetadata
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.listView1 = new System.Windows.Forms.ListView();
|
||||
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.progressBar1.Location = new System.Drawing.Point(10, 198);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(587, 23);
|
||||
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
|
||||
this.progressBar1.TabIndex = 0;
|
||||
//
|
||||
// backgroundWorker1
|
||||
//
|
||||
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
|
||||
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
|
||||
//
|
||||
// listView1
|
||||
//
|
||||
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1});
|
||||
this.listView1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.listView1.FullRowSelect = true;
|
||||
this.listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
|
||||
this.listView1.HideSelection = false;
|
||||
this.listView1.Location = new System.Drawing.Point(10, 10);
|
||||
this.listView1.MultiSelect = false;
|
||||
this.listView1.Name = "listView1";
|
||||
this.listView1.Size = new System.Drawing.Size(587, 188);
|
||||
this.listView1.TabIndex = 1;
|
||||
this.listView1.UseCompatibleStateImageBehavior = false;
|
||||
this.listView1.View = System.Windows.Forms.View.Details;
|
||||
this.listView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDoubleClick);
|
||||
//
|
||||
// columnHeader1
|
||||
//
|
||||
this.columnHeader1.Text = "Album";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.button1.Location = new System.Drawing.Point(519, 204);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "Cancel";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Visible = false;
|
||||
//
|
||||
// FormMetadata
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.button1;
|
||||
this.ClientSize = new System.Drawing.Size(607, 233);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Controls.Add(this.listView1);
|
||||
this.Name = "FormMetadata";
|
||||
this.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "CTDB Metadata Lookup";
|
||||
this.Load += new System.EventHandler(this.FormMetadata_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||
private System.Windows.Forms.ListView listView1;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
||||
83
CUETools.CTDB.EACPlugin/FormMetadata.cs
Normal file
83
CUETools.CTDB.EACPlugin/FormMetadata.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CUETools.CTDB.EACPlugin
|
||||
{
|
||||
public partial class FormMetadata : Form
|
||||
{
|
||||
private CUEToolsDB ctdb;
|
||||
private CTDBResponseMeta meta;
|
||||
private string agent;
|
||||
|
||||
public FormMetadata(CUEToolsDB ctdb, string agent)
|
||||
{
|
||||
this.ctdb = ctdb;
|
||||
this.agent = agent;
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
public CTDBResponseMeta Meta
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.meta;
|
||||
}
|
||||
}
|
||||
|
||||
private void FormMetadata_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.backgroundWorker1.RunWorkerAsync();
|
||||
}
|
||||
|
||||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
this.ctdb.ContactDB(this.agent, null, true, false);
|
||||
}
|
||||
|
||||
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
{
|
||||
this.progressBar1.Visible = false;
|
||||
this.button1.Visible = true;
|
||||
CTDBResponseMeta bestMeta = null;
|
||||
foreach (var metadata in ctdb.Metadata)
|
||||
{
|
||||
bestMeta = metadata;
|
||||
uint td = 0, dn = 0;
|
||||
var disccount = metadata.disccount ?? "1";
|
||||
var discnumber = metadata.discnumber ?? "1";
|
||||
var discnumber01 = (uint.TryParse(disccount, out td) && uint.TryParse(discnumber, out dn) && td > 9 && dn > 0) ?
|
||||
string.Format("{0:00}", dn) : discnumber;
|
||||
var discnumberandtotal = disccount != "1" ? discnumber01 + "/" + disccount : (discnumber != "1" ? discnumber01 : "");
|
||||
var label = metadata.country ?? "";
|
||||
if (metadata.label != null)
|
||||
foreach (var l in metadata.label)
|
||||
label = (label == "" ? "" : label + ": ") + (l.name ?? "") + (l.name != null && l.catno != null ? " " : "") + (l.catno ?? "");
|
||||
var text = string.Format("{0}{1} - {2}{3}{4}", metadata.year != null ? metadata.year + ": " : "",
|
||||
metadata.artist == null ? "Unknown Artist" : metadata.artist,
|
||||
metadata.album == "" ? "Unknown Title" : metadata.album,
|
||||
discnumberandtotal != "" ? " (disc " + discnumberandtotal + (metadata.discname != null ? ": " + metadata.discname : "") + ")" : "",
|
||||
label == "" ? "" : " (" + label + ")");
|
||||
listView1.Items.Add(new ListViewItem(text) { Tag = metadata });
|
||||
}
|
||||
this.listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||
this.meta = bestMeta;
|
||||
if (listView1.Items.Count < 2)
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
var ht = listView1.HitTest(e.Location);
|
||||
if (ht.Item != null)
|
||||
{
|
||||
meta = ht.Item.Tag as CTDBResponseMeta;
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
123
CUETools.CTDB.EACPlugin/FormMetadata.resx
Normal file
123
CUETools.CTDB.EACPlugin/FormMetadata.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?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>
|
||||
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
123
CUETools.CTDB.EACPlugin/Metadata.cs
Normal file
123
CUETools.CTDB.EACPlugin/Metadata.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using HelperFunctionsLib;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Reflection;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using CUETools.CDImage;
|
||||
using CUETools.AccurateRip;
|
||||
using CUETools.Codecs;
|
||||
using CUETools.CTDB;
|
||||
|
||||
namespace MetadataPlugIn
|
||||
{
|
||||
[Guid("8271734A-126F-44e9-AC9C-836449B39E51"),
|
||||
ClassInterface(ClassInterfaceType.None),
|
||||
ComSourceInterfaces(typeof(IMetadataRetriever)),
|
||||
]
|
||||
|
||||
public class MetadataRetriever : IMetadataRetriever
|
||||
{
|
||||
public bool GetCDInformation(CCDMetadata data, bool cdinfo, bool cover, bool lyrics)
|
||||
{
|
||||
if (!cdinfo)
|
||||
return false;
|
||||
|
||||
var TOC = new CDImageLayout();
|
||||
for (int i = 0; i < data.NumberOfTracks; i++)
|
||||
{
|
||||
uint start = data.GetTrackStartPosition(i);
|
||||
uint next = data.GetTrackEndPosition(i);
|
||||
TOC.AddTrack(new CDTrack(
|
||||
(uint)i + 1,
|
||||
start,
|
||||
next - start,
|
||||
!data.GetTrackDataTrack(i),
|
||||
data.GetTrackPreemphasis(i)));
|
||||
}
|
||||
TOC[1][0].Start = 0U;
|
||||
|
||||
var ctdb = new CUEToolsDB(TOC, null);
|
||||
var form = new CUETools.CTDB.EACPlugin.FormMetadata(ctdb, "EAC" + data.HostVersion + " CTDB 2.1.1");
|
||||
form.ShowDialog();
|
||||
var meta = form.Meta;
|
||||
if (meta == null)
|
||||
return false;
|
||||
|
||||
int year, disccount, discnumber;
|
||||
if (meta.year != null && int.TryParse(meta.year, out year))
|
||||
data.Year = year;
|
||||
if (meta.disccount != null && int.TryParse(meta.disccount, out disccount))
|
||||
data.TotalNumberOfCDs = disccount;
|
||||
if (meta.discnumber != null && int.TryParse(meta.discnumber, out discnumber))
|
||||
data.CDNumber = discnumber;
|
||||
if (meta.album != null)
|
||||
data.AlbumTitle = meta.album;
|
||||
if (meta.artist != null)
|
||||
data.AlbumArtist = meta.artist;
|
||||
if (meta.track != null)
|
||||
for (int track = 0; track < data.NumberOfTracks; track++)
|
||||
{
|
||||
if (track < meta.track.Length)
|
||||
{
|
||||
if (meta.track[track].name != null)
|
||||
data.SetTrackTitle(track, meta.track[track].name);
|
||||
var trackartist = meta.track[track].artist ?? meta.artist;
|
||||
if (trackartist != null)
|
||||
data.SetTrackArtist(track, trackartist);
|
||||
}
|
||||
else if (meta.artist != null)
|
||||
data.SetTrackArtist(track, meta.artist);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public string GetPluginGuid()
|
||||
{
|
||||
return ((GuidAttribute)Attribute.GetCustomAttribute(GetType(), typeof(GuidAttribute))).Value;
|
||||
}
|
||||
|
||||
public Array GetPluginLogo()
|
||||
{
|
||||
return null; // File.ReadAllBytes(@"C:\Work\cuetoolsnet\CUETools\Resources\accuraterip.bmp");
|
||||
}
|
||||
|
||||
public string GetPluginName()
|
||||
{
|
||||
return "CUETools DB Metadata Plugin V2.1.1";
|
||||
}
|
||||
|
||||
public void ShowOptions()
|
||||
{
|
||||
AudioDataPlugIn.Options opt = new AudioDataPlugIn.Options();
|
||||
opt.ShowDialog();
|
||||
}
|
||||
|
||||
public bool SubmitCDInformation(IMetadataLookup data)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public bool SupportsCoverRetrieval()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SupportsLyricsRetrieval()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool SupportsMetadataRetrieval()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool SupportsMetadataSubmission()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -42,62 +42,26 @@ namespace AudioDataPlugIn
|
||||
// This functions just returns an unique identifier.
|
||||
// For that, the string representation of the unique
|
||||
// guid is used
|
||||
|
||||
public string GetAudioTransferPluginGuid()
|
||||
{
|
||||
// Determine the guid attribute of the given class
|
||||
|
||||
Attribute attrib = Attribute.GetCustomAttribute(typeof(AudioDataTransfer), typeof(GuidAttribute));
|
||||
|
||||
// Is the returned attribute a GuidAttribute as
|
||||
// we asked for?
|
||||
|
||||
if (attrib is GuidAttribute)
|
||||
{
|
||||
// Yes, so return the guid of this class
|
||||
|
||||
return ((GuidAttribute)attrib).Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
// No, something went wrong. Just return
|
||||
// the name of the plugin and hope that it
|
||||
// is unique
|
||||
|
||||
return GetAudioTransferPluginName();
|
||||
}
|
||||
return ((GuidAttribute)Attribute.GetCustomAttribute(GetType(), typeof(GuidAttribute))).Value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Each plugin has also an (unique) display name
|
||||
// which will be used for selecting/deselecting
|
||||
// the plugin and for display in the log file
|
||||
|
||||
public string GetAudioTransferPluginName()
|
||||
{
|
||||
// Return the name which should be
|
||||
// displayed in EAC and in the log file
|
||||
// including a version number
|
||||
|
||||
return "CUETools DB Plugin V2.1.1";
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Each plugin should have its own options page.
|
||||
// Even though if there are no options, a help or
|
||||
// information dialog should be displayed
|
||||
|
||||
public void ShowOptions()
|
||||
{
|
||||
// Create a new option dialog object
|
||||
|
||||
Options opt = new Options();
|
||||
|
||||
// And show that dialog (return when
|
||||
// the dialog is closed)
|
||||
|
||||
opt.ShowDialog();
|
||||
}
|
||||
|
||||
@@ -155,7 +119,7 @@ namespace AudioDataPlugIn
|
||||
#if USEAR
|
||||
ar.ContactAccurateRip(ArId);
|
||||
#endif
|
||||
ctdb.ContactDB("EAC" + m_data.HostVersion + " CTDB 2.1.1", m_drivename);
|
||||
ctdb.ContactDB("EAC" + m_data.HostVersion + " CTDB 2.1.1", m_drivename, false, false);
|
||||
ctdb.Init(true, ar);
|
||||
this.sequence_ok = true;
|
||||
this.m_start_pos = 0;
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.ComponentModel;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Management;
|
||||
using System.Net;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using System.Text;
|
||||
using System.Security.Cryptography;
|
||||
using CUETools.CDImage;
|
||||
@@ -16,7 +18,7 @@ namespace CUETools.CTDB
|
||||
{
|
||||
public class CUEToolsDB
|
||||
{
|
||||
const string urlbase = "http://db.cuetools.net";
|
||||
const string urlbase = "http://dbnew.cuetools.net";
|
||||
string userAgent;
|
||||
string driveName;
|
||||
|
||||
@@ -27,6 +29,7 @@ namespace CUETools.CTDB
|
||||
private int length;
|
||||
private int total;
|
||||
List<DBEntry> entries = new List<DBEntry>();
|
||||
List<CTDBResponseMeta> metadata = new List<CTDBResponseMeta>();
|
||||
DBEntry selectedEntry;
|
||||
IWebProxy proxy;
|
||||
HttpUploadHelper uploadHelper;
|
||||
@@ -39,16 +42,19 @@ namespace CUETools.CTDB
|
||||
this.uploadHelper = new HttpUploadHelper();
|
||||
}
|
||||
|
||||
public void ContactDB(string userAgent, string driveName)
|
||||
public void ContactDB(string userAgent, string driveName, bool musicbrainz, bool fuzzy)
|
||||
{
|
||||
this.driveName = driveName;
|
||||
this.userAgent = userAgent + " (" + Environment.OSVersion.VersionString + ")" + (driveName != null ? " (" + driveName + ")" : "");
|
||||
this.total = 0;
|
||||
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlbase + "/lookup.php?tocid=" + toc.TOCID);
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlbase
|
||||
+ "/lookup2.php?musicbrainz=" + (musicbrainz ? 1 : 0)
|
||||
+ "&fuzzy=" + (fuzzy ? 1 : 0)
|
||||
+ "&toc=" + toc.ToString());
|
||||
req.Method = "GET";
|
||||
req.Proxy = proxy;
|
||||
req.UserAgent = userAgent;
|
||||
req.UserAgent = this.userAgent;
|
||||
|
||||
if (uploadHelper.onProgress != null)
|
||||
uploadHelper.onProgress(this, new UploadProgressEventArgs(req.RequestUri.AbsoluteUri, 0));
|
||||
@@ -60,55 +66,35 @@ namespace CUETools.CTDB
|
||||
|
||||
if (accResult == HttpStatusCode.OK)
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(CTDBResponse));
|
||||
this.total = 0;
|
||||
using (Stream responseStream = resp.GetResponseStream())
|
||||
{
|
||||
using (XmlTextReader reader = new XmlTextReader(responseStream))
|
||||
{
|
||||
reader.ReadToFollowing("ctdb");
|
||||
if (reader.ReadToDescendant("entry"))
|
||||
do
|
||||
{
|
||||
XmlReader entry = reader.ReadSubtree();
|
||||
string crc32 = reader["crc32"];
|
||||
string confidence = reader["confidence"];
|
||||
string npar = reader["npar"];
|
||||
string stride = reader["stride"];
|
||||
string id = reader["id"];
|
||||
string hasPatity = reader["hasparity"];
|
||||
byte[] parity = null;
|
||||
CDImageLayout entry_toc = null;
|
||||
CTDBResponse ctdbResp = serializer.Deserialize(responseStream) as CTDBResponse;
|
||||
if (ctdbResp.entry != null)
|
||||
foreach (var ctdbRespEntry in ctdbResp.entry)
|
||||
{
|
||||
if (ctdbRespEntry.toc == null)
|
||||
continue;
|
||||
|
||||
entry.Read();
|
||||
while (entry.Read() && entry.NodeType != XmlNodeType.EndElement)
|
||||
{
|
||||
if (entry.Name == "parity")
|
||||
{
|
||||
entry.Read(); // entry.NodeType == XmlNodeType.Text
|
||||
parity = Convert.FromBase64String(entry.Value);
|
||||
entry.Read();
|
||||
}
|
||||
else if (entry.Name == "toc")
|
||||
{
|
||||
string trackcount = entry["trackcount"];
|
||||
string audiotracks = entry["audiotracks"];
|
||||
string firstaudio = entry["firstaudio"];
|
||||
entry.Read();
|
||||
string trackoffsets = entry.Value;
|
||||
entry.Read();
|
||||
entry_toc = new CDImageLayout(int.Parse(trackcount), int.Parse(audiotracks), int.Parse(firstaudio), trackoffsets);
|
||||
}
|
||||
else
|
||||
{
|
||||
reader.Skip();
|
||||
}
|
||||
}
|
||||
entry.Close();
|
||||
this.total += int.Parse(confidence);
|
||||
entries.Add(new DBEntry(parity, 0, parity.Length, int.Parse(confidence), int.Parse(npar), int.Parse(stride), uint.Parse(crc32, NumberStyles.HexNumber), id, entry_toc, hasPatity == "1"));
|
||||
} while (reader.ReadToNextSibling("entry"));
|
||||
reader.Close();
|
||||
}
|
||||
var parity = Convert.FromBase64String(ctdbRespEntry.parity);
|
||||
var entry_toc = CDImageLayout.FromString(ctdbRespEntry.toc);
|
||||
this.total += ctdbRespEntry.confidence;
|
||||
var entry = new DBEntry(
|
||||
parity,
|
||||
0,
|
||||
parity.Length,
|
||||
ctdbRespEntry.confidence,
|
||||
ctdbRespEntry.npar,
|
||||
ctdbRespEntry.stride,
|
||||
uint.Parse(ctdbRespEntry.crc32, NumberStyles.HexNumber),
|
||||
ctdbRespEntry.id,
|
||||
entry_toc,
|
||||
ctdbRespEntry.hasparity == 1);
|
||||
entries.Add(entry);
|
||||
}
|
||||
if (ctdbResp.musicbrainz != null && ctdbResp.musicbrainz.Length != 0)
|
||||
metadata.AddRange(ctdbResp.musicbrainz);
|
||||
}
|
||||
if (entries.Count == 0)
|
||||
accResult = HttpStatusCode.NotFound;
|
||||
@@ -128,7 +114,7 @@ namespace CUETools.CTDB
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
||||
req.Method = "GET";
|
||||
req.Proxy = proxy;
|
||||
req.UserAgent = userAgent;
|
||||
req.UserAgent = this.userAgent;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -232,21 +218,17 @@ namespace CUETools.CTDB
|
||||
}
|
||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlbase + "/submit2.php");
|
||||
req.Proxy = proxy;
|
||||
req.UserAgent = userAgent;
|
||||
req.UserAgent = this.userAgent;
|
||||
NameValueCollection form = new NameValueCollection();
|
||||
if (upload)
|
||||
form.Add("parityfile", "1");
|
||||
if (confirm != null)
|
||||
form.Add("confirmid", confirm.id);
|
||||
form.Add("tocid", toc.TOCID);
|
||||
form.Add("toc", toc.ToString());
|
||||
form.Add("crc32", ((int)verify.CRC).ToString());
|
||||
form.Add("trackcrcs", verify.TrackCRCs);
|
||||
form.Add("parity", Convert.ToBase64String(verify.Parity, 0, 16));
|
||||
form.Add("confidence", confidence.ToString());
|
||||
form.Add("trackcount", toc.TrackCount.ToString());
|
||||
form.Add("firstaudio", toc.FirstAudio.ToString());
|
||||
form.Add("audiotracks", toc.AudioTracks.ToString());
|
||||
form.Add("trackoffsets", toc.TrackOffsets);
|
||||
form.Add("userid", GetUUID());
|
||||
form.Add("quality", quality.ToString());
|
||||
if (driveName != null)
|
||||
@@ -368,7 +350,7 @@ namespace CUETools.CTDB
|
||||
entry.canRecover = false;
|
||||
else
|
||||
{
|
||||
FetchDB(string.Format("{0}/repair.php?tocid={1}&id={2}", urlbase, toc.TOCID, entry.id), entry);
|
||||
FetchDB(string.Format("{0}/repair.php?id={1}", urlbase, entry.id), entry);
|
||||
if (entry.httpStatus != HttpStatusCode.OK)
|
||||
entry.canRecover = false;
|
||||
else
|
||||
@@ -496,6 +478,14 @@ namespace CUETools.CTDB
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<CTDBResponseMeta> Metadata
|
||||
{
|
||||
get
|
||||
{
|
||||
return metadata;
|
||||
}
|
||||
}
|
||||
|
||||
public HttpUploadHelper UploadHelper
|
||||
{
|
||||
get
|
||||
@@ -670,4 +660,88 @@ namespace CUETools.CTDB
|
||||
return new DBHDR(stream, name);
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class CTDBResponseEntry
|
||||
{
|
||||
[XmlAttribute]
|
||||
public string id { get; set; }
|
||||
[XmlAttribute]
|
||||
public string crc32 { get; set; }
|
||||
[XmlAttribute]
|
||||
public int confidence { get; set; }
|
||||
[XmlAttribute]
|
||||
public int npar { get; set; }
|
||||
[XmlAttribute]
|
||||
public int stride { get; set; }
|
||||
[XmlAttribute, DefaultValue(1)]
|
||||
public int hasparity { get; set; }
|
||||
[XmlAttribute]
|
||||
public string parity { get; set; }
|
||||
[XmlAttribute]
|
||||
public string toc { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class CTDBResponseMetaTrack
|
||||
{
|
||||
[XmlAttribute]
|
||||
public string name { get; set; }
|
||||
[XmlAttribute]
|
||||
public string artist { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class CTDBResponseMetaLabel
|
||||
{
|
||||
[XmlAttribute]
|
||||
public string name { get; set; }
|
||||
[XmlAttribute]
|
||||
public string catno { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class CTDBResponseMeta
|
||||
{
|
||||
[XmlAttribute]
|
||||
public string release_gid { get; set; }
|
||||
[XmlAttribute]
|
||||
public string artist { get; set; }
|
||||
[XmlAttribute]
|
||||
public string album { get; set; }
|
||||
[XmlAttribute]
|
||||
public string year { get; set; }
|
||||
[XmlAttribute]
|
||||
public string genre { get; set; }
|
||||
[XmlAttribute]
|
||||
public string country { get; set; }
|
||||
[XmlAttribute]
|
||||
public string releasedate { get; set; }
|
||||
[XmlAttribute]
|
||||
public string discnumber { get; set; }
|
||||
[XmlAttribute]
|
||||
public string disccount { get; set; }
|
||||
[XmlAttribute]
|
||||
public string discname { get; set; }
|
||||
[XmlAttribute]
|
||||
public string coverarturl { get; set; }
|
||||
[XmlAttribute]
|
||||
public string infourl { get; set; }
|
||||
[XmlAttribute]
|
||||
public string barcode { get; set; }
|
||||
[XmlElement]
|
||||
public CTDBResponseMetaTrack[] track;
|
||||
[XmlElement]
|
||||
public CTDBResponseMetaLabel[] label;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
[XmlRoot(ElementName="ctdb", Namespace="http://db.cuetools.net/ns/mmd-1.0#")]
|
||||
public class CTDBResponse
|
||||
{
|
||||
[XmlElement]
|
||||
public CTDBResponseEntry[] entry;
|
||||
[XmlElement]
|
||||
public CTDBResponseMeta[] musicbrainz;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,11 +15,14 @@ namespace CUETools.Processor
|
||||
{
|
||||
TotalDiscs = "";
|
||||
DiscNumber = "";
|
||||
DiscName = "";
|
||||
Year = "";
|
||||
Genre = "";
|
||||
Artist = "";
|
||||
Title = "";
|
||||
Catalog = "";
|
||||
Barcode = "";
|
||||
ReleaseDate = "";
|
||||
Label = "";
|
||||
Tracks = new List<CUETrackMetadata>();
|
||||
}
|
||||
|
||||
@@ -56,6 +59,8 @@ namespace CUETools.Processor
|
||||
[DefaultValue("")]
|
||||
public string DiscNumber { get; set; }
|
||||
[DefaultValue("")]
|
||||
public string DiscName { get; set; }
|
||||
[DefaultValue("")]
|
||||
public string Year { get; set; }
|
||||
[DefaultValue("")]
|
||||
public string Genre { get; set; }
|
||||
@@ -63,8 +68,12 @@ namespace CUETools.Processor
|
||||
public string Artist { get; set; }
|
||||
[DefaultValue("")]
|
||||
public string Title { get; set; }
|
||||
[DefaultValue(""), XmlElement(ElementName="Catalog")]
|
||||
public string Barcode { get; set; }
|
||||
[DefaultValue("")]
|
||||
public string Catalog { get; set; }
|
||||
public string ReleaseDate { get; set; }
|
||||
[DefaultValue("")]
|
||||
public string Label { get; set; }
|
||||
public List<CUETrackMetadata> Tracks { get; set; }
|
||||
|
||||
[XmlIgnore]
|
||||
@@ -107,11 +116,14 @@ namespace CUETools.Processor
|
||||
{
|
||||
if ((overwrite || TotalDiscs == "") && metadata.TotalDiscs != "") TotalDiscs = metadata.TotalDiscs;
|
||||
if ((overwrite || DiscNumber == "") && metadata.DiscNumber != "") DiscNumber = metadata.DiscNumber;
|
||||
if ((overwrite || DiscName == "") && metadata.DiscName != "") DiscName = metadata.DiscName;
|
||||
if ((overwrite || Year == "") && metadata.Year != "") Year = metadata.Year;
|
||||
if ((overwrite || Genre == "") && metadata.Genre != "") Genre = metadata.Genre;
|
||||
if ((overwrite || Artist == "") && metadata.Artist != "") Artist = metadata.Artist;
|
||||
if ((overwrite || Title == "") && metadata.Title != "") Title = metadata.Title;
|
||||
if ((overwrite || Catalog == "") && metadata.Catalog != "") Catalog = metadata.Catalog;
|
||||
if ((overwrite || Barcode == "") && metadata.Barcode != "") Barcode = metadata.Barcode;
|
||||
if ((overwrite || ReleaseDate == "") && metadata.ReleaseDate != "") ReleaseDate = metadata.ReleaseDate;
|
||||
if ((overwrite || Label == "") && metadata.Label != "") Label = metadata.Label;
|
||||
for (int i = 0; i < Tracks.Count; i++)
|
||||
{
|
||||
if ((overwrite || Tracks[i].Title == "") && metadata.Tracks[i].Title != "") Tracks[i].Title = metadata.Tracks[i].Title;
|
||||
@@ -120,6 +132,11 @@ namespace CUETools.Processor
|
||||
}
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Artist.GetHashCode() ^ Title.GetHashCode() ^ Year.GetHashCode();
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
CUEMetadata metadata = obj as CUEMetadata;
|
||||
@@ -127,11 +144,14 @@ namespace CUETools.Processor
|
||||
return false;
|
||||
if (TotalDiscs != metadata.TotalDiscs ||
|
||||
DiscNumber != metadata.DiscNumber ||
|
||||
DiscName != metadata.DiscName ||
|
||||
Year != metadata.Year ||
|
||||
Genre != metadata.Genre ||
|
||||
Artist != metadata.Artist ||
|
||||
Title != metadata.Title ||
|
||||
Catalog != metadata.Catalog ||
|
||||
Barcode != metadata.Barcode ||
|
||||
ReleaseDate != metadata.ReleaseDate ||
|
||||
Label != metadata.Label ||
|
||||
Tracks.Count != metadata.Tracks.Count
|
||||
)
|
||||
return false;
|
||||
@@ -156,11 +176,14 @@ namespace CUETools.Processor
|
||||
// Tracks.Count = metadata.Tracks.Count;
|
||||
TotalDiscs = metadata.TotalDiscs;
|
||||
DiscNumber = metadata.DiscNumber;
|
||||
DiscName = metadata.DiscName;
|
||||
Year = metadata.Year;
|
||||
Genre = metadata.Genre;
|
||||
Artist = metadata.Artist;
|
||||
Title = metadata.Title;
|
||||
Catalog = metadata.Catalog;
|
||||
Barcode = metadata.Barcode;
|
||||
ReleaseDate = metadata.ReleaseDate;
|
||||
Label = metadata.Label;
|
||||
for (int i = 0; i < Tracks.Count; i++)
|
||||
{
|
||||
Tracks[i].Title = metadata.Tracks[i].Title;
|
||||
@@ -171,12 +194,18 @@ namespace CUETools.Processor
|
||||
|
||||
public void FillFromMusicBrainz(MusicBrainz.Release release, int firstAudio)
|
||||
{
|
||||
string date = release.GetEvents().Count > 0 ? release.GetEvents()[0].Date : null;
|
||||
Year = date == null ? "" : date.Substring(0, 4);
|
||||
var evs = release.GetEvents();
|
||||
if (evs.Count > 0)
|
||||
{
|
||||
var ev = evs[0];
|
||||
ReleaseDate = ev.Date ?? "";
|
||||
Year = (ev.Date ?? "").Substring(0, 4);
|
||||
Barcode = ev.Barcode ?? "";
|
||||
Label = ((ev.Label == null ? null : ev.Label.GetName()) ?? "") + (ev.Label == null ? "" : " ") + (ev.CatalogNumber ?? "");
|
||||
}
|
||||
Artist = release.GetArtist();
|
||||
Title = release.GetTitle();
|
||||
// How to get Genre: http://mm.musicbrainz.org/ws/1/release/6fe1e218-2aee-49ac-94f0-7910ba2151df.html?type=xml&inc=tags
|
||||
//Catalog = release.GetEvents().Count > 0 ? release.GetEvents()[0].Barcode : "";
|
||||
for (int i = 0; i < Tracks.Count; i++)
|
||||
{
|
||||
MusicBrainz.Track track = release.GetTracks()[i + firstAudio]; // !!!!!! - _toc.FirstAudio?
|
||||
@@ -184,7 +213,7 @@ namespace CUETools.Processor
|
||||
Tracks[i].Artist = track.GetArtist();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void FillFromFreedb(Freedb.CDEntry cdEntry, int firstAudio)
|
||||
{
|
||||
Year = cdEntry.Year;
|
||||
@@ -198,6 +227,31 @@ namespace CUETools.Processor
|
||||
}
|
||||
}
|
||||
|
||||
public void FillFromCtdb(CUETools.CTDB.CTDBResponseMeta cdEntry, int firstAudio)
|
||||
{
|
||||
this.Year = cdEntry.year ?? "";
|
||||
this.Genre = cdEntry.genre ?? "";
|
||||
this.Artist = cdEntry.artist ?? "";
|
||||
this.Title = cdEntry.album ?? "";
|
||||
this.DiscNumber = cdEntry.discnumber ?? "";
|
||||
this.TotalDiscs = cdEntry.disccount ?? "";
|
||||
this.DiscName = cdEntry.discname ?? "";
|
||||
this.Barcode = cdEntry.barcode ?? "";
|
||||
this.ReleaseDate = cdEntry.releasedate ?? "";
|
||||
this.Label = cdEntry.country ?? "";
|
||||
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 ?? "");
|
||||
if (cdEntry.track != null && cdEntry.track.Length >= this.Tracks.Count)
|
||||
{
|
||||
for (int i = 0; i < this.Tracks.Count; i++)
|
||||
{
|
||||
this.Tracks[i].Title = cdEntry.track[i].name ?? "";
|
||||
this.Tracks[i].Artist = cdEntry.track[i].artist ?? cdEntry.artist ?? "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static string FreedbToEncoding(Encoding iso, Encoding def, ref bool changed, ref bool error, string s)
|
||||
{
|
||||
try
|
||||
@@ -305,9 +359,11 @@ namespace CUETools.Processor
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0}{1} - {2}", metadata.Year != "" ? metadata.Year + ": " : "",
|
||||
return string.Format("{0}{1} - {2}{3}{4}", metadata.Year != "" ? metadata.Year + ": " : "",
|
||||
metadata.Artist == "" ? "Unknown Artist" : metadata.Artist,
|
||||
metadata.Title == "" ? "Unknown Title" : metadata.Title);
|
||||
metadata.Title == "" ? "Unknown Title" : metadata.Title,
|
||||
metadata.DiscNumberAndTotal != "" ? " (disc " + metadata.DiscNumberAndTotal + (metadata.DiscName != "" ? ": " + metadata.DiscName : "") + ")" : "",
|
||||
metadata.Label == "" ? "" : " (" + metadata.Label + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2056,7 +2056,7 @@ string status = processor.Go();
|
||||
Genre = metadata.Genre;
|
||||
Artist = metadata.Artist;
|
||||
Title = metadata.Title;
|
||||
Catalog = metadata.Catalog;
|
||||
Catalog = metadata.Barcode;
|
||||
for (int i = 0; i < Tracks.Count; i++)
|
||||
{
|
||||
Tracks[i].Title = metadata.Tracks[i].Title;
|
||||
@@ -2076,7 +2076,7 @@ string status = processor.Go();
|
||||
metadata.Genre = Genre;
|
||||
metadata.Artist = Artist;
|
||||
metadata.Title = Title;
|
||||
metadata.Catalog = Catalog;
|
||||
metadata.Barcode = Catalog;
|
||||
for (int i = 0; i < Tracks.Count; i++)
|
||||
{
|
||||
metadata.Tracks[i].Title = Tracks[i].Title;
|
||||
@@ -2220,7 +2220,7 @@ string status = processor.Go();
|
||||
_localDB.Save();
|
||||
}
|
||||
|
||||
public List<object> LookupAlbumInfo(bool useFreedb, bool useMusicBrainz, bool useCache, bool useCUE)
|
||||
public List<object> LookupAlbumInfo(bool useFreedb, bool useMusicBrainz, bool useCTDB, bool useCache, bool useCUE)
|
||||
{
|
||||
List<object> Releases = new List<object>();
|
||||
StringCollection DiscIds = new StringCollection();
|
||||
@@ -2275,6 +2275,22 @@ string status = processor.Go();
|
||||
Releases.Add(new CUEMetadataEntry(entry.Metadata, TOC, "local"));
|
||||
}
|
||||
|
||||
bool ctdbFound = false;
|
||||
if (useCTDB)
|
||||
{
|
||||
ShowProgress("Looking up album via CTDB...", 0.0, null, null);
|
||||
var ctdb = new CUEToolsDB(TOC, proxy);
|
||||
ctdb.ContactDB("CUETools " + CUEToolsVersion, null, true, true);
|
||||
foreach (var meta in ctdb.Metadata)
|
||||
{
|
||||
CUEMetadata metadata = new CUEMetadata(TOC.TOCID, (int)TOC.AudioTracks);
|
||||
metadata.FillFromCtdb(meta, TOC.FirstAudio - 1);
|
||||
CDImageLayout toc = TOC; // TocFromCDEntry(meta);
|
||||
Releases.Add(new CUEMetadataEntry(metadata, toc, "ctdb"));
|
||||
ctdbFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (useFreedb)
|
||||
{
|
||||
ShowProgress("Looking up album via Freedb...", 0.0, null, null);
|
||||
@@ -2337,7 +2353,7 @@ string status = processor.Go();
|
||||
}
|
||||
}
|
||||
|
||||
if (useMusicBrainz)
|
||||
if (useMusicBrainz && !ctdbFound)
|
||||
{
|
||||
ShowProgress("Looking up album via MusicBrainz...", 0.0, null, null);
|
||||
|
||||
@@ -3191,13 +3207,13 @@ string status = processor.Go();
|
||||
_padding += _eacLog.Length;
|
||||
}
|
||||
|
||||
public void UseCUEToolsDB(bool submit, string userAgent, string driveName)
|
||||
public void UseCUEToolsDB(bool submit, string userAgent, string driveName, bool meta, bool fuzzy)
|
||||
{
|
||||
ShowProgress((string)"Contacting CUETools database...", 0, null, null);
|
||||
|
||||
_CUEToolsDB = new CUEToolsDB(_toc, proxy);
|
||||
_CUEToolsDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
||||
_CUEToolsDB.ContactDB(userAgent, driveName);
|
||||
_CUEToolsDB.ContactDB(userAgent, driveName, meta, fuzzy);
|
||||
|
||||
if (!_toc[_toc.TrackCount].IsAudio && DataTrackLength == 0)
|
||||
foreach (DBEntry e in _CUEToolsDB.Entries)
|
||||
@@ -6318,7 +6334,7 @@ string status = processor.Go();
|
||||
}
|
||||
case "repair":
|
||||
{
|
||||
UseCUEToolsDB(false, "CUETools " + CUEToolsVersion, null);
|
||||
UseCUEToolsDB(false, "CUETools " + CUEToolsVersion, null, false, true);
|
||||
Action = CUEAction.Verify;
|
||||
if (CTDB.DBStatus != null)
|
||||
return CTDB.DBStatus;
|
||||
|
||||
@@ -345,5 +345,30 @@ namespace CUETools.TestParity
|
||||
Assert.AreEqual<string>("YJPyo4+KY35P+DpljMplMGbMWXmpvhkdDOCKeEo4NDoRPPW7D0cv8hmLb7yZujp0sVg/6AEWKY5QrDKkiYp0Zw==",
|
||||
Convert.ToBase64String(bsyn));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///Verifying rip that has errors
|
||||
///</summary>
|
||||
[TestMethod()]
|
||||
//[Ignore]
|
||||
public void CDRepairVerifyParitySpeedTest()
|
||||
{
|
||||
var generator1 = new TestImageGenerator("0 98011", seed, 32 * 588, 0);
|
||||
var encode1 = generator1.CreateCDRepairEncode(stride, npar);
|
||||
var generator2 = new TestImageGenerator("0 98011", seed, 32 * 588, errors/2);
|
||||
var decode = generator2.CreateCDRepairEncode(stride, npar);
|
||||
int actualOffset;
|
||||
bool hasErrors;
|
||||
Assert.IsTrue(decode.FindOffset(encode1.NPAR, encode1.Parity, 0, encode1.CRC, out actualOffset, out hasErrors));
|
||||
Assert.IsTrue(hasErrors, "doesn't have errors");
|
||||
Assert.AreEqual(0, actualOffset, "wrong offset");
|
||||
for (int t = 0; t < 1000; t++)
|
||||
decode.VerifyParity(encode1.Parity, actualOffset);
|
||||
CDRepairFix fix = decode.VerifyParity(encode1.Parity, actualOffset);
|
||||
Assert.IsTrue(fix.HasErrors, "doesn't have errors");
|
||||
Assert.IsTrue(fix.CanRecover, "cannot recover");
|
||||
generator2.Write(fix);
|
||||
Assert.AreEqual<uint>(encode1.CRC, fix.CRC);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,9 @@ using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using CUETools.Processor;
|
||||
using CUETools.AccurateRip;
|
||||
using CUETools.CTDB;
|
||||
using System.Xml.Serialization;
|
||||
using System.IO;
|
||||
|
||||
namespace CUETools.TestProcessor
|
||||
{
|
||||
@@ -115,5 +118,21 @@ namespace CUETools.TestProcessor
|
||||
target.Open("Amarok\\Amarok.cue");
|
||||
Assert.AreEqual<string>("00041f6d-00083ece-020e1201", AccurateRipVerify.CalculateAccurateRipId(target.TOC), "Wrong TOC");
|
||||
}
|
||||
|
||||
[TestMethod()]
|
||||
[Ignore]
|
||||
public void CTDBResponseTest()
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(CTDBResponse));
|
||||
string respXml = File.ReadAllText("Z:\\ctdb.xml");
|
||||
|
||||
CTDBResponse resp;
|
||||
using (TextReader reader = new StringReader(respXml))
|
||||
resp = serializer.Deserialize(reader) as CTDBResponse;
|
||||
|
||||
var writer = new StringWriter();
|
||||
serializer.Serialize(writer, resp);
|
||||
Assert.AreEqual(respXml, writer.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,10 +173,10 @@ namespace JDP {
|
||||
// }
|
||||
//}
|
||||
|
||||
if (FileBrowserState == FileBrowserStateEnum.Hidden
|
||||
if ((FileBrowserState == FileBrowserStateEnum.Hidden
|
||||
|| (FileBrowserState == FileBrowserStateEnum.Tree
|
||||
&& !(fileSystemTreeView1.SelectedNode is FileSystemTreeNodeLocalDBFolder)
|
||||
&& !Directory.Exists(InputPath)))
|
||||
&& !(fileSystemTreeView1.SelectedNode is FileSystemTreeNodeLocalDBFolder)))
|
||||
&& !Directory.Exists(InputPath))
|
||||
{
|
||||
StartConvert();
|
||||
return;
|
||||
@@ -873,7 +873,7 @@ namespace JDP {
|
||||
if (useLocalDB)
|
||||
cueSheet.UseLocalDB(_localDB);
|
||||
if (useCUEToolsDB)
|
||||
cueSheet.UseCUEToolsDB(false, "CUETools " + CUESheet.CUEToolsVersion, null);
|
||||
cueSheet.UseCUEToolsDB(false, "CUETools " + CUESheet.CUEToolsVersion, null, false, true);
|
||||
if (useAR)
|
||||
cueSheet.UseAccurateRip();
|
||||
|
||||
@@ -902,7 +902,7 @@ namespace JDP {
|
||||
{
|
||||
frmChoice dlg = new frmChoice();
|
||||
dlg.CUE = cueSheet;
|
||||
dlg.LookupAlbumInfo(checkBoxUseFreeDb.Checked, checkBoxUseMusicBrainz.Checked, _profile._config.advanced.CacheMetadata, true);
|
||||
dlg.LookupAlbumInfo(checkBoxUseFreeDb.Checked, checkBoxUseMusicBrainz.Checked, false, _profile._config.advanced.CacheMetadata, true);
|
||||
dlgRes = dlg.ShowDialog(this);
|
||||
if (dlgRes == DialogResult.Cancel)
|
||||
{
|
||||
@@ -1146,7 +1146,7 @@ namespace JDP {
|
||||
toolStripStatusLabelProcessed.Text = String.Format("{0}@{1}", toolStripProgressBar2.ToolTipText, speedStr);
|
||||
toolStripStatusLabelProcessed.Visible = true;
|
||||
}
|
||||
toolStripStatusLabel1.Text = e.status;
|
||||
toolStripStatusLabel1.Text = e.status.Replace("&", "&&");
|
||||
toolStripProgressBar2.Value = Math.Max(0, Math.Min(100, (int)(e.percent * 100)));
|
||||
|
||||
toolStripStatusLabelAR.Enabled = e.cueSheet != null && e.cueSheet.ArVerify != null && e.cueSheet.ArVerify.ARStatus == null;
|
||||
@@ -2128,7 +2128,7 @@ namespace JDP {
|
||||
CueSheet.UseLocalDB(_localDB);
|
||||
frmChoice dlg = new frmChoice();
|
||||
dlg.CUE = CueSheet;
|
||||
dlg.LookupAlbumInfo(true, true, true, node is FileSystemTreeNodeLocalDBEntry);
|
||||
dlg.LookupAlbumInfo(true, true, true, true, node is FileSystemTreeNodeLocalDBEntry);
|
||||
var dlgRes = dlg.ShowDialog(this);
|
||||
if (dlgRes == DialogResult.OK && dlg.ChosenRelease != null)
|
||||
{
|
||||
|
||||
@@ -687,45 +687,6 @@
|
||||
<data name="toolStripInput.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="toolStripLabelInput.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>38, 21</value>
|
||||
</data>
|
||||
<data name="toolStripLabelInput.Text" xml:space="preserve">
|
||||
<value>Input:</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserFiles.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserFiles.Text" xml:space="preserve">
|
||||
<value>Folder browser</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserMulti.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserMulti.Text" xml:space="preserve">
|
||||
<value>Multiselect Browser</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserDrag.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserDrag.Text" xml:space="preserve">
|
||||
<value>Drag'n'drop mode</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserHide.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserHide.Text" xml:space="preserve">
|
||||
<value>Hide browser</value>
|
||||
</data>
|
||||
<data name="toolStripSplitButtonInputBrowser.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="toolStripSplitButtonInputBrowser.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 21</value>
|
||||
</data>
|
||||
<data name="toolStripSplitButtonInputBrowser.Text" xml:space="preserve">
|
||||
<value>Open/close input browser</value>
|
||||
</data>
|
||||
<data name="toolStripInput.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
@@ -2193,6 +2154,45 @@
|
||||
<data name=">>comboBoxAudioFormat.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="toolStripLabelInput.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>38, 21</value>
|
||||
</data>
|
||||
<data name="toolStripLabelInput.Text" xml:space="preserve">
|
||||
<value>Input:</value>
|
||||
</data>
|
||||
<data name="toolStripSplitButtonInputBrowser.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="toolStripSplitButtonInputBrowser.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>32, 21</value>
|
||||
</data>
|
||||
<data name="toolStripSplitButtonInputBrowser.Text" xml:space="preserve">
|
||||
<value>Open/close input browser</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserFiles.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserFiles.Text" xml:space="preserve">
|
||||
<value>Folder browser</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserMulti.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserMulti.Text" xml:space="preserve">
|
||||
<value>Multiselect Browser</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserDrag.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserDrag.Text" xml:space="preserve">
|
||||
<value>Drag'n'drop mode</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserHide.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>177, 22</value>
|
||||
</data>
|
||||
<data name="toolStripMenuItemInputBrowserHide.Text" xml:space="preserve">
|
||||
<value>Hide browser</value>
|
||||
</data>
|
||||
<data name="toolStripLabelOutput.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>48, 24</value>
|
||||
</data>
|
||||
|
||||
161
CUETools/frmChoice.Designer.cs
generated
161
CUETools/frmChoice.Designer.cs
generated
@@ -35,21 +35,23 @@ namespace JDP
|
||||
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
|
||||
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.tableLayoutPanelMeta = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.listTracks = new System.Windows.Forms.ListView();
|
||||
this.Title = new System.Windows.Forms.ColumnHeader();
|
||||
this.TrackNo = new System.Windows.Forms.ColumnHeader();
|
||||
this.Start = new System.Windows.Forms.ColumnHeader();
|
||||
this.Length = new System.Windows.Forms.ColumnHeader();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.listMetadata = new System.Windows.Forms.ListView();
|
||||
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
|
||||
this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.columnHeaderMetadataValue = new System.Windows.Forms.ColumnHeader();
|
||||
this.columnHeaderMetadataName = new System.Windows.Forms.ColumnHeader();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.tableLayoutPanelMeta.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonOk
|
||||
@@ -89,6 +91,7 @@ namespace JDP
|
||||
this.imageList1.Images.SetKeyName(3, "cue");
|
||||
this.imageList1.Images.SetKeyName(4, "tags");
|
||||
this.imageList1.Images.SetKeyName(5, "local");
|
||||
this.imageList1.Images.SetKeyName(6, "ctdb");
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
@@ -97,78 +100,16 @@ namespace JDP
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.ReadOnly = true;
|
||||
//
|
||||
// listTracks
|
||||
//
|
||||
this.listTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.Title,
|
||||
this.TrackNo,
|
||||
this.Start,
|
||||
this.Length});
|
||||
resources.ApplyResources(this.listTracks, "listTracks");
|
||||
this.listTracks.FullRowSelect = true;
|
||||
this.listTracks.GridLines = true;
|
||||
this.listTracks.LabelEdit = true;
|
||||
this.listTracks.Name = "listTracks";
|
||||
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.DoubleClick += new System.EventHandler(this.listTracks_DoubleClick);
|
||||
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);
|
||||
//
|
||||
// Title
|
||||
//
|
||||
resources.ApplyResources(this.Title, "Title");
|
||||
//
|
||||
// TrackNo
|
||||
//
|
||||
resources.ApplyResources(this.TrackNo, "TrackNo");
|
||||
//
|
||||
// Start
|
||||
//
|
||||
resources.ApplyResources(this.Start, "Start");
|
||||
//
|
||||
// Length
|
||||
//
|
||||
resources.ApplyResources(this.Length, "Length");
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||
this.tableLayoutPanel1.Controls.Add(this.listMetadata, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.textBox1, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.listTracks, 0, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.listChoices, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanelMeta, 0, 3);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
//
|
||||
// listMetadata
|
||||
//
|
||||
this.listMetadata.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader2,
|
||||
this.columnHeader3});
|
||||
resources.ApplyResources(this.listMetadata, "listMetadata");
|
||||
this.listMetadata.FullRowSelect = true;
|
||||
this.listMetadata.GridLines = true;
|
||||
this.listMetadata.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
|
||||
this.listMetadata.LabelEdit = true;
|
||||
this.listMetadata.Name = "listMetadata";
|
||||
this.listMetadata.UseCompatibleStateImageBehavior = false;
|
||||
this.listMetadata.View = System.Windows.Forms.View.Details;
|
||||
this.listMetadata.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.listMetadata_AfterLabelEdit);
|
||||
this.listMetadata.DoubleClick += new System.EventHandler(this.listMetadata_DoubleClick);
|
||||
this.listMetadata.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listMetadata_KeyDown);
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
resources.ApplyResources(this.columnHeader2, "columnHeader2");
|
||||
//
|
||||
// columnHeader3
|
||||
//
|
||||
resources.ApplyResources(this.columnHeader3, "columnHeader3");
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
|
||||
@@ -187,6 +128,68 @@ namespace JDP
|
||||
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
|
||||
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
|
||||
//
|
||||
// tableLayoutPanelMeta
|
||||
//
|
||||
resources.ApplyResources(this.tableLayoutPanelMeta, "tableLayoutPanelMeta");
|
||||
this.tableLayoutPanelMeta.Controls.Add(this.listMetadata, 0, 0);
|
||||
this.tableLayoutPanelMeta.Controls.Add(this.listTracks, 1, 0);
|
||||
this.tableLayoutPanelMeta.Name = "tableLayoutPanelMeta";
|
||||
//
|
||||
// listTracks
|
||||
//
|
||||
this.listTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.Title,
|
||||
this.TrackNo,
|
||||
this.Start,
|
||||
this.Length});
|
||||
resources.ApplyResources(this.listTracks, "listTracks");
|
||||
this.listTracks.FullRowSelect = true;
|
||||
this.listTracks.GridLines = true;
|
||||
this.listTracks.LabelEdit = true;
|
||||
this.listTracks.Name = "listTracks";
|
||||
this.listTracks.UseCompatibleStateImageBehavior = false;
|
||||
this.listTracks.View = System.Windows.Forms.View.Details;
|
||||
this.listTracks.DoubleClick += new System.EventHandler(this.listTracks_DoubleClick);
|
||||
//
|
||||
// Title
|
||||
//
|
||||
resources.ApplyResources(this.Title, "Title");
|
||||
//
|
||||
// TrackNo
|
||||
//
|
||||
resources.ApplyResources(this.TrackNo, "TrackNo");
|
||||
//
|
||||
// Start
|
||||
//
|
||||
resources.ApplyResources(this.Start, "Start");
|
||||
//
|
||||
// Length
|
||||
//
|
||||
resources.ApplyResources(this.Length, "Length");
|
||||
//
|
||||
// listMetadata
|
||||
//
|
||||
this.listMetadata.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeaderMetadataValue,
|
||||
this.columnHeaderMetadataName});
|
||||
resources.ApplyResources(this.listMetadata, "listMetadata");
|
||||
this.listMetadata.FullRowSelect = true;
|
||||
this.listMetadata.GridLines = true;
|
||||
this.listMetadata.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||
this.listMetadata.LabelEdit = true;
|
||||
this.listMetadata.Name = "listMetadata";
|
||||
this.listMetadata.UseCompatibleStateImageBehavior = false;
|
||||
this.listMetadata.View = System.Windows.Forms.View.Details;
|
||||
this.listMetadata.DoubleClick += new System.EventHandler(this.listMetadata_DoubleClick);
|
||||
//
|
||||
// columnHeaderMetadataValue
|
||||
//
|
||||
resources.ApplyResources(this.columnHeaderMetadataValue, "columnHeaderMetadataValue");
|
||||
//
|
||||
// columnHeaderMetadataName
|
||||
//
|
||||
resources.ApplyResources(this.columnHeaderMetadataName, "columnHeaderMetadataName");
|
||||
//
|
||||
// frmChoice
|
||||
//
|
||||
this.AcceptButton = this.buttonOk;
|
||||
@@ -203,6 +206,7 @@ namespace JDP
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.tableLayoutPanelMeta.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@@ -214,17 +218,18 @@ namespace JDP
|
||||
private System.Windows.Forms.ImageList imageList1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.ListView listChoices;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanelMeta;
|
||||
private System.Windows.Forms.ListView listMetadata;
|
||||
private System.Windows.Forms.ColumnHeader columnHeaderMetadataValue;
|
||||
private System.Windows.Forms.ColumnHeader columnHeaderMetadataName;
|
||||
private System.Windows.Forms.ListView listTracks;
|
||||
private System.Windows.Forms.ColumnHeader Title;
|
||||
private System.Windows.Forms.ColumnHeader TrackNo;
|
||||
private System.Windows.Forms.ColumnHeader Length;
|
||||
private System.Windows.Forms.ColumnHeader Start;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
private System.Windows.Forms.ListView listMetadata;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader3;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||
private System.Windows.Forms.ColumnHeader Length;
|
||||
}
|
||||
}
|
||||
@@ -20,15 +20,16 @@ namespace JDP
|
||||
|
||||
public CUESheet CUE;
|
||||
|
||||
private bool freedb, musicbrainz;
|
||||
private bool freedb, musicbrainz, ctdb;
|
||||
|
||||
public void LookupAlbumInfo(bool freedb, bool musicbrainz, bool cache, bool cue)
|
||||
public void LookupAlbumInfo(bool freedb, bool musicbrainz, bool ctdb, bool cache, bool cue)
|
||||
{
|
||||
this.freedb = freedb;
|
||||
this.musicbrainz = musicbrainz;
|
||||
var releases = CUE.LookupAlbumInfo(false, false, cache, cue);
|
||||
this.ctdb = ctdb;
|
||||
var releases = CUE.LookupAlbumInfo(false, false, false, cache, cue);
|
||||
this.Choices = releases;
|
||||
if (freedb || musicbrainz)
|
||||
if (freedb || musicbrainz || ctdb)
|
||||
backgroundWorker1.RunWorkerAsync(null);
|
||||
}
|
||||
|
||||
@@ -92,20 +93,16 @@ namespace JDP
|
||||
{
|
||||
textBox1.Hide();
|
||||
pictureBox1.Hide();
|
||||
listTracks.Show();
|
||||
listMetadata.Show();
|
||||
tableLayoutPanel1.SetRowSpan(listChoices, 3);
|
||||
tableLayoutPanelMeta.Show();
|
||||
tableLayoutPanel1.SetRowSpan(listChoices, 2);
|
||||
tableLayoutPanel1.PerformLayout();
|
||||
}
|
||||
else
|
||||
{
|
||||
textBox1.Show();
|
||||
pictureBox1.Hide();
|
||||
listTracks.Hide();
|
||||
listMetadata.Hide();
|
||||
tableLayoutPanel1.SetRowSpan(textBox1, 4);
|
||||
//tableLayoutPanel1.RowStyles[2].Height = 0;
|
||||
//tableLayoutPanel1.RowStyles[3].Height = 0;
|
||||
tableLayoutPanelMeta.Hide();
|
||||
tableLayoutPanel1.SetRowSpan(textBox1, 3);
|
||||
tableLayoutPanel1.PerformLayout();
|
||||
}
|
||||
if (listChoices.Items.Count > 0)
|
||||
@@ -180,7 +177,8 @@ namespace JDP
|
||||
catch { }
|
||||
textBox1.Hide();
|
||||
pictureBox1.Show();
|
||||
tableLayoutPanel1.SetRowSpan(pictureBox1, 4);
|
||||
tableLayoutPanelMeta.Hide();
|
||||
tableLayoutPanel1.SetRowSpan(pictureBox1, 2);
|
||||
}
|
||||
else if (item != null && item is CUEToolsSourceFile)
|
||||
{
|
||||
@@ -207,6 +205,10 @@ namespace JDP
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.Genre, "Genre" }));
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.DiscNumber, "Disc Number" }));
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.TotalDiscs, "Total Discs" }));
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.DiscName, "Disc Name" }));
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.Barcode, "Barcode" }));
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.ReleaseDate, "ReleaseDate" }));
|
||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.Label, "Label" }));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -287,6 +289,10 @@ namespace JDP
|
||||
case 3: r.metadata.Genre = e.Label; break;
|
||||
case 4: r.metadata.DiscNumber = e.Label; break;
|
||||
case 5: r.metadata.TotalDiscs = e.Label; break;
|
||||
case 6: r.metadata.DiscName = e.Label; break;
|
||||
case 7: r.metadata.Barcode = e.Label; break;
|
||||
case 8: r.metadata.ReleaseDate = e.Label; break;
|
||||
case 9: r.metadata.Label = e.Label; break;
|
||||
}
|
||||
item.Text = r.ToString();
|
||||
}
|
||||
@@ -300,7 +306,7 @@ namespace JDP
|
||||
|
||||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
e.Result = CUE.LookupAlbumInfo(this.freedb, this.musicbrainz, false, false);
|
||||
e.Result = CUE.LookupAlbumInfo(this.freedb, this.musicbrainz, this.ctdb, false, false);
|
||||
}
|
||||
|
||||
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
|
||||
@@ -123,10 +123,10 @@
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>456, 3</value>
|
||||
<value>631, 3</value>
|
||||
</data>
|
||||
<data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>110, 28</value>
|
||||
<value>154, 29</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
|
||||
@@ -148,7 +148,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
|
||||
<value>520</value>
|
||||
<value>757</value>
|
||||
</data>
|
||||
<data name="listChoices.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@@ -157,7 +157,7 @@
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="listChoices.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>569, 114</value>
|
||||
<value>788, 144</value>
|
||||
</data>
|
||||
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
@@ -166,115 +166,143 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAy
|
||||
GQAAAk1TRnQBSQFMAgEBBgEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIB4AAx0BKgJDAUIBdwMdASrwAAMdASkCQgFBAXQC/wHwAf8CQgFBAXQDHQEp
|
||||
6AADHAEoA0ABcQL/AfAB/wLpAdoD/wHxAf8DQAFxAxwBKCAAAzYBWQNCAXYDQgF2AzABSwQAAzABSwNC
|
||||
AXYDQgF2A0IBdgNCAXYDMAFLBAADMAFLA0IBdgNCAXYDNgFZgAADHAEnA0ABbwL/AfAB/wHrAd0BsQH/
|
||||
AfcBwQE2Af8B7QHfAbMD/wHyAf8DQAFvAxwBJxwAA0EBcgL5AekB/wLzAeMB/wJeAVsBtQNDAXgCawFn
|
||||
AcMC8wHjAf8C8wHjAf8C8wHjAf8C8wHjAf8CawFnAcMDQwF4Al4BWwG1AvMB4wH/AvkB6QH/A0EBcoAA
|
||||
A0ABbgL/AfAB/wLpAdoB/wHnAasBIAH/AecBqwEgAf8B5wGrASAB/wHqAdsBsAP/AfQB/wNAAW4DHAEn
|
||||
GAADQAFvAvQB5gH/AukB2gH/Au8B4AH/AvQB5gH/Au8B4AH/AukB2gH/AukB2gH/AukB2gH/AukB2gH/
|
||||
Au8B4AH/AvQB5gH/Au8B4AH/AukB2gH/AvQB5gH/A0ABb4AAAxwBJwM/AW0C/wHxAf8B5wHXAasB/wHX
|
||||
AZYBCwH/AdcBlgELAf8B1wGWAQsB/wHoAdgBrgP/AfUB/wM/AW0DHAEnFAADQAFuAvYB6AH/AusB3gH/
|
||||
AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/
|
||||
AusB3gH/AvYB6AH/A0ABboQAAxsBJgM/AWwC/wHyAf8B5QHUAakB/wHNAYkBAAH/Ac0BiQEAAf8BzQGJ
|
||||
AQAB/wHoAdcBrwP/AfcB/wM/AWwDGwEmEAADPwFtAvcB7AH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/
|
||||
Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/AvcB7AH/Az8BbYgA
|
||||
AxsBJgM+AWsC/wH0Af8B5wHWAawB/wHRAY4BAwH/AdEBjgEDAf8B0QGOAQMB/wHsAdsBswP/AfgB/wM+
|
||||
AWsDGwEmDAADPgFrAvkB7wH/AvEB6AH/AvEB6AH/AvEB6AH/AvEB6AH/AvEB6AH/AwAB/wFOAYUBkwH/
|
||||
AbgCywH/AvEB6AH/AvEB6AH/AvEB6AH/AvEB6AH/AvkB7wH/Az4Ba4wAAxsBJgM+AWsC/wH1Af8B6wHc
|
||||
AbMB/wHfAaEBFgH/Ad8BoQEWAf8B3wGhARYB/wHxAeIBuwP/AfoB/wM+AWsDGwEmCAADPgFqAvoB8wH/
|
||||
AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/AXkBsQHAAf8B2QH0Av8BPAGcAasB/wG1AdMB1AH/
|
||||
AvUB7gH/AvUB7gH/AvUB7gH/AvoB8wH/Az4BapAAAxsBJgM+AWoC/wH3Af8B8gHkAbsB/wHwAbgBLQH/
|
||||
AfABuAEtAf8B8AG4AS0B/wL4AfQD/wH7Af8DPgFqAxoBJQQAAz0BaQL8AfcB/wL4AfMB/wL4AfMB/wL4
|
||||
AfMB/wL4AfMB/wL4AfMB/wHUAeYB5wH/AUYBtAHDAf8BdgHmAfcB/wE9AZ0BrQH/AbYB1QHXAf8C+AHz
|
||||
Af8C+AHzAf8C/AH3Af8DPQFplAADGgElAz0BaQL/AfgB/wH3AeoBwwH/Af0ByQE+Af8B+QHsAccB/wL7
|
||||
AfcB/wL8AfkD/wH8Af8DPQFpAxoBJQM9AWgC/QH6Af8C+wH3Af8C+wH3Af8C+wH3Af8C+wH3Af8C+wH3
|
||||
Af8C+wH3Af8BvgHlAegB/wFHAbUBxQH/AXYB5gH3Af8BPgGeAa4B/wG5AdgB2wH/AvsB9wH/Av0B+gH/
|
||||
Az0BaJgAAxoBJQM9AWgC/wH6Af8C+AH0Af8C+wH3Af8C6AHeAf8C2AHJAf8C6AHeA/8B/gH/Az0BaAM9
|
||||
AWgC/gH9Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8BwAHmAesB/wFI
|
||||
AbUBxgH/AXYB5gH3Af8BPgGeAa8B/wG+AdgB3AH/Av4B/QH/Az0BaJwAAxoBJQM9AWgC/wH7Af8C/AH5
|
||||
Af8CywG7Af8EAALLAbwD/wH+Af8DPQFoAz0BZyT/AcEB6AHuAf8BSAG2AccB/wF2AeYB9wH/A5MB/wPV
|
||||
Af8DPQFnoAADGgElAz0BZwL/AfwB/wLUAcoB/wKvAZ8B/wLUAcsD/wH+Af8DPQFnAzEBTQM8AWYDPAFm
|
||||
AzwBZgM8AWYDPAFmAzwBZgM8AWYDPAFmAzwBZgM8AWYDTAGMAlYBVAGnA/cB/wJUAVgBuwJEAUUBeqQA
|
||||
AxoBJAM9AWcC/wH+A/8B/gP/Af4F/wM9AWcwAAMaASQCRAFFAXwCgAL/AkgBagHBqAADGgEkAzwBZgM8
|
||||
AWYDPAFmAzwBZgMxAU00AAMmATkCSwFjAa8DKgFAjAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGa
|
||||
A0QBeQMwAUwDFAEcAwMBBAgAA5YB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEc
|
||||
AgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wQAAU8BzAL/
|
||||
ARwCmQH/ARwCmQH/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/
|
||||
AU8BzAL/AU8BzAL/AU8BzAL/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGaA0QBeQMwAUwDFAEc
|
||||
AwMBBBAAAwQBBgMkATYDUwGwAWMCXgHlAXMCXwH7AbMCqQH/AXMCZAH7A2AB6wNaAdMDUwGsA0cBggMo
|
||||
ATwDBwEJBAABzAKZAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8D6gH/A+oB/wPqAf8BgAIAAf8D6gH/
|
||||
A+oB/wPqAf8BgAIAAf8BgAIAAf8BTwIAAf8BHAIAAf8BHAKZAf8DAAH/AxIB/wM2Af8DAAH/AwUB/wFP
|
||||
AcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wgA
|
||||
AwQBBgMkATYDUwGwAWMCXgHlAXMCXwH7AbMCqQH/AXMCZAH7A2AB6wNaAdMDUwGsA0cBggMoATwDBwEJ
|
||||
CAADAgEDAzEBTwNcAeoBzwK0Av8C3QL/AuIC/wLoAv8C7gL/AvMB/wPPAf8DXwHzA1gBxgNMAZIDKAE8
|
||||
AwMBBAHMApkB/wGAAgAB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/A/EB/wGA
|
||||
AgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8BHAIAAf8DAAH/A8wN/wM2Af8DBQH/AU8BzAL/AU8BzAL/
|
||||
AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/BAADAgEDAzEBTwNcAeoBzwK0
|
||||
Av8C3QL/AuIC/wLoAv8C7gL/AvMB/wPPAf8DXwHzA1gBxgNMAZIDKAE8AwMBBAQAAyYBOANtAfcB9QLH
|
||||
Av8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/A4IB+wNYAcYDRwGCAxQBHAHMApkB/wGZAQABHAH/
|
||||
AYACAAH/AYACAAX/AYACAAH/AYACAAX/AYACAAX/AYACAAH/AYACAAX/AYACAAH/AYACAAH/ARwCAAH/
|
||||
AwAB/wPMEf8DAAH/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/
|
||||
AU8BzAL/BAADJgE4A20B9wH1AscC/wLSAv8C2AL/At0C/wLiAv8C6AL/AvQF/wP1Af8DggH7A1gBxgNH
|
||||
AYIDFAEcAwcBCQNeAd0B9QLNAv8CzwL/As0C/wLSAv8C2AL/At0C/wLiAv8C+gn/A/UB/wNfAfMDUwGs
|
||||
AzABTAHMApkB/wGZAQABHAH/AYACAAH/AYACAAH/AYACAA3/AYACAA3/AYACAAH/AYACAAH/AYACAAH/
|
||||
ARwCAAH/ARwCmQH/AwUB/wNgAf8DwAH/A8AB/wPMAf8DAAH/AxIB/wMAAf8DAAH/AwAB/wMAAf8DEgH/
|
||||
AU8BzAL/AU8BzAL/AU8BzAL/AwcBCQNeAd0B9QLNAv8CzwL/As0C/wLSAv8C2AL/At0C/wLiAv8C+gn/
|
||||
A/UB/wNfAfMDUwGsAzABTAM+AWoBxgKxAv8C2QL/AtQC/wLPAv8CzQL/AdQB2wL/AdcB4gL/AeQB6hH/
|
||||
AdICzAH/A1oB0wNDAXcBzAKZAf8BmQEAARwB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGA
|
||||
AgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEcAgAB/wFPAcwC/wEcApkB/wMFAf8DAAH/
|
||||
AwAF/wMAAf8DBQH/AaQCoAn/A5kB/wMSAf8DEgH/AU8BzAL/AU8BzAL/Az4BagHGArEC/wLZAv8C1AL/
|
||||
As8C/wLNAv8B1AHbAv8B1wHiAv8B5AHqEf8B0gLMAf8DWgHTA0MBdwNWAbYB/wLjAf8BAAEXARgB/wEA
|
||||
ARcBGAH/AQABFwEYAv8B3gHnAf8BAAEXARgC/wHRAfMB/wEAARcBGAL/AfgC/wFXAl0B/wEAARcBGAH/
|
||||
AVcCXQH/AcwCmQH/AVwCVQHqA04BlAHMApkB/wGZAQABHAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/
|
||||
AYACAAX/AYACAAX/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ARwCAAH/AU8BzAL/AU8BzAL/
|
||||
AU8BzAL/AU8BzAL/AwAF/wMAAf8DEhH/A8wB/wMAAf8BTwHMAv8BTwHMAv8DVgG2Af8C4wH/AVcCXQH/
|
||||
AQABFwEYAf8BVwJdAv8B3gHnAf8BVwJdAf8BAAEXARgB/wFXAl0C/wH4Av8BAAEXARgB/wEAARcBGAH/
|
||||
AQABFwEYAf8BzAKZAf8BXAJVAeoDTgGUA2EB4gH/AucB/wEAARcBGAL/At4C/wLgAv8B7wH8Af8BAAEX
|
||||
ARgC/wHiAfwB/wEAARcBGAH/AfwB8AH5Af8BAAEXARgB/wHMApkB/wEAARcBGAH/AcwCmQH/AW0CbAH3
|
||||
A1EBoQHMApkB/wGZAQABHAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/
|
||||
AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ARwCAAH/AZkCTwH/AZkCTwH/AZkCTwH/
|
||||
AZkCTwH/AwAF/wMAAf8DAAH/AzYB/wPMDf8DAAH/AZkCTwH/AZkCTwH/A2EB4gH/AucB/wEAARcBGAL/
|
||||
At4B/wEAARcBGAL/Ae8B/AH/AQABFwEYAv8B4gH8Af8BAAEXARgB/wH8AfAB+QH/AQABFwEYAf8BzAKZ
|
||||
Af8BzAKZAf8BzAKZAf8BbQJsAfcDUQGhAZ4CjAH/AekCvgH/AQABFwEYAf8BAAEXARgB/wH5AtYC/wHp
|
||||
AfMB/wEAARcBGAH/AQABFwEYAf8BAAEXARgB/wH5AegB7AH/AQABFwEYAf8B5gK6Af8B5gK9Af8B5gLA
|
||||
Af8BpgKUAf8DTgGUNP8D8QH/A+oB/wOAAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8DAAX/AwAB/wM+
|
||||
Af8DBQH/AwAB/wMAAf8DAAX/AwAB/wGZAk8B/wGZAk8B/wGeAowB/wHpAr4B/wEAARcBGAH/AfMCxQH/
|
||||
AfkC1gL/AekB8wH/AQABFwEYAv8B6QHzAf8BAAEXARgB/wH5AegB7AH/AQABFwEYAf8BAAEXARgB/wHm
|
||||
Ar0B/wHmAsAB/wGmApQB/wNOAZQDXQHSAdsCqAH/AQABFwEYAf8B6gK3Af8B8wLNAv8B7gH8Af8BAAEX
|
||||
ARgC/wHSAfUB/wEAARcBGAL/AfQB/AH/AQABFwEYAv8C2AH/AQABFwEYAv8C4gH/A2IB9gNDAXcE/wGZ
|
||||
AQABHAn/AYACAA3/AYACAAH/AYACAA3/AYACAAH/AYACAAH/A4AB/wGZAk8B/wGZAk8B/wGZAk8B/wGZ
|
||||
Ak8B/wMABf8DBQH/AwAB/wMSAf8DPgH/Az4B/wMABf8DAAH/AZkCTwH/AZkCTwH/A10B0gHbAqgB/wEA
|
||||
ARcBGAH/AeoCtwH/AQABFwEYAv8B7gH8Af8BAAEXARgC/wHSAfUB/wEAARcBGAL/AfQB/AH/AQABFwEY
|
||||
Av8C2AL/At0C/wLiAf8DYgH2A0MBdwNWAbEB1QKiAf8BAAEXARgB/wEAARcBGAH/AQABFwEYAv8B9gL/
|
||||
AVcCXQH/AQABFwEYAf8BVwJdAv8B4AHnAf8BVwJdAf8BAAEXARgB/wFXAl0C/wLdAf8DWgHkAzABTAT/
|
||||
AZkBAAEcCf8BgAIACf8BgAIAEf8BgAIAAf8D8QH/A+oB/wOAAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJP
|
||||
Af8DAAn/A5kB/wMSAf8DAAH/AwUB/wMABf8DAAH/AZkCTwH/AZkCTwH/A1YBsQHVAqIB/wFXAl0B/wEA
|
||||
ARcBGAH/AVcCXQL/AfYC/wEAARcBGAL/AdIB9QH/AQABFwEYAv8B4AHnAf8BAAEXARgB/wEAARcBGAH/
|
||||
AQABFwEYAv8C3QH/A1oB5AMwAUwDMgFQAcMCvxL/AewB8QL/AdsB5wL/AdkB3gL/AtQC/wLPAv8CzQL/
|
||||
AtIB/wHGAq0B/wNTAawDFAEbBP8BmQEAARwJ/wGAAgAJ/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGA
|
||||
AgAB/wGAAgAB/wGAAgAB/wEcAgAB/wGZAk8B/wGZAk8B/wGZAk8B/wGZAk8B/wMAAf8DwA3/A8wB/wNI
|
||||
Af8DAAX/AwAB/wGZAk8B/wGZAk8B/wMyAVABwwK/Ev8B7AHxAv8B2wHnAv8B2QHeAv8C1AL/As8C/wLN
|
||||
Av8C0gH/AcYCrQH/A1MBrAMUARsEAANaAcAD9Qr/Av4C/wLnAv8C4wL/At4C/wLZAv8C1AL/As8B/wH1
|
||||
AscB/wNfAeMDIwE0AwIBAwT/AZkBAAEcAf8BgAIABf8BgAIACf8BgAIACf8BgAIABf8BgAIAAf8D8QH/
|
||||
A+oB/wEcAgAB/wGZAk8B/wGZAk8B/wGZAk8B/wGZAk8B/wMSAf8DNgH/A8AZ/wMAAf8BmQJPAf8BmQJP
|
||||
Af8EAANaAcAD9Qr/Av4C/wLnAv8C4wL/At4C/wLZAv8C1AL/As8B/wH1AscB/wNfAeMDIwE0AwIBAwQA
|
||||
AxcBIANiAe8D9Qb/AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/A20B9wMwAU0DBAEGBAAE/wGZ
|
||||
AhwJ/wGAAgAB/wGAAgAJ/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOGAf8BmQJPAf8BmQJPAf8BmQJP
|
||||
Af8BmQJPAf8BmQJPAf8DEgH/AwAB/wMSAf8DmRH/AwAB/wGZAk8B/wGZAk8B/wQAAxcBIANiAe8D9Qb/
|
||||
AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/A20B9wMwAU0DBAEGDAADFwEgA1oBwAPGAv8C9wL/
|
||||
AvIC/wLsAv8C5wL/AuMB/wHGArEB/wNeAdADJAE2AwIBAwgABP8BmQIcLf8D8QH/A+oB/wOGAf8BmQJP
|
||||
Af8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8DEgH/AwAB/wMFAf8DYAH/A8wF/wMA
|
||||
Af8BmQJPAf8BmQJPAf8IAAMXASADWgHAA8YC/wL3Av8C8gL/AuwC/wLnAv8C4wH/AcYCsQH/A14B0AMk
|
||||
ATYDAgEDGAADMgFQA1EBogNdAdIBjAKJAf8DYAHUA1QBpgM3AVoDBQEHEAAI/wHMApkt/wPxAf8DwAH/
|
||||
BAABmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8DBQH/
|
||||
AwAB/wM2Af8DEgH/AZkCTwH/FAADMgFQA1EBogNdAdIBjAKJAf8DYAHUA1QBpgM3AVoDBQEHEAABQgFN
|
||||
AT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAeMD/wQAAcED/wQAAYAB/wEIARAFAAF/
|
||||
BwABPwcAAR8GAAGAAQ8GAAHAAQcGAAHgAQMGAAHwAQEGAAH4BwAB/AcAAf4BCAYAAf8HAAH/AYAB/wHw
|
||||
BAAB/wHAAf8B+AQAAeABAwIAAYABAQHgAQMBwAEBBAABwAEBAYAFAAGAAQABgAUAAYBBAAGABQABgAEA
|
||||
AYABAQQAAYABAQHAAQMEAAHAAQMB8AEPAgABgAEBAfABDws=
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACm
|
||||
HwAAAk1TRnQBSQFMAgEBBwEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIB4AAx0BKgNDAXcDHQEqeAABLwEsASoBOwFxAWEBUQGUAZkBeQFaAc4BrAGC
|
||||
AVkB6wGsAYIBWQHrAZkBeQFaAc4BcQFhAVEBlAIAAeIB/wIAAeIB/1QAAx0BKQNCAXQC/wHwAf8DQgF0
|
||||
Ax0BKWwAAwoBDQFyAWEBUgGWAbQBhQFXAfoB4QHNAbkB/wHxAeABzgH/AfkB5wHWAf8B+AHmAdQB/wHw
|
||||
Ad0BzAH/AeEBzQG5Af8CAAHiAf8CAAHiAf8DCgENTAADHAEoA0ABcQL/AfAB/wLpAdoD/wHxAf8DQAFx
|
||||
AxwBKCAAAzYBWQNCAXYDQgF2AzABSwQAAzABSwNCAXYDQgF2A0IBdgNCAXYDMAFLBAADMAFLA0IBdgNC
|
||||
AXYDNgFZBAADCgENAYoBcAFXAbgB2QG/AaUB/wH+AfIB5AL/AecBzwH/AfwB2wG7Af8B+QHTAbIB/wH2
|
||||
AdABrAH/AfQB0QGuAf8B9gHYAbsB/wIAAeIB/wIAAeIB/wGKAXABVwG4AwoBDUQAAxwBJwNAAW8C/wHw
|
||||
Af8B6wHdAbEB/wH3AcEBNQH/Ae0B3wGzA/8B8gH/A0ABbwMcASccAANBAXIC+QHpAf8C8wHjAf8CWwFZ
|
||||
AbUDQwF4AmUBYwHDAvMB4wH/AvMB4wH/AvMB4wH/AvMB4wH/AmUBYwHDA0MBeAJbAVkBtQLzAeMB/wL5
|
||||
AekB/wNBAXIEAAFyAWEBUgGWAdkBvwGlAv8B+AHrAv8B6wHRAv8B4QHDAf8B/gHbAboB/wH7AdYBsgH/
|
||||
AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/QAADQAFuAv8B8AH/
|
||||
AukB2gH/AecBqwEfAf8B5wGrAR8B/wHnAasBHwH/AeoB2wGwA/8B9AH/A0ABbgMcAScYAANAAW8C9AHm
|
||||
Af8C6QHaAf8C7wHgAf8C9AHmAf8C7wHgAf8C6QHaAf8C6QHaAf8C6QHaAf8C6QHaAf8C7wHgAf8C9AHm
|
||||
Af8C7wHgAf8C6QHaAf8C9AHmAf8DQAFvAS0BKgEoATgBtwGHAVcB/QL+AfoC/wH5AekC/wHvAdgC/wHn
|
||||
Ac0C/wHhAcIB/wH8AdwBuwH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/
|
||||
AgAB4gH/QAADHAEnAz8BbQL/AfEB/wHnAdcBqwH/AdcBlgEKAf8B1wGWAQoB/wHXAZYBCgH/AegB2AGu
|
||||
A/8B9QH/Az8BbQMcAScUAANAAW4C9gHoAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHe
|
||||
Af8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C9gHoAf8DQAFuAXIBYQFSAZYB4gHO
|
||||
AboB/wH3Ad4BxgL/AekB0QL/AfYB4gL/AfIB3QL/AfAB3QH/AfgB6gHZAf8B+AHmAdQB/wH7Ad8BxwH/
|
||||
AfUBzwGrAf8CAAHiAf8CAAHiAf8B+AHdAcMB/wHiAc4BugH/AXIBYQFSAZZEAAMbASYDPwFsAv8B8gH/
|
||||
AeUB1AGpAf8BzQGJAQAB/wHNAYkBAAH/Ac0BiQEAAf8B6AHXAa8D/wH3Af8DPwFsAxsBJhAAAz8BbQL3
|
||||
AewB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLu
|
||||
AeMB/wLuAeMB/wLuAeMB/wL3AewB/wM/AW0BmgF5AVoB0AHvAeAB0AH/AecBvgGWAf8B5wG8AZQB/wHw
|
||||
AcwBqQH/Af4B7AHaAf8B3QHEAawB/wGpAYEBWgHnAakBgQFaAecB3QHDAaoB/wH4Ad0BxAH/AgAB4gH/
|
||||
AgAB4gH/AfUB1gG4Af8B8QHfAc8B/wGaAXkBWgHQSAADGwEmAz4BawL/AfQB/wHnAdYBrAH/AdEBjgEC
|
||||
Af8B0QGOAQIB/wHRAY4BAgH/AewB2wGzA/8B+AH/Az4BawMbASYMAAM+AWsC+QHvAf8C8QHoAf8C8QHo
|
||||
Af8C8QHoAf8C8QHoAf8C8QHoAf8DAAH/AU0BhQGTAf8BuALLAf8C8QHoAf8C8QHoAf8C8QHoAf8C8QHo
|
||||
Af8C+QHvAf8DPgFrAawBggFZAewB9QHkAdUB/wHpAb4BlwH/AegBvAGWAf8B5wG8AZQB/wHzAd4BygH/
|
||||
AagBgQFZAeYBFgEVARQBGwEWARUBFAEbAagBgQFZAeYB9gHjAdMB/wIAAeIB/wIAAeIB/wHtAckBpAH/
|
||||
AfYB5AHSAf8BrAGCAVkB7EwAAxsBJgM+AWsC/wH1Af8B6wHcAbMB/wHfAaEBFQH/Ad8BoQEVAf8B3wGh
|
||||
ARUB/wHxAeIBuwP/AfoB/wM+AWsDGwEmCAADPgFqAvoB8wH/AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/
|
||||
AvUB7gH/AXgBsQHAAf8B2QH0Av8BOwGcAasB/wG1AdMB1AH/AvUB7gH/AvUB7gH/AvUB7gH/AvoB8wH/
|
||||
Az4BagGsAYIBWQHsAfUB5AHVAf8B6QG/AZkB/wHpAcABmQH/AekBwQGaAf8B8wHdAckB/wGoAYEBWQHm
|
||||
ARYBFQEUARsBFgEVARQBGwGoAYEBWQHmAfgB6AHZAf8B8gHSAbIB/wHwAcwBqwH/AfABzAGrAf8B9gHk
|
||||
AdMB/wGsAYIBWQHsUAADGwEmAz4BagL/AfcB/wHyAeQBuwH/AfABuAEsAf8B8AG4ASwB/wHwAbgBLAH/
|
||||
AvgB9AP/AfsB/wM+AWoDGgElBAADPQFpAvwB9wH/AvgB8wH/AvgB8wH/AvgB8wH/AvgB8wH/AvgB8wH/
|
||||
AdQB5gHnAf8BRQG0AcMB/wF1AeYB9wH/ATwBnQGtAf8BtgHVAdcB/wL4AfMB/wL4AfMB/wL8AfcB/wM9
|
||||
AWkBmgF5AVoB0AHwAeEB0QH/AeoBxAGhAf8B6QHBAZsB/wHpAcABlwH/AfEBzgGyAf8B3AHDAaoB/wGp
|
||||
AYEBWgHnAakBgQFaAecB3QHEAawC/wH8AfMC/wH0AeUC/wHuAdoB/wH8AeUB0QH/AfEB4QHRAf8BmgF5
|
||||
AVoB0FQAAxoBJQM9AWkC/wH4Af8B9wHqAcMB/wH9AckBPQH/AfkB7AHHAf8C+wH3Af8C/AH5A/8B/AH/
|
||||
Az0BaQMaASUDPQFoAv0B+gH/AvsB9wH/AvsB9wH/AvsB9wH/AvsB9wH/AvsB9wH/AvsB9wH/Ab4B5QHo
|
||||
Af8BRgG1AcUB/wF1AeYB9wH/AT0BngGuAf8BuQHYAdsB/wL7AfcB/wL9AfoB/wM9AWgBcgFhAVIBlgHi
|
||||
Ac4BugH/AfEB0gG2Af8B6wHBAZsB/wHrAb8BmQL/AeQB0wL/AegB2wH/AfMB2gHHAf8B+AHxAeQC/wH4
|
||||
Ae0C/wH3AekC/wH+AfEC/wH8Ae8C/wH8AfIB/wHiAc4BugH/AXIBYQFSAZZYAAMaASUDPQFoAv8B+gH/
|
||||
AvgB9AH/AvsB9wH/AugB3gH/AtgByQH/AugB3gP/Af4B/wM9AWgDPQFoAv4B/QH/Av0B+wH/Av0B+wH/
|
||||
Av0B+wH/Av0B+wH/Av0B+wH/Av0B+wH/Av0B+wH/AcAB5gHrAf8BRwG1AcYB/wF1AeYB9wH/AT0BngGv
|
||||
Af8BvgHYAdwB/wL+Af0B/wM9AWgBLQEqASgBOAG3AYcBVwH9AfoB7QHhAf8B7AHHAaMC/wHsAdoF/wH3
|
||||
Ac0BtgH/AewBvQGXAv8B9AHcA/8B9wL/AfcB6AP/AfMD/wH5Af8C/gH5Af8BtwGHAVcB/QEtASoBKAE4
|
||||
XAADGgElAz0BaAL/AfsB/wL8AfkB/wLLAbsB/wQAAssBvAP/Af4B/wM9AWgDPQFnJP8BwQHoAe4B/wFH
|
||||
AbYBxwH/AXUB5gH3Af8DkwH/A9UB/wM9AWcEAAFyAWEBUgGWAdkBvwGlAv8B+gHwBv8B/QHzAf8B8AHB
|
||||
AaMB/wHuAcYBoAH/Af0B8AHRA/8B/gL/Af0B8AL/Af0B8QX/AdkBvwGlAf8BcgFhAVIBlmQAAxoBJQM9
|
||||
AWcC/wH8Af8C1AHKAf8CrwGfAf8C1AHLA/8B/gH/Az0BZwMxAU0DPAFmAzwBZgM8AWYDPAFmAzwBZgM8
|
||||
AWYDPAFmAzwBZgM8AWYDPAFmA0sBjAJUAVIBpwP3Af8CVgFYAbsDRAF6BAADCgENAYoBcAFXAbgB2QG/
|
||||
AaUB/wH+Af0B/AL/AfEB5AH/AfIBygGuAf8B8gHSAa0B/wH5Ae0ByAP/AfcD/wH9Af8B/gH9AfwB/wHZ
|
||||
Ab8BpQH/AYoBcAFXAbgDCgENaAADGgEkAz0BZwL/Af4D/wH+A/8B/gX/Az0BZzAAAxoBJAJEAUUBfAKA
|
||||
Av8CTwFiAcEIAAMKAQ0BcgFhAVIBlgG0AYUBVwH6AeEBzQG5Af8B8QHiAdQB/wH5AewB3wH/AfsB8wHl
|
||||
Af8B9AHtAeQB/wHiAc4BuwH/AbQBhQFXAfoBcgFhAVIBlgMKAQ1wAAMaASQDPAFmAzwBZgM8AWYDPAFm
|
||||
AzEBTTQAAyYBOQJPAVwBrwMqAUAQAAEvASwBKgE7AXEBYQFRAZQBmQF5AVoBzgGsAYIBWQHrAa0BgwFY
|
||||
Ae8BoAF8AVkB2QFzAWIBUQGXAS8BLAEqATtcAAMCAQMDFAEcAzABTANEAXkDUAGaA1ABpANQAZoDRAF5
|
||||
AzABTAMUARwDAwEECAADlgH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/
|
||||
ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/BAABTgHMAv8BGwKZ
|
||||
Af8BGwKZAf8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHM
|
||||
Av8BTgHMAv8BTgHMAv8QAAMCAQMDFAEcAzABTANEAXkDUAGaA1ABpANQAZoDRAF5AzABTAMUARwDAwEE
|
||||
EAADBAEGAyQBNgNTAbABYwJeAeUBcAJfAfsBswKpAf8BcAJiAfsDYAHrA1oB0wNTAawDRwGCAygBPAMH
|
||||
AQkEAAHMApkB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wPqAf8D6gH/A+oB/wGAAgAB/wPqAf8D6gH/
|
||||
A+oB/wGAAgAB/wGAAgAB/wFOAgAB/wEbAgAB/wEbApkB/wMAAf8DEQH/AzUB/wMAAf8DBAH/AU4BzAL/
|
||||
AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/CAADBAEG
|
||||
AyQBNgNTAbABYwJeAeUBcAJfAfsBswKpAf8BcAJiAfsDYAHrA1oB0wNTAawDRwGCAygBPAMHAQkIAAMC
|
||||
AQMDMQFPA1wB6gHPArQC/wLdAv8C4gL/AugC/wLuAv8C8wH/A88B/wNfAfMDWAHGA0wBkgMoATwDAwEE
|
||||
AcwCmQH/AYACAAH/AYACAAH/AYACAAH/A/EB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8D8QH/AYACAAH/
|
||||
AYACAAH/A/EB/wGAAgAB/wGAAgAB/wEbAgAB/wMAAf8DzA3/AzUB/wMEAf8BTgHMAv8BTgHMAv8BTgHM
|
||||
Av8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8EAAMCAQMDMQFPA1wB6gHPArQC/wLd
|
||||
Av8C4gL/AugC/wLuAv8C8wH/A88B/wNfAfMDWAHGA0wBkgMoATwDAwEEBAADJgE4A20B9wH1AscC/wLS
|
||||
Av8C2AL/At0C/wLiAv8C6AL/AvQF/wP1Af8DgQH7A1gBxgNHAYIDFAEcAcwCmQH/AZkBAAEbAf8BgAIA
|
||||
Af8BgAIABf8BgAIAAf8BgAIABf8BgAIABf8BgAIAAf8BgAIABf8BgAIAAf8BgAIAAf8BGwIAAf8DAAH/
|
||||
A8wR/wMAAf8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHM
|
||||
Av8EAAMmATgDbQH3AfUCxwL/AtIC/wLYAv8C3QL/AuIC/wLoAv8C9AX/A/UB/wOBAfsDWAHGA0cBggMU
|
||||
ARwDBwEJA14B3QH1As0C/wLPAv8CzQL/AtIC/wLYAv8C3QL/AuIC/wL6Cf8D9QH/A18B8wNTAawDMAFM
|
||||
AcwCmQH/AZkBAAEbAf8BgAIAAf8BgAIAAf8BgAIADf8BgAIADf8BgAIAAf8BgAIAAf8BgAIAAf8BGwIA
|
||||
Af8BGwKZAf8DBAH/A18B/wPAAf8DwAH/A8wB/wMAAf8DEQH/AwAB/wMAAf8DAAH/AwAB/wMRAf8BTgHM
|
||||
Av8BTgHMAv8BTgHMAv8DBwEJA14B3QH1As0C/wLPAv8CzQL/AtIC/wLYAv8C3QL/AuIC/wL6Cf8D9QH/
|
||||
A18B8wNTAawDMAFMAz4BagHGArEC/wLZAv8C1AL/As8C/wLNAv8B1AHbAv8B1wHiAv8B5AHqEf8B0gLM
|
||||
Af8DWgHTA0MBdwHMApkB/wGZAQABGwH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAX/AYACAAX/
|
||||
AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ARsCAAH/AU4BzAL/ARsCmQH/AwQB/wMAAf8DAAX/
|
||||
AwAB/wMEAf8BpAKgCf8DmQH/AxEB/wMRAf8BTgHMAv8BTgHMAv8DPgFqAcYCsQL/AtkC/wLUAv8CzwL/
|
||||
As0C/wHUAdsC/wHXAeIC/wHkAeoR/wHSAswB/wNaAdMDQwF3A1YBtgH/AuMB/wEAARYBFwH/AQABFgEX
|
||||
Af8BAAEWARcC/wHeAecB/wEAARYBFwL/AdEB8wH/AQABFgEXAv8B+AL/AVYCXAH/AQABFgEXAf8BVgJc
|
||||
Af8BzAKZAf8BXAJVAeoDTgGUAcwCmQH/AZkBAAEbAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIA
|
||||
Bf8BgAIABf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BGwIAAf8BTgHMAv8BTgHMAv8BTgHM
|
||||
Av8BTgHMAv8DAAX/AwAB/wMREf8DzAH/AwAB/wFOAcwC/wFOAcwC/wNWAbYB/wLjAf8BVgJcAf8BAAEW
|
||||
ARcB/wFWAlwC/wHeAecB/wFWAlwB/wEAARYBFwH/AVYCXAL/AfgC/wEAARYBFwH/AQABFgEXAf8BAAEW
|
||||
ARcB/wHMApkB/wFcAlUB6gNOAZQDYQHiAf8C5wH/AQABFgEXAv8C3gL/AuAC/wHvAfwB/wEAARYBFwL/
|
||||
AeIB/AH/AQABFgEXAf8B/AHwAfkB/wEAARYBFwH/AcwCmQH/AQABFgEXAf8BzAKZAf8BbQJsAfcDUQGh
|
||||
AcwCmQH/AZkBAAEbAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIA
|
||||
Af8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BGwIAAf8BmQJOAf8BmQJOAf8BmQJOAf8BmQJO
|
||||
Af8DAAX/AwAB/wMAAf8DNQH/A8wN/wMAAf8BmQJOAf8BmQJOAf8DYQHiAf8C5wH/AQABFgEXAv8C3gH/
|
||||
AQABFgEXAv8B7wH8Af8BAAEWARcC/wHiAfwB/wEAARYBFwH/AfwB8AH5Af8BAAEWARcB/wHMApkB/wHM
|
||||
ApkB/wHMApkB/wFtAmwB9wNRAaEBngKMAf8B6QK+Af8BAAEWARcB/wEAARYBFwH/AfkC1gL/AekB8wH/
|
||||
AQABFgEXAf8BAAEWARcB/wEAARYBFwH/AfkB6AHsAf8BAAEWARcB/wHmAroB/wHmAr0B/wHmAsAB/wGm
|
||||
ApQB/wNOAZQ0/wPxAf8D6gH/A4AB/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wMABf8DAAH/Az0B/wME
|
||||
Af8DAAH/AwAB/wMABf8DAAH/AZkCTgH/AZkCTgH/AZ4CjAH/AekCvgH/AQABFgEXAf8B8wLFAf8B+QLW
|
||||
Av8B6QHzAf8BAAEWARcC/wHpAfMB/wEAARYBFwH/AfkB6AHsAf8BAAEWARcB/wEAARYBFwH/AeYCvQH/
|
||||
AeYCwAH/AaYClAH/A04BlANdAdIB2wKoAf8BAAEWARcB/wHqArcB/wHzAs0C/wHuAfwB/wEAARYBFwL/
|
||||
AdIB9QH/AQABFgEXAv8B9AH8Af8BAAEWARcC/wLYAf8BAAEWARcC/wLiAf8DYgH2A0MBdwT/AZkBAAEb
|
||||
Cf8BgAIADf8BgAIAAf8BgAIADf8BgAIAAf8BgAIAAf8DgAH/AZkCTgH/AZkCTgH/AZkCTgH/AZkCTgH/
|
||||
AwAF/wMEAf8DAAH/AxEB/wM9Af8DPQH/AwAF/wMAAf8BmQJOAf8BmQJOAf8DXQHSAdsCqAH/AQABFgEX
|
||||
Af8B6gK3Af8BAAEWARcC/wHuAfwB/wEAARYBFwL/AdIB9QH/AQABFgEXAv8B9AH8Af8BAAEWARcC/wLY
|
||||
Av8C3QL/AuIB/wNiAfYDQwF3A1YBsQHVAqIB/wEAARYBFwH/AQABFgEXAf8BAAEWARcC/wH2Av8BVgJc
|
||||
Af8BAAEWARcB/wFWAlwC/wHgAecB/wFWAlwB/wEAARYBFwH/AVYCXAL/At0B/wNaAeQDMAFMBP8BmQEA
|
||||
ARsJ/wGAAgAJ/wGAAgAR/wGAAgAB/wPxAf8D6gH/A4AB/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wMA
|
||||
Cf8DmQH/AxEB/wMAAf8DBAH/AwAF/wMAAf8BmQJOAf8BmQJOAf8DVgGxAdUCogH/AVYCXAH/AQABFgEX
|
||||
Af8BVgJcAv8B9gL/AQABFgEXAv8B0gH1Af8BAAEWARcC/wHgAecB/wEAARYBFwH/AQABFgEXAf8BAAEW
|
||||
ARcC/wLdAf8DWgHkAzABTAMyAVABwwK/Ev8B7AHxAv8B2wHnAv8B2QHeAv8C1AL/As8C/wLNAv8C0gH/
|
||||
AcYCrQH/A1MBrAMUARsE/wGZAQABGwn/AYACAAn/AYACAAH/AYACAAH/AYACAAH/AYACAAX/AYACAAH/
|
||||
AYACAAH/AYACAAH/ARsCAAH/AZkCTgH/AZkCTgH/AZkCTgH/AZkCTgH/AwAB/wPADf8DzAH/A0cB/wMA
|
||||
Bf8DAAH/AZkCTgH/AZkCTgH/AzIBUAHDAr8S/wHsAfEC/wHbAecC/wHZAd4C/wLUAv8CzwL/As0C/wLS
|
||||
Af8BxgKtAf8DUwGsAxQBGwQAA1oBwAP1Cv8C/gL/AucC/wLjAv8C3gL/AtkC/wLUAv8CzwH/AfUCxwH/
|
||||
A18B4wMjATQDAgEDBP8BmQEAARsB/wGAAgAF/wGAAgAJ/wGAAgAJ/wGAAgAF/wGAAgAB/wPxAf8D6gH/
|
||||
ARsCAAH/AZkCTgH/AZkCTgH/AZkCTgH/AZkCTgH/AxEB/wM1Af8DwBn/AwAB/wGZAk4B/wGZAk4B/wQA
|
||||
A1oBwAP1Cv8C/gL/AucC/wLjAv8C3gL/AtkC/wLUAv8CzwH/AfUCxwH/A18B4wMjATQDAgEDBAADFwEg
|
||||
A2IB7wP1Bv8C+AL/AuwC/wLnAv8C4wL/At4C/wLZAf8B9QLNAf8DbQH3AzABTQMEAQYEAAT/AZkCGwn/
|
||||
AYACAAH/AYACAAn/AYACAAH/AYACAA3/AYACAAH/AYACAAH/A4YB/wGZAk4B/wGZAk4B/wGZAk4B/wGZ
|
||||
Ak4B/wGZAk4B/wMRAf8DAAH/AxEB/wOZEf8DAAH/AZkCTgH/AZkCTgH/BAADFwEgA2IB7wP1Bv8C+AL/
|
||||
AuwC/wLnAv8C4wL/At4C/wLZAf8B9QLNAf8DbQH3AzABTQMEAQYMAAMXASADWgHAA8YC/wL3Av8C8gL/
|
||||
AuwC/wLnAv8C4wH/AcYCsQH/A14B0AMkATYDAgEDCAAE/wGZAhst/wPxAf8D6gH/A4YB/wGZAk4B/wGZ
|
||||
Ak4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wMRAf8DAAH/AwQB/wNfAf8DzAX/AwAB/wGZ
|
||||
Ak4B/wGZAk4B/wgAAxcBIANaAcADxgL/AvcC/wLyAv8C7AL/AucC/wLjAf8BxgKxAf8DXgHQAyQBNgMC
|
||||
AQMYAAMyAVADUQGiA10B0gGMAokB/wNgAdQDVAGmAzcBWgMFAQcQAAj/AcwCmS3/A/EB/wPAAf8EAAGZ
|
||||
Ak4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wMEAf8DAAH/
|
||||
AzUB/wMRAf8BmQJOAf8UAAMyAVADUQGiA10B0gGMAokB/wNgAdQDVAGmAzcBWgMFAQcQAAFCAU0BPgcA
|
||||
AT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/AQAB4wP/AfABBwIAAcED/wHAAQMCAAGAAf8BCAEQ
|
||||
AYABAQMAAX8CAAGABAABPwcAAR8GAAGAAQ8GAAHAAQcGAAHgAQMGAAHwAQEGAAH4BwAB/AcAAf4BCAIA
|
||||
AYABAQIAAf8DAAGAAQECAAH/AYAB/wHwAcABAwIAAf8BwAH/AfgB8AEPAgAB4AEDAgABgAEBAeABAwHA
|
||||
AQEEAAHAAQEBgAUAAYABAAGABQABgEEAAYAFAAGAAQABgAEBBAABgAEBAcABAwQAAcABAwHwAQ8CAAGA
|
||||
AQEB8AEPCw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="listChoices.TabIndex" type="System.Int32, mscorlib">
|
||||
@@ -290,7 +318,7 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>listChoices.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="textBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@@ -299,7 +327,7 @@
|
||||
<value>Courier New, 8pt</value>
|
||||
</data>
|
||||
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 123</value>
|
||||
<value>3, 153</value>
|
||||
</data>
|
||||
<data name="textBox1.Multiline" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
@@ -308,7 +336,7 @@
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>569, 3</value>
|
||||
<value>788, 7</value>
|
||||
</data>
|
||||
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -323,35 +351,116 @@
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>textBox1.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="listTracks.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 261</value>
|
||||
<data name="tableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 422</value>
|
||||
</data>
|
||||
<data name="listTracks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>569, 156</value>
|
||||
<data name="tableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="listTracks.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>788, 35</value>
|
||||
</data>
|
||||
<data name="listTracks.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>30</value>
|
||||
</data>
|
||||
<data name=">>listTracks.Name" xml:space="preserve">
|
||||
<value>listTracks</value>
|
||||
<data name=">>tableLayoutPanel2.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>listTracks.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name=">>tableLayoutPanel2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>listTracks.Parent" xml:space="preserve">
|
||||
<data name=">>tableLayoutPanel2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>listTracks.ZOrder" xml:space="preserve">
|
||||
<data name=">>tableLayoutPanel2.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="buttonOk" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,37,59399,Percent,22,93233,Percent,19,17293,Percent,20,11278" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="pictureBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 166</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>788, 7</value>
|
||||
</data>
|
||||
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>31</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Name" xml:space="preserve">
|
||||
<value>pictureBox1</value>
|
||||
</data>
|
||||
<data name=">>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=">>pictureBox1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMeta.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.Text" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataValue.Width" type="System.Int32, mscorlib">
|
||||
<value>240</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.Text" xml:space="preserve">
|
||||
<value>Field</value>
|
||||
</data>
|
||||
<data name="columnHeaderMetadataName.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
</data>
|
||||
<data name="listMetadata.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="listMetadata.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="listMetadata.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>388, 231</value>
|
||||
</data>
|
||||
<data name="listMetadata.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Name" xml:space="preserve">
|
||||
<value>listMetadata</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelMeta</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="Title.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
@@ -359,7 +468,7 @@
|
||||
<value>Title</value>
|
||||
</data>
|
||||
<data name="Title.Width" type="System.Int32, mscorlib">
|
||||
<value>360</value>
|
||||
<value>210</value>
|
||||
</data>
|
||||
<data name="TrackNo.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -382,47 +491,59 @@
|
||||
<data name="Length.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||
<value>Right</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
<data name="listTracks.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Name" xml:space="preserve">
|
||||
<value>listMetadata</value>
|
||||
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>397, 3</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Type" xml:space="preserve">
|
||||
<data name="listTracks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>388, 231</value>
|
||||
</data>
|
||||
<data name="listTracks.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>listTracks.Name" xml:space="preserve">
|
||||
<value>listTracks</value>
|
||||
</data>
|
||||
<data name=">>listTracks.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
<data name=">>listTracks.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanelMeta</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.ZOrder" xml:space="preserve">
|
||||
<data name=">>listTracks.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="buttonOk" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,37,59399,Percent,22,93233,Percent,19,17293,Percent,20,11278" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
<data name="tableLayoutPanelMeta.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Name" xml:space="preserve">
|
||||
<value>pictureBox1</value>
|
||||
<data name="tableLayoutPanelMeta.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 179</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="tableLayoutPanelMeta.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Parent" xml:space="preserve">
|
||||
<data name="tableLayoutPanelMeta.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>788, 237</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMeta.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>32</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelMeta.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanelMeta</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelMeta.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanelMeta.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<data name=">>tableLayoutPanelMeta.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanelMeta.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="listMetadata" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listTracks" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
@@ -431,10 +552,10 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>575, 460</value>
|
||||
<value>794, 460</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>29</value>
|
||||
@@ -452,112 +573,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="listMetadata" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanel2" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listTracks" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,120,Percent,5,Percent,5,Absolute,120,Percent,90,Absolute,40" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="listMetadata.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="listMetadata.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 141</value>
|
||||
</data>
|
||||
<data name="listMetadata.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>569, 114</value>
|
||||
</data>
|
||||
<data name="listMetadata.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="listMetadata.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Name" xml:space="preserve">
|
||||
<value>listMetadata</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>listMetadata.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="columnHeader2.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="columnHeader2.Text" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
<data name="columnHeader2.Width" type="System.Int32, mscorlib">
|
||||
<value>400</value>
|
||||
</data>
|
||||
<data name="columnHeader3.DisplayIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="columnHeader3.Text" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="columnHeader3.Width" type="System.Int32, mscorlib">
|
||||
<value>120</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 423</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>569, 34</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>30</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.Name" xml:space="preserve">
|
||||
<value>tableLayoutPanel2</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>tableLayoutPanel2.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="buttonOk" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Percent,37,59399,Percent,22,93233,Percent,19,17293,Percent,20,11278" /><Rows Styles="Percent,100" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="pictureBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 132</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>569, 3</value>
|
||||
</data>
|
||||
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||
<value>Zoom</value>
|
||||
</data>
|
||||
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>31</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.Name" xml:space="preserve">
|
||||
<value>pictureBox1</value>
|
||||
</data>
|
||||
<data name=">>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=">>pictureBox1.Parent" xml:space="preserve">
|
||||
<value>tableLayoutPanel1</value>
|
||||
</data>
|
||||
<data name=">>pictureBox1.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tableLayoutPanel2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textBox1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="listChoices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="pictureBox1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tableLayoutPanelMeta" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,150,Percent,5,Percent,5,Percent,90,Absolute,40" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>127, 17</value>
|
||||
@@ -572,7 +588,7 @@
|
||||
<value>6, 13</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>575, 460</value>
|
||||
<value>794, 460</value>
|
||||
</data>
|
||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>591, 496</value>
|
||||
@@ -595,6 +611,12 @@
|
||||
<data name=">>imageList1.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>backgroundWorker1.Name" xml:space="preserve">
|
||||
<value>backgroundWorker1</value>
|
||||
</data>
|
||||
<data name=">>backgroundWorker1.Type" xml:space="preserve">
|
||||
<value>System.ComponentModel.BackgroundWorker, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>Title.Name" xml:space="preserve">
|
||||
<value>Title</value>
|
||||
</data>
|
||||
@@ -619,24 +641,18 @@
|
||||
<data name=">>Length.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=">>columnHeader2.Name" xml:space="preserve">
|
||||
<value>columnHeader2</value>
|
||||
<data name=">>columnHeaderMetadataValue.Name" xml:space="preserve">
|
||||
<value>columnHeaderMetadataValue</value>
|
||||
</data>
|
||||
<data name=">>columnHeader2.Type" xml:space="preserve">
|
||||
<data name=">>columnHeaderMetadataValue.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=">>columnHeader3.Name" xml:space="preserve">
|
||||
<value>columnHeader3</value>
|
||||
<data name=">>columnHeaderMetadataName.Name" xml:space="preserve">
|
||||
<value>columnHeaderMetadataName</value>
|
||||
</data>
|
||||
<data name=">>columnHeader3.Type" xml:space="preserve">
|
||||
<data name=">>columnHeaderMetadataName.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=">>backgroundWorker1.Name" xml:space="preserve">
|
||||
<value>backgroundWorker1</value>
|
||||
</data>
|
||||
<data name=">>backgroundWorker1.Type" xml:space="preserve">
|
||||
<value>System.ComponentModel.BackgroundWorker, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>$this.Name" xml:space="preserve">
|
||||
<value>frmChoice</value>
|
||||
</data>
|
||||
|
||||
Reference in New Issue
Block a user