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(5, "tracks1");
|
||||||
this.imageListMetadataSource.Images.SetKeyName(6, "album");
|
this.imageListMetadataSource.Images.SetKeyName(6, "album");
|
||||||
this.imageListMetadataSource.Images.SetKeyName(7, "track");
|
this.imageListMetadataSource.Images.SetKeyName(7, "track");
|
||||||
|
this.imageListMetadataSource.Images.SetKeyName(8, "ctdb");
|
||||||
//
|
//
|
||||||
// bnComboBoxDrives
|
// bnComboBoxDrives
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -532,7 +532,7 @@ namespace CUERipper
|
|||||||
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(data.selectedRelease.metadata);
|
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(data.selectedRelease.metadata);
|
||||||
PropertyDescriptorCollection sortedprops = props.Sort(new string[] { "Artist", "Title", "Genre", "Year", "DiscNumber", "TotalDiscs" });
|
PropertyDescriptorCollection sortedprops = props.Sort(new string[] { "Artist", "Title", "Genre", "Year", "DiscNumber", "TotalDiscs" });
|
||||||
foreach (PropertyDescriptor p in sortedprops)
|
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 }));
|
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)
|
private CUEMetadataEntry CreateCUESheet(ICDRipper audioSource, Release release)
|
||||||
{
|
{
|
||||||
CUEMetadataEntry entry = new CUEMetadataEntry(audioSource.TOC, "musicbrainz");
|
CUEMetadataEntry entry = new CUEMetadataEntry(audioSource.TOC, "musicbrainz");
|
||||||
@@ -616,7 +623,7 @@ namespace CUERipper
|
|||||||
cueSheet.Action = CUEAction.Encode;
|
cueSheet.Action = CUEAction.Encode;
|
||||||
|
|
||||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " CTDB..."; });
|
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);
|
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
||||||
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; });
|
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; });
|
||||||
cueSheet.UseAccurateRip();
|
cueSheet.UseAccurateRip();
|
||||||
@@ -635,6 +642,11 @@ namespace CUERipper
|
|||||||
System.Diagnostics.Trace.WriteLine(ex.Message);
|
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)
|
if (data.Releases.Count == 0 || loadAllMetadata)
|
||||||
{
|
{
|
||||||
loadAllMetadata = false;
|
loadAllMetadata = false;
|
||||||
|
|||||||
@@ -924,8 +924,8 @@
|
|||||||
<value>
|
<value>
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABa
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY
|
||||||
DgAAAk1TRnQBSQFMAgEBCAEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
DwAAAk1TRnQBSQFMAgEBCQEAAQwBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||||
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||||
@@ -953,40 +953,46 @@
|
|||||||
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
|
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
|
||||||
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
|
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
|
||||||
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
|
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
|
||||||
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ARgABmQZ5
|
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wUAAfQBvAG1ArQBtQG8
|
||||||
AfMIAAH3AW0BvC0AAZkFoAJ5AfQIAAHwAW0CAAGSAeoCEgEUARUBQwERAewDAAGZCHkB8wYAAZkIeQHz
|
AiA1AAH/AbwBtAEJBBkBCQIgAf8zAAH/AbsBCQH0AhkDCQEZAiABuwH/MgABvAEJAfUDGQEJCCAwAAH0
|
||||||
BQABmQWgAXkBmgFRAnkBmQQAAfMBbQHzAgAB6gFtARICFAESAW0B6wERAwABmQegAnkB9AUAAZkHoAJ5
|
AbQB/wH1BBkIIDAAAbwBCQIZAfQFGQEJAiABGQEJAbwwAAG1AfIDCQEZAQkCtAEJARkCIAHdARkBtTAA
|
||||||
AfQEAAGZBaADeQFYAaABmQQAAe8C7AIAAfcBbQPqAhIBFAHsAwABmQegAXkBmgF5AfQEAAGZB6ABeQGa
|
AbQBGQMJARkBtAL/AbQBGQIgAQkBGQG0MAABtAEZAwkBGQG0Av8BtAEZAwkBGQG0MAABtQEZBQkCtAEJ
|
||||||
AXkB9AMAAZkIoAFYAaABUQF5AZkTAAGZB6ADeQGZBAABmQegA3kBmQMAAZkIoAFYAaABWAGgAZkCAALr
|
AfUB9AMZAbUwAAG8BAkDGQH0AfUB9AP1AQkBvDAAAfQBtAH0AQkBGQH/AgkBGQH1AfQB9QL/AbQB9DEA
|
||||||
AW0OAAGZCqABmQQAAZkKoAGZAwABmQigAVgBoAFYAaABmQIAAfQB7QH/AgAB9wVtAuoBkgMAAZkKoAGZ
|
AbwBCQH1Af8B9QIJARkB/wL1Af8BCQG8MgAB/wG7AQkB/wH0AgkBGQH1Av8BCQG7Af8zAAH/AbwBtAEJ
|
||||||
BAABmQqgAZkDAAGZAcMHoAFYAaABWAGgAZkDAAH0Ae0CAAJtARIBEwEUARIBbQHrAeoDAAGZCqABmQQA
|
AhkB9AHzAQkBtAG8Af82AAH0AbwBtQK0AbUBvAH0dQABmQZ5AfMIAAH3AW0BvC0AAZkFoAJ5AfQIAAHw
|
||||||
AZkKoAGZAwABGgHDB6ABWAGgAVgBoAGZAgAB7wHsAe8CAAHvAesGbQH3AwABmQqgAZkEAAGZCaABkQGY
|
AW0CAAGSAeoCEgEUARUBQwERAewDAAGZCHkB8wYAAZkIeQHzBQABmQWgAXkBmgFRAnkBmQQAAfMBbQHz
|
||||||
AwABGgPDBaABWAGgAVgBoAGZEwABmQHDCaABmQQAAZkBwwigAosB8gIAARsBGgh5AaABWAGgAZkCAAPs
|
AgAB6gFtARICFAESAW0B6wERAwABmQegAnkB9AUAAZkHoAJ5AfQEAAGZBaADeQFYAaABmQQAAe8C7AIA
|
||||||
DgABmQHDCaABmQQAAZkBwwSgAZEEswHaAbQB8gMAARoDwwWgAVgBoAGZAwAB7AMAAe8B7ATrAm0B9wMA
|
AfcBbQPqAhIBFAHsAwABmQegAXkBmgF5AfQEAAGZB6ABeQGaAXkB9AMAAZkIoAFYAaABUQF5AZkTAAGZ
|
||||||
ARoBwwmgARoEAAEaAcMEoAGzAdwF2wG0AwABGwEaCHkBoAEaAwAB7AMAAewBbQISAhMBEgJtAwABGgTD
|
B6ADeQGZBAABmQegA3kBmQMAAZkIoAFYAaABWAGgAZkCAALrAW0OAAGZCqABmQQAAZkKoAGZAwABmQig
|
||||||
BqABGgQAARoEwwGgAbsEtAHcAbQB8gUAARoDwwWgARoCAAHvAewDAAHvBOwD6wHvAwABGwoaARsEAAEb
|
AVgBoAFYAaABmQIAAfQB7QH/AgAB9wVtAuoBkgMAAZkKoAGZBAABmQqgAZkDAAGZAcMHoAFYAaABWAGg
|
||||||
CRoCtAHzBgABGwgaARstAAEJAfMDAAF6AlELegEAAe0PCiAAAVEBAAERARMBAAEPCnoBtQQEA/MBBAPz
|
AZkDAAH0Ae0CAAJtARIBEwEUARIBbQHrAeoDAAGZCqABmQQAAZkKoAGZAwABGgHDB6ABWAGgAVgBoAGZ
|
||||||
AgQBXwEKEAAQ/wEAAbwD/wETAQ8JegG1AwQB9AIEAfQBBAH0AgQB9AIEAQoB8QK8AfIBAAHyBLwB8gEA
|
AgAB7wHsAe8CAAHvAesGbQH3AwABmQqgAZkEAAGZCaABkQGYAwABGgPDBaABWAGgAVgBoAGZEwABmQHD
|
||||||
AfICvAHxAfACvAHwAf8B8AS8AfAB/wHwArwB8AEAAbwE/wEACXoBtQGiAgQB/wIEAf8BBAH/AgQB/wIE
|
CaABmQQAAZkBwwigAosB8gIAARsBGgh5AaABWAGgAZkCAAPsDgABmQHDCaABmQQAAZkBwwSgAZEEswHa
|
||||||
AQoBvAH/AfQDBwT0AwcB9AH/ArwB/wH0AwcE9AMHAfQB/wG8AVEBDwHrAgcBvAEAAREEAAERA3oBtQGi
|
AbQB8gMAARoDwwWgAVgBoAGZAwAB7AMAAe8B7ATrAm0B9wMAARoBwwmgARoEAAEaAcMEoAGzAdwF2wG0
|
||||||
AwQD/wEEA/8DBAEKAfAB9ALzAfQG8wH0AvMB9ALwAfQC8wH0BvMB9ALzAfQB8AF6AVEBDwIAAf8BAAEP
|
AwABGwEaCHkBoAEaAwAB7AMAAewBbQISAhMBEgJtAwABGgTDBqABGgQAARoEwwGgAbsEtAHcAbQB8gUA
|
||||||
AfcC/wGSAhECegG1AaIFBAH/AQQB/wUEAQoB8AH0DPMB9ALwAfQM8wH0AfAEegEAAf8BAAERBP8BvAEA
|
ARoDwwWgARoCAAHvAewDAAHvBOwD6wHvAwABGwoaARsEAAEbCRoCtAHzBgABGwgaARstAAEJAfMDAAF6
|
||||||
AnoBtQGiBQQB/wEEAf8FBAEKAfAB9AzzAfQC8AH0DPMB9AHwBK4BAAH/AgABEwG8A/8BAAKuAbUBog0E
|
AlELegEAAe0PCiAAAVEBAAERARMBAAEPCnoBtQQEA/MBBAPzAgQBXwEKEAAQ/wEAAbwD/wETAQ8JegG1
|
||||||
AQoB8QH/BfQBAAFzAbwE9AH/AvEB/wX0AQABcwG8BPQB/wHxBK4BAAH/AQABEgEPAwAB/wEAAq4N/wH0
|
AwQB9AIEAfQBBAH0AgQB9AIEAQoB8QK8AfIBAAHyBLwB8gEAAfICvAHxAfACvAHwAf8B8AS8AfAB/wHw
|
||||||
AfMB7AHyAf8F9AEcAcMBUQEIA/QB/wLyAf8F9AEcAcMBUQEIA/QB/wHyBK4BAAH/AQ8BAAERAhIBAAH/
|
ArwB8AEAAbwE/wEACXoBtQGiAgQB/wIEAf8BBAH/AgQB/wIEAQoBvAH/AfQDBwT0AwcB9AH/ArwB/wH0
|
||||||
AQACrgH/AaIC/wEEA/8CBAP/AgQB7AHyBv8BGwFYAXoBUQEIA/8C8gb/ARsBWAF6AVEBCAP/AfIErgEA
|
AwcE9AMHAfQB/wG8AVEBDwHrAgcBvAEAAREEAAERA3oBtQGiAwQD/wEEA/8DBAEKAfAB9ALzAfQG8wH0
|
||||||
Av8BkgERAQABDwEAAf8BAAKuAf8BogL/AQQC/wEEBP8BBAH0AfMB7AHyB/8BGgFYAXoBUQEaAv8C8gf/
|
AvMB9ALwAfQC8wH0BvMB9ALzAfQB8AF6AVEBDwIAAf8BAAEPAfcC/wGSAhECegG1AaIFBAH/AQQB/wUE
|
||||||
ARoBWAF6AVEBGgL/AfIErgEAAQcD/wG8AeoBAAH/AQACrgH/AaIC/wEEAv8EBAH/AwQBCgHyCP8BGgFY
|
AQoB8AH0DPMB9ALwAfQM8wH0AfAEegEAAf8BAAERBP8BvAEAAnoBtQGiBQQB/wEEAf8FBAEKAfAB9Azz
|
||||||
AXoBUQEaAf8C8gj/ARoBWAF6AVEBGgH/AfIErgERARMBBwb/AQACrgH/AaIBBAH/AQQC/wEEAv8BBAH/
|
AfQC8AH0DPMB9AHwBK4BAAH/AgABEwG8A/8BAAKuAbUBog0EAQoB8QH/BfQBAAFzAbwE9AH/AvEB/wX0
|
||||||
AQQB9AHzAQoB8gn/ARsBWAF6Ae0B8ALyCf8BGwFYAXoB7QHwAfIFrgERAQABEQGSBP8BAAKuAf8BhgL/
|
AQABcwG8BPQB/wHxBK4BAAH/AQABEgEPAwAB/wEAAq4N/wH0AfMB7AHyAf8F9AEcAcMBUQEIA/QB/wLy
|
||||||
AgQC/wIEA/8CBAHsAfMK8gHwAe8B9AHtAbwB8wryAfAB7wH0Ae0BvAeuAREBAAEPAesBvAH/AQACrgH/
|
Af8F9AEcAcMBUQEIA/QB/wHyBK4BAAH/AQ8BAAERAhIBAAH/AQACrgH/AaIC/wEEA/8CBAP/AgQB7AHy
|
||||||
AYYL/wH0AfMB7AwAAfQBvAEWAW8MAAH0AbwBFgFvAQAJrgEPAQABEwERAa4BAAL/AbUL/wH0AQcNAAH0
|
Bv8BGwFYAXoBUQEIA/8C8gb/ARsBWAF6AVEBCAP/AfIErgEAAv8BkgERAQABDwEAAf8BAAKuAf8BogL/
|
||||||
ARYB8w0AAfQBFgHzAUIBTQE+BwABPgMAASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/4EACP8BgAF/
|
AQQC/wEEBP8BBAH0AfMB7AHyB/8BGgFYAXoBUQEaAv8C8gf/ARoBWAF6AVEBGgL/AfIErgEAAQcD/wG8
|
||||||
AY8F/wGAAT8BzAEBAcABDwHAAQ8BgAEHAYwBAQHAAQcBwAEHAYABBwGMAQEBwAEDAcABAwGAAQEC/wHA
|
AeoBAAH/AQACrgH/AaIC/wEEAv8EBAH/AwQBCgHyCP8BGgFYAXoBUQEaAf8C8gj/ARoBWAF6AVEBGgH/
|
||||||
AQMBwAEDAYABAQGPAf8BwAEDAcABAwGAAQEBjAEBAcABAwHAAQMBgAEBAcwBAQHAAQMBwAEDAYABAQGM
|
AfIErgERARMBBwb/AQACrgH/AaIBBAH/AQQC/wEEAv8BBAH/AQQB9AHzAQoB8gn/ARsBWAF6Ae0B8ALy
|
||||||
AQEBwAEDAcABAwGAAQEC/wHAAQMBwAEBAYABAQGPAf8BwAEDAcABAAHgAQEB3AEBAcABAwHAAQAB4AEB
|
Cf8BGwFYAXoB7QHwAfIFrgERAQABEQGSBP8BAAKuAf8BhgL/AgQC/wIEA/8CBAHsAfMK8gHwAe8B9AHt
|
||||||
AdwBAQHAAQMBwAEAAfgBAQGcAQEBwAEDAcABAQH4AQEF/wHzAYABAQIABP8EAAL/BgABCAEQXgAB/wHw
|
AbwB8wryAfAB7wH0Ae0BvAeuAREBAAEPAesBvAH/AQACrgH/AYYL/wH0AfMB7AwAAfQBvAEWAW8MAAH0
|
||||||
Af8B8AGAAQECAAH/AfgB/wH4Cw==
|
AbwBFgFvAQAJrgEPAQABEwERAa4BAAL/AbUL/wH0AQcNAAH0ARYB8w0AAfQBFgHzAUIBTQE+BwABPgMA
|
||||||
|
ASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/wEAAfABBwYAAcABAwYAAYABAQYAAYBHAAGAAQEGAAGA
|
||||||
|
AQEGAAHAAQMGAAHwAQ8GAAj/AYABfwGPBf8BgAE/AcwBAQHAAQ8BwAEPAYABBwGMAQEBwAEHAcABBwGA
|
||||||
|
AQcBjAEBAcABAwHAAQMBgAEBAv8BwAEDAcABAwGAAQEBjwH/AcABAwHAAQMBgAEBAYwBAQHAAQMBwAED
|
||||||
|
AYABAQHMAQEBwAEDAcABAwGAAQEBjAEBAcABAwHAAQMBgAEBAv8BwAEDAcABAQGAAQEBjwH/AcABAwHA
|
||||||
|
AQAB4AEBAdwBAQHAAQMBwAEAAeABAQHcAQEBwAEDAcABAAH4AQEBnAEBAcABAwHAAQEB+AEBBf8B8wGA
|
||||||
|
AQECAAT/BAAC/wYAAQgBEF4AAf8B8AH/AfABgAEBAgAB/wH4Af8B+As=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="bnComboBoxRelease.Location" type="System.Drawing.Point, System.Drawing">
|
<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)
|
public void InsertTrack(CDTrack track)
|
||||||
{
|
{
|
||||||
_tracks.Insert((int)track.Number - 1, track);
|
_tracks.Insert((int)track.Number - 1, track);
|
||||||
|
|||||||
@@ -45,6 +45,13 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<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="Plugin.cs" />
|
||||||
<Compile Include="Options.cs">
|
<Compile Include="Options.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
@@ -55,6 +62,9 @@
|
|||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="FormMetadata.resx">
|
||||||
|
<DependentUpon>FormMetadata.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Options.resx">
|
<EmbeddedResource Include="Options.resx">
|
||||||
<DependentUpon>Options.cs</DependentUpon>
|
<DependentUpon>Options.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</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.
|
// This functions just returns an unique identifier.
|
||||||
// For that, the string representation of the unique
|
// For that, the string representation of the unique
|
||||||
// guid is used
|
// guid is used
|
||||||
|
|
||||||
public string GetAudioTransferPluginGuid()
|
public string GetAudioTransferPluginGuid()
|
||||||
{
|
{
|
||||||
// Determine the guid attribute of the given class
|
return ((GuidAttribute)Attribute.GetCustomAttribute(GetType(), typeof(GuidAttribute))).Value;
|
||||||
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Each plugin has also an (unique) display name
|
// Each plugin has also an (unique) display name
|
||||||
// which will be used for selecting/deselecting
|
// which will be used for selecting/deselecting
|
||||||
// the plugin and for display in the log file
|
// the plugin and for display in the log file
|
||||||
|
|
||||||
public string GetAudioTransferPluginName()
|
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";
|
return "CUETools DB Plugin V2.1.1";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Each plugin should have its own options page.
|
// Each plugin should have its own options page.
|
||||||
// Even though if there are no options, a help or
|
// Even though if there are no options, a help or
|
||||||
// information dialog should be displayed
|
// information dialog should be displayed
|
||||||
|
|
||||||
public void ShowOptions()
|
public void ShowOptions()
|
||||||
{
|
{
|
||||||
// Create a new option dialog object
|
|
||||||
|
|
||||||
Options opt = new Options();
|
Options opt = new Options();
|
||||||
|
|
||||||
// And show that dialog (return when
|
|
||||||
// the dialog is closed)
|
|
||||||
|
|
||||||
opt.ShowDialog();
|
opt.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,7 +119,7 @@ namespace AudioDataPlugIn
|
|||||||
#if USEAR
|
#if USEAR
|
||||||
ar.ContactAccurateRip(ArId);
|
ar.ContactAccurateRip(ArId);
|
||||||
#endif
|
#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);
|
ctdb.Init(true, ar);
|
||||||
this.sequence_ok = true;
|
this.sequence_ok = true;
|
||||||
this.m_start_pos = 0;
|
this.m_start_pos = 0;
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using System.Xml.Serialization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using CUETools.CDImage;
|
using CUETools.CDImage;
|
||||||
@@ -16,7 +18,7 @@ namespace CUETools.CTDB
|
|||||||
{
|
{
|
||||||
public class CUEToolsDB
|
public class CUEToolsDB
|
||||||
{
|
{
|
||||||
const string urlbase = "http://db.cuetools.net";
|
const string urlbase = "http://dbnew.cuetools.net";
|
||||||
string userAgent;
|
string userAgent;
|
||||||
string driveName;
|
string driveName;
|
||||||
|
|
||||||
@@ -27,6 +29,7 @@ namespace CUETools.CTDB
|
|||||||
private int length;
|
private int length;
|
||||||
private int total;
|
private int total;
|
||||||
List<DBEntry> entries = new List<DBEntry>();
|
List<DBEntry> entries = new List<DBEntry>();
|
||||||
|
List<CTDBResponseMeta> metadata = new List<CTDBResponseMeta>();
|
||||||
DBEntry selectedEntry;
|
DBEntry selectedEntry;
|
||||||
IWebProxy proxy;
|
IWebProxy proxy;
|
||||||
HttpUploadHelper uploadHelper;
|
HttpUploadHelper uploadHelper;
|
||||||
@@ -39,16 +42,19 @@ namespace CUETools.CTDB
|
|||||||
this.uploadHelper = new HttpUploadHelper();
|
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.driveName = driveName;
|
||||||
this.userAgent = userAgent + " (" + Environment.OSVersion.VersionString + ")" + (driveName != null ? " (" + driveName + ")" : "");
|
this.userAgent = userAgent + " (" + Environment.OSVersion.VersionString + ")" + (driveName != null ? " (" + driveName + ")" : "");
|
||||||
this.total = 0;
|
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.Method = "GET";
|
||||||
req.Proxy = proxy;
|
req.Proxy = proxy;
|
||||||
req.UserAgent = userAgent;
|
req.UserAgent = this.userAgent;
|
||||||
|
|
||||||
if (uploadHelper.onProgress != null)
|
if (uploadHelper.onProgress != null)
|
||||||
uploadHelper.onProgress(this, new UploadProgressEventArgs(req.RequestUri.AbsoluteUri, 0));
|
uploadHelper.onProgress(this, new UploadProgressEventArgs(req.RequestUri.AbsoluteUri, 0));
|
||||||
@@ -60,55 +66,35 @@ namespace CUETools.CTDB
|
|||||||
|
|
||||||
if (accResult == HttpStatusCode.OK)
|
if (accResult == HttpStatusCode.OK)
|
||||||
{
|
{
|
||||||
|
XmlSerializer serializer = new XmlSerializer(typeof(CTDBResponse));
|
||||||
this.total = 0;
|
this.total = 0;
|
||||||
using (Stream responseStream = resp.GetResponseStream())
|
using (Stream responseStream = resp.GetResponseStream())
|
||||||
{
|
{
|
||||||
using (XmlTextReader reader = new XmlTextReader(responseStream))
|
CTDBResponse ctdbResp = serializer.Deserialize(responseStream) as CTDBResponse;
|
||||||
{
|
if (ctdbResp.entry != null)
|
||||||
reader.ReadToFollowing("ctdb");
|
foreach (var ctdbRespEntry in ctdbResp.entry)
|
||||||
if (reader.ReadToDescendant("entry"))
|
{
|
||||||
do
|
if (ctdbRespEntry.toc == null)
|
||||||
{
|
continue;
|
||||||
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;
|
|
||||||
|
|
||||||
entry.Read();
|
var parity = Convert.FromBase64String(ctdbRespEntry.parity);
|
||||||
while (entry.Read() && entry.NodeType != XmlNodeType.EndElement)
|
var entry_toc = CDImageLayout.FromString(ctdbRespEntry.toc);
|
||||||
{
|
this.total += ctdbRespEntry.confidence;
|
||||||
if (entry.Name == "parity")
|
var entry = new DBEntry(
|
||||||
{
|
parity,
|
||||||
entry.Read(); // entry.NodeType == XmlNodeType.Text
|
0,
|
||||||
parity = Convert.FromBase64String(entry.Value);
|
parity.Length,
|
||||||
entry.Read();
|
ctdbRespEntry.confidence,
|
||||||
}
|
ctdbRespEntry.npar,
|
||||||
else if (entry.Name == "toc")
|
ctdbRespEntry.stride,
|
||||||
{
|
uint.Parse(ctdbRespEntry.crc32, NumberStyles.HexNumber),
|
||||||
string trackcount = entry["trackcount"];
|
ctdbRespEntry.id,
|
||||||
string audiotracks = entry["audiotracks"];
|
entry_toc,
|
||||||
string firstaudio = entry["firstaudio"];
|
ctdbRespEntry.hasparity == 1);
|
||||||
entry.Read();
|
entries.Add(entry);
|
||||||
string trackoffsets = entry.Value;
|
}
|
||||||
entry.Read();
|
if (ctdbResp.musicbrainz != null && ctdbResp.musicbrainz.Length != 0)
|
||||||
entry_toc = new CDImageLayout(int.Parse(trackcount), int.Parse(audiotracks), int.Parse(firstaudio), trackoffsets);
|
metadata.AddRange(ctdbResp.musicbrainz);
|
||||||
}
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (entries.Count == 0)
|
if (entries.Count == 0)
|
||||||
accResult = HttpStatusCode.NotFound;
|
accResult = HttpStatusCode.NotFound;
|
||||||
@@ -128,7 +114,7 @@ namespace CUETools.CTDB
|
|||||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
||||||
req.Method = "GET";
|
req.Method = "GET";
|
||||||
req.Proxy = proxy;
|
req.Proxy = proxy;
|
||||||
req.UserAgent = userAgent;
|
req.UserAgent = this.userAgent;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -232,21 +218,17 @@ namespace CUETools.CTDB
|
|||||||
}
|
}
|
||||||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlbase + "/submit2.php");
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(urlbase + "/submit2.php");
|
||||||
req.Proxy = proxy;
|
req.Proxy = proxy;
|
||||||
req.UserAgent = userAgent;
|
req.UserAgent = this.userAgent;
|
||||||
NameValueCollection form = new NameValueCollection();
|
NameValueCollection form = new NameValueCollection();
|
||||||
if (upload)
|
if (upload)
|
||||||
form.Add("parityfile", "1");
|
form.Add("parityfile", "1");
|
||||||
if (confirm != null)
|
if (confirm != null)
|
||||||
form.Add("confirmid", confirm.id);
|
form.Add("confirmid", confirm.id);
|
||||||
form.Add("tocid", toc.TOCID);
|
form.Add("toc", toc.ToString());
|
||||||
form.Add("crc32", ((int)verify.CRC).ToString());
|
form.Add("crc32", ((int)verify.CRC).ToString());
|
||||||
form.Add("trackcrcs", verify.TrackCRCs);
|
form.Add("trackcrcs", verify.TrackCRCs);
|
||||||
form.Add("parity", Convert.ToBase64String(verify.Parity, 0, 16));
|
form.Add("parity", Convert.ToBase64String(verify.Parity, 0, 16));
|
||||||
form.Add("confidence", confidence.ToString());
|
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("userid", GetUUID());
|
||||||
form.Add("quality", quality.ToString());
|
form.Add("quality", quality.ToString());
|
||||||
if (driveName != null)
|
if (driveName != null)
|
||||||
@@ -368,7 +350,7 @@ namespace CUETools.CTDB
|
|||||||
entry.canRecover = false;
|
entry.canRecover = false;
|
||||||
else
|
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)
|
if (entry.httpStatus != HttpStatusCode.OK)
|
||||||
entry.canRecover = false;
|
entry.canRecover = false;
|
||||||
else
|
else
|
||||||
@@ -496,6 +478,14 @@ namespace CUETools.CTDB
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IEnumerable<CTDBResponseMeta> Metadata
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return metadata;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public HttpUploadHelper UploadHelper
|
public HttpUploadHelper UploadHelper
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -670,4 +660,88 @@ namespace CUETools.CTDB
|
|||||||
return new DBHDR(stream, name);
|
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 = "";
|
TotalDiscs = "";
|
||||||
DiscNumber = "";
|
DiscNumber = "";
|
||||||
|
DiscName = "";
|
||||||
Year = "";
|
Year = "";
|
||||||
Genre = "";
|
Genre = "";
|
||||||
Artist = "";
|
Artist = "";
|
||||||
Title = "";
|
Title = "";
|
||||||
Catalog = "";
|
Barcode = "";
|
||||||
|
ReleaseDate = "";
|
||||||
|
Label = "";
|
||||||
Tracks = new List<CUETrackMetadata>();
|
Tracks = new List<CUETrackMetadata>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,6 +59,8 @@ namespace CUETools.Processor
|
|||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string DiscNumber { get; set; }
|
public string DiscNumber { get; set; }
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
|
public string DiscName { get; set; }
|
||||||
|
[DefaultValue("")]
|
||||||
public string Year { get; set; }
|
public string Year { get; set; }
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string Genre { get; set; }
|
public string Genre { get; set; }
|
||||||
@@ -63,8 +68,12 @@ namespace CUETools.Processor
|
|||||||
public string Artist { get; set; }
|
public string Artist { get; set; }
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
[DefaultValue(""), XmlElement(ElementName="Catalog")]
|
||||||
|
public string Barcode { get; set; }
|
||||||
[DefaultValue("")]
|
[DefaultValue("")]
|
||||||
public string Catalog { get; set; }
|
public string ReleaseDate { get; set; }
|
||||||
|
[DefaultValue("")]
|
||||||
|
public string Label { get; set; }
|
||||||
public List<CUETrackMetadata> Tracks { get; set; }
|
public List<CUETrackMetadata> Tracks { get; set; }
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
@@ -107,11 +116,14 @@ namespace CUETools.Processor
|
|||||||
{
|
{
|
||||||
if ((overwrite || TotalDiscs == "") && metadata.TotalDiscs != "") TotalDiscs = metadata.TotalDiscs;
|
if ((overwrite || TotalDiscs == "") && metadata.TotalDiscs != "") TotalDiscs = metadata.TotalDiscs;
|
||||||
if ((overwrite || DiscNumber == "") && metadata.DiscNumber != "") DiscNumber = metadata.DiscNumber;
|
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 || Year == "") && metadata.Year != "") Year = metadata.Year;
|
||||||
if ((overwrite || Genre == "") && metadata.Genre != "") Genre = metadata.Genre;
|
if ((overwrite || Genre == "") && metadata.Genre != "") Genre = metadata.Genre;
|
||||||
if ((overwrite || Artist == "") && metadata.Artist != "") Artist = metadata.Artist;
|
if ((overwrite || Artist == "") && metadata.Artist != "") Artist = metadata.Artist;
|
||||||
if ((overwrite || Title == "") && metadata.Title != "") Title = metadata.Title;
|
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++)
|
for (int i = 0; i < Tracks.Count; i++)
|
||||||
{
|
{
|
||||||
if ((overwrite || Tracks[i].Title == "") && metadata.Tracks[i].Title != "") Tracks[i].Title = metadata.Tracks[i].Title;
|
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)
|
public override bool Equals(object obj)
|
||||||
{
|
{
|
||||||
CUEMetadata metadata = obj as CUEMetadata;
|
CUEMetadata metadata = obj as CUEMetadata;
|
||||||
@@ -127,11 +144,14 @@ namespace CUETools.Processor
|
|||||||
return false;
|
return false;
|
||||||
if (TotalDiscs != metadata.TotalDiscs ||
|
if (TotalDiscs != metadata.TotalDiscs ||
|
||||||
DiscNumber != metadata.DiscNumber ||
|
DiscNumber != metadata.DiscNumber ||
|
||||||
|
DiscName != metadata.DiscName ||
|
||||||
Year != metadata.Year ||
|
Year != metadata.Year ||
|
||||||
Genre != metadata.Genre ||
|
Genre != metadata.Genre ||
|
||||||
Artist != metadata.Artist ||
|
Artist != metadata.Artist ||
|
||||||
Title != metadata.Title ||
|
Title != metadata.Title ||
|
||||||
Catalog != metadata.Catalog ||
|
Barcode != metadata.Barcode ||
|
||||||
|
ReleaseDate != metadata.ReleaseDate ||
|
||||||
|
Label != metadata.Label ||
|
||||||
Tracks.Count != metadata.Tracks.Count
|
Tracks.Count != metadata.Tracks.Count
|
||||||
)
|
)
|
||||||
return false;
|
return false;
|
||||||
@@ -156,11 +176,14 @@ namespace CUETools.Processor
|
|||||||
// Tracks.Count = metadata.Tracks.Count;
|
// Tracks.Count = metadata.Tracks.Count;
|
||||||
TotalDiscs = metadata.TotalDiscs;
|
TotalDiscs = metadata.TotalDiscs;
|
||||||
DiscNumber = metadata.DiscNumber;
|
DiscNumber = metadata.DiscNumber;
|
||||||
|
DiscName = metadata.DiscName;
|
||||||
Year = metadata.Year;
|
Year = metadata.Year;
|
||||||
Genre = metadata.Genre;
|
Genre = metadata.Genre;
|
||||||
Artist = metadata.Artist;
|
Artist = metadata.Artist;
|
||||||
Title = metadata.Title;
|
Title = metadata.Title;
|
||||||
Catalog = metadata.Catalog;
|
Barcode = metadata.Barcode;
|
||||||
|
ReleaseDate = metadata.ReleaseDate;
|
||||||
|
Label = metadata.Label;
|
||||||
for (int i = 0; i < Tracks.Count; i++)
|
for (int i = 0; i < Tracks.Count; i++)
|
||||||
{
|
{
|
||||||
Tracks[i].Title = metadata.Tracks[i].Title;
|
Tracks[i].Title = metadata.Tracks[i].Title;
|
||||||
@@ -171,12 +194,18 @@ namespace CUETools.Processor
|
|||||||
|
|
||||||
public void FillFromMusicBrainz(MusicBrainz.Release release, int firstAudio)
|
public void FillFromMusicBrainz(MusicBrainz.Release release, int firstAudio)
|
||||||
{
|
{
|
||||||
string date = release.GetEvents().Count > 0 ? release.GetEvents()[0].Date : null;
|
var evs = release.GetEvents();
|
||||||
Year = date == null ? "" : date.Substring(0, 4);
|
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();
|
Artist = release.GetArtist();
|
||||||
Title = release.GetTitle();
|
Title = release.GetTitle();
|
||||||
// How to get Genre: http://mm.musicbrainz.org/ws/1/release/6fe1e218-2aee-49ac-94f0-7910ba2151df.html?type=xml&inc=tags
|
// 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++)
|
for (int i = 0; i < Tracks.Count; i++)
|
||||||
{
|
{
|
||||||
MusicBrainz.Track track = release.GetTracks()[i + firstAudio]; // !!!!!! - _toc.FirstAudio?
|
MusicBrainz.Track track = release.GetTracks()[i + firstAudio]; // !!!!!! - _toc.FirstAudio?
|
||||||
@@ -184,7 +213,7 @@ namespace CUETools.Processor
|
|||||||
Tracks[i].Artist = track.GetArtist();
|
Tracks[i].Artist = track.GetArtist();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FillFromFreedb(Freedb.CDEntry cdEntry, int firstAudio)
|
public void FillFromFreedb(Freedb.CDEntry cdEntry, int firstAudio)
|
||||||
{
|
{
|
||||||
Year = cdEntry.Year;
|
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)
|
private static string FreedbToEncoding(Encoding iso, Encoding def, ref bool changed, ref bool error, string s)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -305,9 +359,11 @@ namespace CUETools.Processor
|
|||||||
|
|
||||||
public override string ToString()
|
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.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;
|
Genre = metadata.Genre;
|
||||||
Artist = metadata.Artist;
|
Artist = metadata.Artist;
|
||||||
Title = metadata.Title;
|
Title = metadata.Title;
|
||||||
Catalog = metadata.Catalog;
|
Catalog = metadata.Barcode;
|
||||||
for (int i = 0; i < Tracks.Count; i++)
|
for (int i = 0; i < Tracks.Count; i++)
|
||||||
{
|
{
|
||||||
Tracks[i].Title = metadata.Tracks[i].Title;
|
Tracks[i].Title = metadata.Tracks[i].Title;
|
||||||
@@ -2076,7 +2076,7 @@ string status = processor.Go();
|
|||||||
metadata.Genre = Genre;
|
metadata.Genre = Genre;
|
||||||
metadata.Artist = Artist;
|
metadata.Artist = Artist;
|
||||||
metadata.Title = Title;
|
metadata.Title = Title;
|
||||||
metadata.Catalog = Catalog;
|
metadata.Barcode = Catalog;
|
||||||
for (int i = 0; i < Tracks.Count; i++)
|
for (int i = 0; i < Tracks.Count; i++)
|
||||||
{
|
{
|
||||||
metadata.Tracks[i].Title = Tracks[i].Title;
|
metadata.Tracks[i].Title = Tracks[i].Title;
|
||||||
@@ -2220,7 +2220,7 @@ string status = processor.Go();
|
|||||||
_localDB.Save();
|
_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>();
|
List<object> Releases = new List<object>();
|
||||||
StringCollection DiscIds = new StringCollection();
|
StringCollection DiscIds = new StringCollection();
|
||||||
@@ -2275,6 +2275,22 @@ string status = processor.Go();
|
|||||||
Releases.Add(new CUEMetadataEntry(entry.Metadata, TOC, "local"));
|
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)
|
if (useFreedb)
|
||||||
{
|
{
|
||||||
ShowProgress("Looking up album via Freedb...", 0.0, null, null);
|
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);
|
ShowProgress("Looking up album via MusicBrainz...", 0.0, null, null);
|
||||||
|
|
||||||
@@ -3191,13 +3207,13 @@ string status = processor.Go();
|
|||||||
_padding += _eacLog.Length;
|
_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);
|
ShowProgress((string)"Contacting CUETools database...", 0, null, null);
|
||||||
|
|
||||||
_CUEToolsDB = new CUEToolsDB(_toc, proxy);
|
_CUEToolsDB = new CUEToolsDB(_toc, proxy);
|
||||||
_CUEToolsDB.UploadHelper.onProgress += new EventHandler<Krystalware.UploadHelper.UploadProgressEventArgs>(UploadProgress);
|
_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)
|
if (!_toc[_toc.TrackCount].IsAudio && DataTrackLength == 0)
|
||||||
foreach (DBEntry e in _CUEToolsDB.Entries)
|
foreach (DBEntry e in _CUEToolsDB.Entries)
|
||||||
@@ -6318,7 +6334,7 @@ string status = processor.Go();
|
|||||||
}
|
}
|
||||||
case "repair":
|
case "repair":
|
||||||
{
|
{
|
||||||
UseCUEToolsDB(false, "CUETools " + CUEToolsVersion, null);
|
UseCUEToolsDB(false, "CUETools " + CUEToolsVersion, null, false, true);
|
||||||
Action = CUEAction.Verify;
|
Action = CUEAction.Verify;
|
||||||
if (CTDB.DBStatus != null)
|
if (CTDB.DBStatus != null)
|
||||||
return CTDB.DBStatus;
|
return CTDB.DBStatus;
|
||||||
|
|||||||
@@ -345,5 +345,30 @@ namespace CUETools.TestParity
|
|||||||
Assert.AreEqual<string>("YJPyo4+KY35P+DpljMplMGbMWXmpvhkdDOCKeEo4NDoRPPW7D0cv8hmLb7yZujp0sVg/6AEWKY5QrDKkiYp0Zw==",
|
Assert.AreEqual<string>("YJPyo4+KY35P+DpljMplMGbMWXmpvhkdDOCKeEo4NDoRPPW7D0cv8hmLb7yZujp0sVg/6AEWKY5QrDKkiYp0Zw==",
|
||||||
Convert.ToBase64String(bsyn));
|
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 System.Collections.Generic;
|
||||||
using CUETools.Processor;
|
using CUETools.Processor;
|
||||||
using CUETools.AccurateRip;
|
using CUETools.AccurateRip;
|
||||||
|
using CUETools.CTDB;
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
namespace CUETools.TestProcessor
|
namespace CUETools.TestProcessor
|
||||||
{
|
{
|
||||||
@@ -115,5 +118,21 @@ namespace CUETools.TestProcessor
|
|||||||
target.Open("Amarok\\Amarok.cue");
|
target.Open("Amarok\\Amarok.cue");
|
||||||
Assert.AreEqual<string>("00041f6d-00083ece-020e1201", AccurateRipVerify.CalculateAccurateRipId(target.TOC), "Wrong TOC");
|
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
|
|| (FileBrowserState == FileBrowserStateEnum.Tree
|
||||||
&& !(fileSystemTreeView1.SelectedNode is FileSystemTreeNodeLocalDBFolder)
|
&& !(fileSystemTreeView1.SelectedNode is FileSystemTreeNodeLocalDBFolder)))
|
||||||
&& !Directory.Exists(InputPath)))
|
&& !Directory.Exists(InputPath))
|
||||||
{
|
{
|
||||||
StartConvert();
|
StartConvert();
|
||||||
return;
|
return;
|
||||||
@@ -873,7 +873,7 @@ namespace JDP {
|
|||||||
if (useLocalDB)
|
if (useLocalDB)
|
||||||
cueSheet.UseLocalDB(_localDB);
|
cueSheet.UseLocalDB(_localDB);
|
||||||
if (useCUEToolsDB)
|
if (useCUEToolsDB)
|
||||||
cueSheet.UseCUEToolsDB(false, "CUETools " + CUESheet.CUEToolsVersion, null);
|
cueSheet.UseCUEToolsDB(false, "CUETools " + CUESheet.CUEToolsVersion, null, false, true);
|
||||||
if (useAR)
|
if (useAR)
|
||||||
cueSheet.UseAccurateRip();
|
cueSheet.UseAccurateRip();
|
||||||
|
|
||||||
@@ -902,7 +902,7 @@ namespace JDP {
|
|||||||
{
|
{
|
||||||
frmChoice dlg = new frmChoice();
|
frmChoice dlg = new frmChoice();
|
||||||
dlg.CUE = cueSheet;
|
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);
|
dlgRes = dlg.ShowDialog(this);
|
||||||
if (dlgRes == DialogResult.Cancel)
|
if (dlgRes == DialogResult.Cancel)
|
||||||
{
|
{
|
||||||
@@ -1146,7 +1146,7 @@ namespace JDP {
|
|||||||
toolStripStatusLabelProcessed.Text = String.Format("{0}@{1}", toolStripProgressBar2.ToolTipText, speedStr);
|
toolStripStatusLabelProcessed.Text = String.Format("{0}@{1}", toolStripProgressBar2.ToolTipText, speedStr);
|
||||||
toolStripStatusLabelProcessed.Visible = true;
|
toolStripStatusLabelProcessed.Visible = true;
|
||||||
}
|
}
|
||||||
toolStripStatusLabel1.Text = e.status;
|
toolStripStatusLabel1.Text = e.status.Replace("&", "&&");
|
||||||
toolStripProgressBar2.Value = Math.Max(0, Math.Min(100, (int)(e.percent * 100)));
|
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;
|
toolStripStatusLabelAR.Enabled = e.cueSheet != null && e.cueSheet.ArVerify != null && e.cueSheet.ArVerify.ARStatus == null;
|
||||||
@@ -2128,7 +2128,7 @@ namespace JDP {
|
|||||||
CueSheet.UseLocalDB(_localDB);
|
CueSheet.UseLocalDB(_localDB);
|
||||||
frmChoice dlg = new frmChoice();
|
frmChoice dlg = new frmChoice();
|
||||||
dlg.CUE = CueSheet;
|
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);
|
var dlgRes = dlg.ShowDialog(this);
|
||||||
if (dlgRes == DialogResult.OK && dlg.ChosenRelease != null)
|
if (dlgRes == DialogResult.OK && dlg.ChosenRelease != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -687,45 +687,6 @@
|
|||||||
<data name="toolStripInput.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="toolStripInput.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
</data>
|
</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">
|
<data name="toolStripInput.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -2193,6 +2154,45 @@
|
|||||||
<data name=">>comboBoxAudioFormat.ZOrder" xml:space="preserve">
|
<data name=">>comboBoxAudioFormat.ZOrder" xml:space="preserve">
|
||||||
<value>10</value>
|
<value>10</value>
|
||||||
</data>
|
</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">
|
<data name="toolStripLabelOutput.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>48, 24</value>
|
<value>48, 24</value>
|
||||||
</data>
|
</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.columnHeader1 = new System.Windows.Forms.ColumnHeader();
|
||||||
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
|
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
|
||||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
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.listTracks = new System.Windows.Forms.ListView();
|
||||||
this.Title = new System.Windows.Forms.ColumnHeader();
|
this.Title = new System.Windows.Forms.ColumnHeader();
|
||||||
this.TrackNo = new System.Windows.Forms.ColumnHeader();
|
this.TrackNo = new System.Windows.Forms.ColumnHeader();
|
||||||
this.Start = new System.Windows.Forms.ColumnHeader();
|
this.Start = new System.Windows.Forms.ColumnHeader();
|
||||||
this.Length = 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.listMetadata = new System.Windows.Forms.ListView();
|
||||||
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
|
this.columnHeaderMetadataValue = new System.Windows.Forms.ColumnHeader();
|
||||||
this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
|
this.columnHeaderMetadataName = 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.tableLayoutPanel1.SuspendLayout();
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
this.tableLayoutPanel2.SuspendLayout();
|
this.tableLayoutPanel2.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||||
|
this.tableLayoutPanelMeta.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// buttonOk
|
// buttonOk
|
||||||
@@ -89,6 +91,7 @@ namespace JDP
|
|||||||
this.imageList1.Images.SetKeyName(3, "cue");
|
this.imageList1.Images.SetKeyName(3, "cue");
|
||||||
this.imageList1.Images.SetKeyName(4, "tags");
|
this.imageList1.Images.SetKeyName(4, "tags");
|
||||||
this.imageList1.Images.SetKeyName(5, "local");
|
this.imageList1.Images.SetKeyName(5, "local");
|
||||||
|
this.imageList1.Images.SetKeyName(6, "ctdb");
|
||||||
//
|
//
|
||||||
// textBox1
|
// textBox1
|
||||||
//
|
//
|
||||||
@@ -97,78 +100,16 @@ namespace JDP
|
|||||||
this.textBox1.Name = "textBox1";
|
this.textBox1.Name = "textBox1";
|
||||||
this.textBox1.ReadOnly = true;
|
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
|
// tableLayoutPanel1
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
|
||||||
this.tableLayoutPanel1.Controls.Add(this.listMetadata, 0, 3);
|
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 4);
|
||||||
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 5);
|
|
||||||
this.tableLayoutPanel1.Controls.Add(this.textBox1, 0, 1);
|
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.listChoices, 0, 0);
|
||||||
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 0, 2);
|
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 0, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanelMeta, 0, 3);
|
||||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
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
|
// tableLayoutPanel2
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
|
resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
|
||||||
@@ -187,6 +128,68 @@ namespace JDP
|
|||||||
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
|
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
|
||||||
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
|
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
|
// frmChoice
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.buttonOk;
|
this.AcceptButton = this.buttonOk;
|
||||||
@@ -203,6 +206,7 @@ namespace JDP
|
|||||||
this.tableLayoutPanel1.PerformLayout();
|
this.tableLayoutPanel1.PerformLayout();
|
||||||
this.tableLayoutPanel2.ResumeLayout(false);
|
this.tableLayoutPanel2.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||||
|
this.tableLayoutPanelMeta.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -214,17 +218,18 @@ namespace JDP
|
|||||||
private System.Windows.Forms.ImageList imageList1;
|
private System.Windows.Forms.ImageList imageList1;
|
||||||
private System.Windows.Forms.TextBox textBox1;
|
private System.Windows.Forms.TextBox textBox1;
|
||||||
private System.Windows.Forms.ListView listChoices;
|
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.ListView listTracks;
|
||||||
private System.Windows.Forms.ColumnHeader Title;
|
private System.Windows.Forms.ColumnHeader Title;
|
||||||
private System.Windows.Forms.ColumnHeader TrackNo;
|
private System.Windows.Forms.ColumnHeader TrackNo;
|
||||||
private System.Windows.Forms.ColumnHeader Length;
|
|
||||||
private System.Windows.Forms.ColumnHeader Start;
|
private System.Windows.Forms.ColumnHeader Start;
|
||||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
private System.Windows.Forms.ColumnHeader Length;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -20,15 +20,16 @@ namespace JDP
|
|||||||
|
|
||||||
public CUESheet CUE;
|
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.freedb = freedb;
|
||||||
this.musicbrainz = musicbrainz;
|
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;
|
this.Choices = releases;
|
||||||
if (freedb || musicbrainz)
|
if (freedb || musicbrainz || ctdb)
|
||||||
backgroundWorker1.RunWorkerAsync(null);
|
backgroundWorker1.RunWorkerAsync(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,20 +93,16 @@ namespace JDP
|
|||||||
{
|
{
|
||||||
textBox1.Hide();
|
textBox1.Hide();
|
||||||
pictureBox1.Hide();
|
pictureBox1.Hide();
|
||||||
listTracks.Show();
|
tableLayoutPanelMeta.Show();
|
||||||
listMetadata.Show();
|
tableLayoutPanel1.SetRowSpan(listChoices, 2);
|
||||||
tableLayoutPanel1.SetRowSpan(listChoices, 3);
|
|
||||||
tableLayoutPanel1.PerformLayout();
|
tableLayoutPanel1.PerformLayout();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
textBox1.Show();
|
textBox1.Show();
|
||||||
pictureBox1.Hide();
|
pictureBox1.Hide();
|
||||||
listTracks.Hide();
|
tableLayoutPanelMeta.Hide();
|
||||||
listMetadata.Hide();
|
tableLayoutPanel1.SetRowSpan(textBox1, 3);
|
||||||
tableLayoutPanel1.SetRowSpan(textBox1, 4);
|
|
||||||
//tableLayoutPanel1.RowStyles[2].Height = 0;
|
|
||||||
//tableLayoutPanel1.RowStyles[3].Height = 0;
|
|
||||||
tableLayoutPanel1.PerformLayout();
|
tableLayoutPanel1.PerformLayout();
|
||||||
}
|
}
|
||||||
if (listChoices.Items.Count > 0)
|
if (listChoices.Items.Count > 0)
|
||||||
@@ -180,7 +177,8 @@ namespace JDP
|
|||||||
catch { }
|
catch { }
|
||||||
textBox1.Hide();
|
textBox1.Hide();
|
||||||
pictureBox1.Show();
|
pictureBox1.Show();
|
||||||
tableLayoutPanel1.SetRowSpan(pictureBox1, 4);
|
tableLayoutPanelMeta.Hide();
|
||||||
|
tableLayoutPanel1.SetRowSpan(pictureBox1, 2);
|
||||||
}
|
}
|
||||||
else if (item != null && item is CUEToolsSourceFile)
|
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.Genre, "Genre" }));
|
||||||
listMetadata.Items.Add(new ListViewItem(new string[] { r.metadata.DiscNumber, "Disc Number" }));
|
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.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
|
else
|
||||||
{
|
{
|
||||||
@@ -287,6 +289,10 @@ namespace JDP
|
|||||||
case 3: r.metadata.Genre = e.Label; break;
|
case 3: r.metadata.Genre = e.Label; break;
|
||||||
case 4: r.metadata.DiscNumber = e.Label; break;
|
case 4: r.metadata.DiscNumber = e.Label; break;
|
||||||
case 5: r.metadata.TotalDiscs = 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();
|
item.Text = r.ToString();
|
||||||
}
|
}
|
||||||
@@ -300,7 +306,7 @@ namespace JDP
|
|||||||
|
|
||||||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
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)
|
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||||
|
|||||||
@@ -123,10 +123,10 @@
|
|||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<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">
|
<data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>456, 3</value>
|
<value>631, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>110, 28</value>
|
<value>154, 29</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
|
<data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
|
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
|
||||||
<value>520</value>
|
<value>757</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listChoices.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="listChoices.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
<value>3, 3</value>
|
<value>3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listChoices.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="listChoices.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>569, 114</value>
|
<value>788, 144</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
@@ -166,115 +166,143 @@
|
|||||||
<value>
|
<value>
|
||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAy
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACm
|
||||||
GQAAAk1TRnQBSQFMAgEBBgEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
HwAAAk1TRnQBSQFMAgEBBwEAAQwBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||||
AwABIAMAAQEBAAEgBgABIB4AAx0BKgJDAUIBdwMdASrwAAMdASkCQgFBAXQC/wHwAf8CQgFBAXQDHQEp
|
AwABIAMAAQEBAAEgBgABIB4AAx0BKgNDAXcDHQEqeAABLwEsASoBOwFxAWEBUQGUAZkBeQFaAc4BrAGC
|
||||||
6AADHAEoA0ABcQL/AfAB/wLpAdoD/wHxAf8DQAFxAxwBKCAAAzYBWQNCAXYDQgF2AzABSwQAAzABSwNC
|
AVkB6wGsAYIBWQHrAZkBeQFaAc4BcQFhAVEBlAIAAeIB/wIAAeIB/1QAAx0BKQNCAXQC/wHwAf8DQgF0
|
||||||
AXYDQgF2A0IBdgNCAXYDMAFLBAADMAFLA0IBdgNCAXYDNgFZgAADHAEnA0ABbwL/AfAB/wHrAd0BsQH/
|
Ax0BKWwAAwoBDQFyAWEBUgGWAbQBhQFXAfoB4QHNAbkB/wHxAeABzgH/AfkB5wHWAf8B+AHmAdQB/wHw
|
||||||
AfcBwQE2Af8B7QHfAbMD/wHyAf8DQAFvAxwBJxwAA0EBcgL5AekB/wLzAeMB/wJeAVsBtQNDAXgCawFn
|
Ad0BzAH/AeEBzQG5Af8CAAHiAf8CAAHiAf8DCgENTAADHAEoA0ABcQL/AfAB/wLpAdoD/wHxAf8DQAFx
|
||||||
AcMC8wHjAf8C8wHjAf8C8wHjAf8C8wHjAf8CawFnAcMDQwF4Al4BWwG1AvMB4wH/AvkB6QH/A0EBcoAA
|
AxwBKCAAAzYBWQNCAXYDQgF2AzABSwQAAzABSwNCAXYDQgF2A0IBdgNCAXYDMAFLBAADMAFLA0IBdgNC
|
||||||
A0ABbgL/AfAB/wLpAdoB/wHnAasBIAH/AecBqwEgAf8B5wGrASAB/wHqAdsBsAP/AfQB/wNAAW4DHAEn
|
AXYDNgFZBAADCgENAYoBcAFXAbgB2QG/AaUB/wH+AfIB5AL/AecBzwH/AfwB2wG7Af8B+QHTAbIB/wH2
|
||||||
GAADQAFvAvQB5gH/AukB2gH/Au8B4AH/AvQB5gH/Au8B4AH/AukB2gH/AukB2gH/AukB2gH/AukB2gH/
|
AdABrAH/AfQB0QGuAf8B9gHYAbsB/wIAAeIB/wIAAeIB/wGKAXABVwG4AwoBDUQAAxwBJwNAAW8C/wHw
|
||||||
Au8B4AH/AvQB5gH/Au8B4AH/AukB2gH/AvQB5gH/A0ABb4AAAxwBJwM/AW0C/wHxAf8B5wHXAasB/wHX
|
Af8B6wHdAbEB/wH3AcEBNQH/Ae0B3wGzA/8B8gH/A0ABbwMcASccAANBAXIC+QHpAf8C8wHjAf8CWwFZ
|
||||||
AZYBCwH/AdcBlgELAf8B1wGWAQsB/wHoAdgBrgP/AfUB/wM/AW0DHAEnFAADQAFuAvYB6AH/AusB3gH/
|
AbUDQwF4AmUBYwHDAvMB4wH/AvMB4wH/AvMB4wH/AvMB4wH/AmUBYwHDA0MBeAJbAVkBtQLzAeMB/wL5
|
||||||
AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/AusB3gH/
|
AekB/wNBAXIEAAFyAWEBUgGWAdkBvwGlAv8B+AHrAv8B6wHRAv8B4QHDAf8B/gHbAboB/wH7AdYBsgH/
|
||||||
AusB3gH/AvYB6AH/A0ABboQAAxsBJgM/AWwC/wHyAf8B5QHUAakB/wHNAYkBAAH/Ac0BiQEAAf8BzQGJ
|
AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/QAADQAFuAv8B8AH/
|
||||||
AQAB/wHoAdcBrwP/AfcB/wM/AWwDGwEmEAADPwFtAvcB7AH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/
|
AukB2gH/AecBqwEfAf8B5wGrAR8B/wHnAasBHwH/AeoB2wGwA/8B9AH/A0ABbgMcAScYAANAAW8C9AHm
|
||||||
Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/Au4B4wH/AvcB7AH/Az8BbYgA
|
Af8C6QHaAf8C7wHgAf8C9AHmAf8C7wHgAf8C6QHaAf8C6QHaAf8C6QHaAf8C6QHaAf8C7wHgAf8C9AHm
|
||||||
AxsBJgM+AWsC/wH0Af8B5wHWAawB/wHRAY4BAwH/AdEBjgEDAf8B0QGOAQMB/wHsAdsBswP/AfgB/wM+
|
Af8C7wHgAf8C6QHaAf8C9AHmAf8DQAFvAS0BKgEoATgBtwGHAVcB/QL+AfoC/wH5AekC/wHvAdgC/wHn
|
||||||
AWsDGwEmDAADPgFrAvkB7wH/AvEB6AH/AvEB6AH/AvEB6AH/AvEB6AH/AvEB6AH/AwAB/wFOAYUBkwH/
|
Ac0C/wHhAcIB/wH8AdwBuwH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/AgAB4gH/
|
||||||
AbgCywH/AvEB6AH/AvEB6AH/AvEB6AH/AvEB6AH/AvkB7wH/Az4Ba4wAAxsBJgM+AWsC/wH1Af8B6wHc
|
AgAB4gH/QAADHAEnAz8BbQL/AfEB/wHnAdcBqwH/AdcBlgEKAf8B1wGWAQoB/wHXAZYBCgH/AegB2AGu
|
||||||
AbMB/wHfAaEBFgH/Ad8BoQEWAf8B3wGhARYB/wHxAeIBuwP/AfoB/wM+AWsDGwEmCAADPgFqAvoB8wH/
|
A/8B9QH/Az8BbQMcAScUAANAAW4C9gHoAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHe
|
||||||
AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/AXkBsQHAAf8B2QH0Av8BPAGcAasB/wG1AdMB1AH/
|
Af8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C6wHeAf8C9gHoAf8DQAFuAXIBYQFSAZYB4gHO
|
||||||
AvUB7gH/AvUB7gH/AvUB7gH/AvoB8wH/Az4BapAAAxsBJgM+AWoC/wH3Af8B8gHkAbsB/wHwAbgBLQH/
|
AboB/wH3Ad4BxgL/AekB0QL/AfYB4gL/AfIB3QL/AfAB3QH/AfgB6gHZAf8B+AHmAdQB/wH7Ad8BxwH/
|
||||||
AfABuAEtAf8B8AG4AS0B/wL4AfQD/wH7Af8DPgFqAxoBJQQAAz0BaQL8AfcB/wL4AfMB/wL4AfMB/wL4
|
AfUBzwGrAf8CAAHiAf8CAAHiAf8B+AHdAcMB/wHiAc4BugH/AXIBYQFSAZZEAAMbASYDPwFsAv8B8gH/
|
||||||
AfMB/wL4AfMB/wL4AfMB/wHUAeYB5wH/AUYBtAHDAf8BdgHmAfcB/wE9AZ0BrQH/AbYB1QHXAf8C+AHz
|
AeUB1AGpAf8BzQGJAQAB/wHNAYkBAAH/Ac0BiQEAAf8B6AHXAa8D/wH3Af8DPwFsAxsBJhAAAz8BbQL3
|
||||||
Af8C+AHzAf8C/AH3Af8DPQFplAADGgElAz0BaQL/AfgB/wH3AeoBwwH/Af0ByQE+Af8B+QHsAccB/wL7
|
AewB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLuAeMB/wLu
|
||||||
AfcB/wL8AfkD/wH8Af8DPQFpAxoBJQM9AWgC/QH6Af8C+wH3Af8C+wH3Af8C+wH3Af8C+wH3Af8C+wH3
|
AeMB/wLuAeMB/wLuAeMB/wL3AewB/wM/AW0BmgF5AVoB0AHvAeAB0AH/AecBvgGWAf8B5wG8AZQB/wHw
|
||||||
Af8C+wH3Af8BvgHlAegB/wFHAbUBxQH/AXYB5gH3Af8BPgGeAa4B/wG5AdgB2wH/AvsB9wH/Av0B+gH/
|
AcwBqQH/Af4B7AHaAf8B3QHEAawB/wGpAYEBWgHnAakBgQFaAecB3QHDAaoB/wH4Ad0BxAH/AgAB4gH/
|
||||||
Az0BaJgAAxoBJQM9AWgC/wH6Af8C+AH0Af8C+wH3Af8C6AHeAf8C2AHJAf8C6AHeA/8B/gH/Az0BaAM9
|
AgAB4gH/AfUB1gG4Af8B8QHfAc8B/wGaAXkBWgHQSAADGwEmAz4BawL/AfQB/wHnAdYBrAH/AdEBjgEC
|
||||||
AWgC/gH9Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8C/QH7Af8BwAHmAesB/wFI
|
Af8B0QGOAQIB/wHRAY4BAgH/AewB2wGzA/8B+AH/Az4BawMbASYMAAM+AWsC+QHvAf8C8QHoAf8C8QHo
|
||||||
AbUBxgH/AXYB5gH3Af8BPgGeAa8B/wG+AdgB3AH/Av4B/QH/Az0BaJwAAxoBJQM9AWgC/wH7Af8C/AH5
|
Af8C8QHoAf8C8QHoAf8C8QHoAf8DAAH/AU0BhQGTAf8BuALLAf8C8QHoAf8C8QHoAf8C8QHoAf8C8QHo
|
||||||
Af8CywG7Af8EAALLAbwD/wH+Af8DPQFoAz0BZyT/AcEB6AHuAf8BSAG2AccB/wF2AeYB9wH/A5MB/wPV
|
Af8C+QHvAf8DPgFrAawBggFZAewB9QHkAdUB/wHpAb4BlwH/AegBvAGWAf8B5wG8AZQB/wHzAd4BygH/
|
||||||
Af8DPQFnoAADGgElAz0BZwL/AfwB/wLUAcoB/wKvAZ8B/wLUAcsD/wH+Af8DPQFnAzEBTQM8AWYDPAFm
|
AagBgQFZAeYBFgEVARQBGwEWARUBFAEbAagBgQFZAeYB9gHjAdMB/wIAAeIB/wIAAeIB/wHtAckBpAH/
|
||||||
AzwBZgM8AWYDPAFmAzwBZgM8AWYDPAFmAzwBZgM8AWYDTAGMAlYBVAGnA/cB/wJUAVgBuwJEAUUBeqQA
|
AfYB5AHSAf8BrAGCAVkB7EwAAxsBJgM+AWsC/wH1Af8B6wHcAbMB/wHfAaEBFQH/Ad8BoQEVAf8B3wGh
|
||||||
AxoBJAM9AWcC/wH+A/8B/gP/Af4F/wM9AWcwAAMaASQCRAFFAXwCgAL/AkgBagHBqAADGgEkAzwBZgM8
|
ARUB/wHxAeIBuwP/AfoB/wM+AWsDGwEmCAADPgFqAvoB8wH/AvUB7gH/AvUB7gH/AvUB7gH/AvUB7gH/
|
||||||
AWYDPAFmAzwBZgMxAU00AAMmATkCSwFjAa8DKgFAjAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGa
|
AvUB7gH/AXgBsQHAAf8B2QH0Av8BOwGcAasB/wG1AdMB1AH/AvUB7gH/AvUB7gH/AvUB7gH/AvoB8wH/
|
||||||
A0QBeQMwAUwDFAEcAwMBBAgAA5YB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEc
|
Az4BagGsAYIBWQHsAfUB5AHVAf8B6QG/AZkB/wHpAcABmQH/AekBwQGaAf8B8wHdAckB/wGoAYEBWQHm
|
||||||
AgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wEcAgAB/wQAAU8BzAL/
|
ARYBFQEUARsBFgEVARQBGwGoAYEBWQHmAfgB6AHZAf8B8gHSAbIB/wHwAcwBqwH/AfABzAGrAf8B9gHk
|
||||||
ARwCmQH/ARwCmQH/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/
|
AdMB/wGsAYIBWQHsUAADGwEmAz4BagL/AfcB/wHyAeQBuwH/AfABuAEsAf8B8AG4ASwB/wHwAbgBLAH/
|
||||||
AU8BzAL/AU8BzAL/AU8BzAL/EAADAgEDAxQBHAMwAUwDRAF5A1ABmgNQAaQDUAGaA0QBeQMwAUwDFAEc
|
AvgB9AP/AfsB/wM+AWoDGgElBAADPQFpAvwB9wH/AvgB8wH/AvgB8wH/AvgB8wH/AvgB8wH/AvgB8wH/
|
||||||
AwMBBBAAAwQBBgMkATYDUwGwAWMCXgHlAXMCXwH7AbMCqQH/AXMCZAH7A2AB6wNaAdMDUwGsA0cBggMo
|
AdQB5gHnAf8BRQG0AcMB/wF1AeYB9wH/ATwBnQGtAf8BtgHVAdcB/wL4AfMB/wL4AfMB/wL8AfcB/wM9
|
||||||
ATwDBwEJBAABzAKZAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8D6gH/A+oB/wPqAf8BgAIAAf8D6gH/
|
AWkBmgF5AVoB0AHwAeEB0QH/AeoBxAGhAf8B6QHBAZsB/wHpAcABlwH/AfEBzgGyAf8B3AHDAaoB/wGp
|
||||||
A+oB/wPqAf8BgAIAAf8BgAIAAf8BTwIAAf8BHAIAAf8BHAKZAf8DAAH/AxIB/wM2Af8DAAH/AwUB/wFP
|
AYEBWgHnAakBgQFaAecB3QHEAawC/wH8AfMC/wH0AeUC/wHuAdoB/wH8AeUB0QH/AfEB4QHRAf8BmgF5
|
||||||
AcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wFPAcwC/wgA
|
AVoB0FQAAxoBJQM9AWkC/wH4Af8B9wHqAcMB/wH9AckBPQH/AfkB7AHHAf8C+wH3Af8C/AH5A/8B/AH/
|
||||||
AwQBBgMkATYDUwGwAWMCXgHlAXMCXwH7AbMCqQH/AXMCZAH7A2AB6wNaAdMDUwGsA0cBggMoATwDBwEJ
|
Az0BaQMaASUDPQFoAv0B+gH/AvsB9wH/AvsB9wH/AvsB9wH/AvsB9wH/AvsB9wH/AvsB9wH/Ab4B5QHo
|
||||||
CAADAgEDAzEBTwNcAeoBzwK0Av8C3QL/AuIC/wLoAv8C7gL/AvMB/wPPAf8DXwHzA1gBxgNMAZIDKAE8
|
Af8BRgG1AcUB/wF1AeYB9wH/AT0BngGuAf8BuQHYAdsB/wL7AfcB/wL9AfoB/wM9AWgBcgFhAVIBlgHi
|
||||||
AwMBBAHMApkB/wGAAgAB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8D8QH/AYACAAH/A/EB/wGA
|
Ac4BugH/AfEB0gG2Af8B6wHBAZsB/wHrAb8BmQL/AeQB0wL/AegB2wH/AfMB2gHHAf8B+AHxAeQC/wH4
|
||||||
AgAB/wGAAgAB/wPxAf8BgAIAAf8BgAIAAf8BHAIAAf8DAAH/A8wN/wM2Af8DBQH/AU8BzAL/AU8BzAL/
|
Ae0C/wH3AekC/wH+AfEC/wH8Ae8C/wH8AfIB/wHiAc4BugH/AXIBYQFSAZZYAAMaASUDPQFoAv8B+gH/
|
||||||
AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/BAADAgEDAzEBTwNcAeoBzwK0
|
AvgB9AH/AvsB9wH/AugB3gH/AtgByQH/AugB3gP/Af4B/wM9AWgDPQFoAv4B/QH/Av0B+wH/Av0B+wH/
|
||||||
Av8C3QL/AuIC/wLoAv8C7gL/AvMB/wPPAf8DXwHzA1gBxgNMAZIDKAE8AwMBBAQAAyYBOANtAfcB9QLH
|
Av0B+wH/Av0B+wH/Av0B+wH/Av0B+wH/Av0B+wH/AcAB5gHrAf8BRwG1AcYB/wF1AeYB9wH/AT0BngGv
|
||||||
Av8C0gL/AtgC/wLdAv8C4gL/AugC/wL0Bf8D9QH/A4IB+wNYAcYDRwGCAxQBHAHMApkB/wGZAQABHAH/
|
Af8BvgHYAdwB/wL+Af0B/wM9AWgBLQEqASgBOAG3AYcBVwH9AfoB7QHhAf8B7AHHAaMC/wHsAdoF/wH3
|
||||||
AYACAAH/AYACAAX/AYACAAH/AYACAAX/AYACAAX/AYACAAH/AYACAAX/AYACAAH/AYACAAH/ARwCAAH/
|
Ac0BtgH/AewBvQGXAv8B9AHcA/8B9wL/AfcB6AP/AfMD/wH5Af8C/gH5Af8BtwGHAVcB/QEtASoBKAE4
|
||||||
AwAB/wPMEf8DAAH/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/AU8BzAL/
|
XAADGgElAz0BaAL/AfsB/wL8AfkB/wLLAbsB/wQAAssBvAP/Af4B/wM9AWgDPQFnJP8BwQHoAe4B/wFH
|
||||||
AU8BzAL/BAADJgE4A20B9wH1AscC/wLSAv8C2AL/At0C/wLiAv8C6AL/AvQF/wP1Af8DggH7A1gBxgNH
|
AbYBxwH/AXUB5gH3Af8DkwH/A9UB/wM9AWcEAAFyAWEBUgGWAdkBvwGlAv8B+gHwBv8B/QHzAf8B8AHB
|
||||||
AYIDFAEcAwcBCQNeAd0B9QLNAv8CzwL/As0C/wLSAv8C2AL/At0C/wLiAv8C+gn/A/UB/wNfAfMDUwGs
|
AaMB/wHuAcYBoAH/Af0B8AHRA/8B/gL/Af0B8AL/Af0B8QX/AdkBvwGlAf8BcgFhAVIBlmQAAxoBJQM9
|
||||||
AzABTAHMApkB/wGZAQABHAH/AYACAAH/AYACAAH/AYACAA3/AYACAA3/AYACAAH/AYACAAH/AYACAAH/
|
AWcC/wH8Af8C1AHKAf8CrwGfAf8C1AHLA/8B/gH/Az0BZwMxAU0DPAFmAzwBZgM8AWYDPAFmAzwBZgM8
|
||||||
ARwCAAH/ARwCmQH/AwUB/wNgAf8DwAH/A8AB/wPMAf8DAAH/AxIB/wMAAf8DAAH/AwAB/wMAAf8DEgH/
|
AWYDPAFmAzwBZgM8AWYDPAFmA0sBjAJUAVIBpwP3Af8CVgFYAbsDRAF6BAADCgENAYoBcAFXAbgB2QG/
|
||||||
AU8BzAL/AU8BzAL/AU8BzAL/AwcBCQNeAd0B9QLNAv8CzwL/As0C/wLSAv8C2AL/At0C/wLiAv8C+gn/
|
AaUB/wH+Af0B/AL/AfEB5AH/AfIBygGuAf8B8gHSAa0B/wH5Ae0ByAP/AfcD/wH9Af8B/gH9AfwB/wHZ
|
||||||
A/UB/wNfAfMDUwGsAzABTAM+AWoBxgKxAv8C2QL/AtQC/wLPAv8CzQL/AdQB2wL/AdcB4gL/AeQB6hH/
|
Ab8BpQH/AYoBcAFXAbgDCgENaAADGgEkAz0BZwL/Af4D/wH+A/8B/gX/Az0BZzAAAxoBJAJEAUUBfAKA
|
||||||
AdICzAH/A1oB0wNDAXcBzAKZAf8BmQEAARwB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGA
|
Av8CTwFiAcEIAAMKAQ0BcgFhAVIBlgG0AYUBVwH6AeEBzQG5Af8B8QHiAdQB/wH5AewB3wH/AfsB8wHl
|
||||||
AgAF/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wEcAgAB/wFPAcwC/wEcApkB/wMFAf8DAAH/
|
Af8B9AHtAeQB/wHiAc4BuwH/AbQBhQFXAfoBcgFhAVIBlgMKAQ1wAAMaASQDPAFmAzwBZgM8AWYDPAFm
|
||||||
AwAF/wMAAf8DBQH/AaQCoAn/A5kB/wMSAf8DEgH/AU8BzAL/AU8BzAL/Az4BagHGArEC/wLZAv8C1AL/
|
AzEBTTQAAyYBOQJPAVwBrwMqAUAQAAEvASwBKgE7AXEBYQFRAZQBmQF5AVoBzgGsAYIBWQHrAa0BgwFY
|
||||||
As8C/wLNAv8B1AHbAv8B1wHiAv8B5AHqEf8B0gLMAf8DWgHTA0MBdwNWAbYB/wLjAf8BAAEXARgB/wEA
|
Ae8BoAF8AVkB2QFzAWIBUQGXAS8BLAEqATtcAAMCAQMDFAEcAzABTANEAXkDUAGaA1ABpANQAZoDRAF5
|
||||||
ARcBGAH/AQABFwEYAv8B3gHnAf8BAAEXARgC/wHRAfMB/wEAARcBGAL/AfgC/wFXAl0B/wEAARcBGAH/
|
AzABTAMUARwDAwEECAADlgH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/
|
||||||
AVcCXQH/AcwCmQH/AVwCVQHqA04BlAHMApkB/wGZAQABHAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/
|
ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/ARsCAAH/BAABTgHMAv8BGwKZ
|
||||||
AYACAAX/AYACAAX/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ARwCAAH/AU8BzAL/AU8BzAL/
|
Af8BGwKZAf8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHM
|
||||||
AU8BzAL/AU8BzAL/AwAF/wMAAf8DEhH/A8wB/wMAAf8BTwHMAv8BTwHMAv8DVgG2Af8C4wH/AVcCXQH/
|
Av8BTgHMAv8BTgHMAv8QAAMCAQMDFAEcAzABTANEAXkDUAGaA1ABpANQAZoDRAF5AzABTAMUARwDAwEE
|
||||||
AQABFwEYAf8BVwJdAv8B3gHnAf8BVwJdAf8BAAEXARgB/wFXAl0C/wH4Av8BAAEXARgB/wEAARcBGAH/
|
EAADBAEGAyQBNgNTAbABYwJeAeUBcAJfAfsBswKpAf8BcAJiAfsDYAHrA1oB0wNTAawDRwGCAygBPAMH
|
||||||
AQABFwEYAf8BzAKZAf8BXAJVAeoDTgGUA2EB4gH/AucB/wEAARcBGAL/At4C/wLgAv8B7wH8Af8BAAEX
|
AQkEAAHMApkB/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAB/wPqAf8D6gH/A+oB/wGAAgAB/wPqAf8D6gH/
|
||||||
ARgC/wHiAfwB/wEAARcBGAH/AfwB8AH5Af8BAAEXARgB/wHMApkB/wEAARcBGAH/AcwCmQH/AW0CbAH3
|
A+oB/wGAAgAB/wGAAgAB/wFOAgAB/wEbAgAB/wEbApkB/wMAAf8DEQH/AzUB/wMAAf8DBAH/AU4BzAL/
|
||||||
A1EBoQHMApkB/wGZAQABHAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/
|
AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/AU4BzAL/CAADBAEG
|
||||||
AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ARwCAAH/AZkCTwH/AZkCTwH/AZkCTwH/
|
AyQBNgNTAbABYwJeAeUBcAJfAfsBswKpAf8BcAJiAfsDYAHrA1oB0wNTAawDRwGCAygBPAMHAQkIAAMC
|
||||||
AZkCTwH/AwAF/wMAAf8DAAH/AzYB/wPMDf8DAAH/AZkCTwH/AZkCTwH/A2EB4gH/AucB/wEAARcBGAL/
|
AQMDMQFPA1wB6gHPArQC/wLdAv8C4gL/AugC/wLuAv8C8wH/A88B/wNfAfMDWAHGA0wBkgMoATwDAwEE
|
||||||
At4B/wEAARcBGAL/Ae8B/AH/AQABFwEYAv8B4gH8Af8BAAEXARgB/wH8AfAB+QH/AQABFwEYAf8BzAKZ
|
AcwCmQH/AYACAAH/AYACAAH/AYACAAH/A/EB/wGAAgAB/wGAAgAB/wPxAf8BgAIAAf8D8QH/AYACAAH/
|
||||||
Af8BzAKZAf8BzAKZAf8BbQJsAfcDUQGhAZ4CjAH/AekCvgH/AQABFwEYAf8BAAEXARgB/wH5AtYC/wHp
|
AYACAAH/A/EB/wGAAgAB/wGAAgAB/wEbAgAB/wMAAf8DzA3/AzUB/wMEAf8BTgHMAv8BTgHMAv8BTgHM
|
||||||
AfMB/wEAARcBGAH/AQABFwEYAf8BAAEXARgB/wH5AegB7AH/AQABFwEYAf8B5gK6Af8B5gK9Af8B5gLA
|
Av8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8EAAMCAQMDMQFPA1wB6gHPArQC/wLd
|
||||||
Af8BpgKUAf8DTgGUNP8D8QH/A+oB/wOAAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8DAAX/AwAB/wM+
|
Av8C4gL/AugC/wLuAv8C8wH/A88B/wNfAfMDWAHGA0wBkgMoATwDAwEEBAADJgE4A20B9wH1AscC/wLS
|
||||||
Af8DBQH/AwAB/wMAAf8DAAX/AwAB/wGZAk8B/wGZAk8B/wGeAowB/wHpAr4B/wEAARcBGAH/AfMCxQH/
|
Av8C2AL/At0C/wLiAv8C6AL/AvQF/wP1Af8DgQH7A1gBxgNHAYIDFAEcAcwCmQH/AZkBAAEbAf8BgAIA
|
||||||
AfkC1gL/AekB8wH/AQABFwEYAv8B6QHzAf8BAAEXARgB/wH5AegB7AH/AQABFwEYAf8BAAEXARgB/wHm
|
Af8BgAIABf8BgAIAAf8BgAIABf8BgAIABf8BgAIAAf8BgAIABf8BgAIAAf8BgAIAAf8BGwIAAf8DAAH/
|
||||||
Ar0B/wHmAsAB/wGmApQB/wNOAZQDXQHSAdsCqAH/AQABFwEYAf8B6gK3Af8B8wLNAv8B7gH8Af8BAAEX
|
A8wR/wMAAf8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHMAv8BTgHM
|
||||||
ARgC/wHSAfUB/wEAARcBGAL/AfQB/AH/AQABFwEYAv8C2AH/AQABFwEYAv8C4gH/A2IB9gNDAXcE/wGZ
|
Av8EAAMmATgDbQH3AfUCxwL/AtIC/wLYAv8C3QL/AuIC/wLoAv8C9AX/A/UB/wOBAfsDWAHGA0cBggMU
|
||||||
AQABHAn/AYACAA3/AYACAAH/AYACAA3/AYACAAH/AYACAAH/A4AB/wGZAk8B/wGZAk8B/wGZAk8B/wGZ
|
ARwDBwEJA14B3QH1As0C/wLPAv8CzQL/AtIC/wLYAv8C3QL/AuIC/wL6Cf8D9QH/A18B8wNTAawDMAFM
|
||||||
Ak8B/wMABf8DBQH/AwAB/wMSAf8DPgH/Az4B/wMABf8DAAH/AZkCTwH/AZkCTwH/A10B0gHbAqgB/wEA
|
AcwCmQH/AZkBAAEbAf8BgAIAAf8BgAIAAf8BgAIADf8BgAIADf8BgAIAAf8BgAIAAf8BgAIAAf8BGwIA
|
||||||
ARcBGAH/AeoCtwH/AQABFwEYAv8B7gH8Af8BAAEXARgC/wHSAfUB/wEAARcBGAL/AfQB/AH/AQABFwEY
|
Af8BGwKZAf8DBAH/A18B/wPAAf8DwAH/A8wB/wMAAf8DEQH/AwAB/wMAAf8DAAH/AwAB/wMRAf8BTgHM
|
||||||
Av8C2AL/At0C/wLiAf8DYgH2A0MBdwNWAbEB1QKiAf8BAAEXARgB/wEAARcBGAH/AQABFwEYAv8B9gL/
|
Av8BTgHMAv8BTgHMAv8DBwEJA14B3QH1As0C/wLPAv8CzQL/AtIC/wLYAv8C3QL/AuIC/wL6Cf8D9QH/
|
||||||
AVcCXQH/AQABFwEYAf8BVwJdAv8B4AHnAf8BVwJdAf8BAAEXARgB/wFXAl0C/wLdAf8DWgHkAzABTAT/
|
A18B8wNTAawDMAFMAz4BagHGArEC/wLZAv8C1AL/As8C/wLNAv8B1AHbAv8B1wHiAv8B5AHqEf8B0gLM
|
||||||
AZkBAAEcCf8BgAIACf8BgAIAEf8BgAIAAf8D8QH/A+oB/wOAAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJP
|
Af8DWgHTA0MBdwHMApkB/wGZAQABGwH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAX/AYACAAX/
|
||||||
Af8DAAn/A5kB/wMSAf8DAAH/AwUB/wMABf8DAAH/AZkCTwH/AZkCTwH/A1YBsQHVAqIB/wFXAl0B/wEA
|
AYACAAH/AYACAAH/AYACAAH/AYACAAH/AYACAAH/ARsCAAH/AU4BzAL/ARsCmQH/AwQB/wMAAf8DAAX/
|
||||||
ARcBGAH/AVcCXQL/AfYC/wEAARcBGAL/AdIB9QH/AQABFwEYAv8B4AHnAf8BAAEXARgB/wEAARcBGAH/
|
AwAB/wMEAf8BpAKgCf8DmQH/AxEB/wMRAf8BTgHMAv8BTgHMAv8DPgFqAcYCsQL/AtkC/wLUAv8CzwL/
|
||||||
AQABFwEYAv8C3QH/A1oB5AMwAUwDMgFQAcMCvxL/AewB8QL/AdsB5wL/AdkB3gL/AtQC/wLPAv8CzQL/
|
As0C/wHUAdsC/wHXAeIC/wHkAeoR/wHSAswB/wNaAdMDQwF3A1YBtgH/AuMB/wEAARYBFwH/AQABFgEX
|
||||||
AtIB/wHGAq0B/wNTAawDFAEbBP8BmQEAARwJ/wGAAgAJ/wGAAgAB/wGAAgAB/wGAAgAB/wGAAgAF/wGA
|
Af8BAAEWARcC/wHeAecB/wEAARYBFwL/AdEB8wH/AQABFgEXAv8B+AL/AVYCXAH/AQABFgEXAf8BVgJc
|
||||||
AgAB/wGAAgAB/wGAAgAB/wEcAgAB/wGZAk8B/wGZAk8B/wGZAk8B/wGZAk8B/wMAAf8DwA3/A8wB/wNI
|
Af8BzAKZAf8BXAJVAeoDTgGUAcwCmQH/AZkBAAEbAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIA
|
||||||
Af8DAAX/AwAB/wGZAk8B/wGZAk8B/wMyAVABwwK/Ev8B7AHxAv8B2wHnAv8B2QHeAv8C1AL/As8C/wLN
|
Bf8BgAIABf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BGwIAAf8BTgHMAv8BTgHMAv8BTgHM
|
||||||
Av8C0gH/AcYCrQH/A1MBrAMUARsEAANaAcAD9Qr/Av4C/wLnAv8C4wL/At4C/wLZAv8C1AL/As8B/wH1
|
Av8BTgHMAv8DAAX/AwAB/wMREf8DzAH/AwAB/wFOAcwC/wFOAcwC/wNWAbYB/wLjAf8BVgJcAf8BAAEW
|
||||||
AscB/wNfAeMDIwE0AwIBAwT/AZkBAAEcAf8BgAIABf8BgAIACf8BgAIACf8BgAIABf8BgAIAAf8D8QH/
|
ARcB/wFWAlwC/wHeAecB/wFWAlwB/wEAARYBFwH/AVYCXAL/AfgC/wEAARYBFwH/AQABFgEXAf8BAAEW
|
||||||
A+oB/wEcAgAB/wGZAk8B/wGZAk8B/wGZAk8B/wGZAk8B/wMSAf8DNgH/A8AZ/wMAAf8BmQJPAf8BmQJP
|
ARcB/wHMApkB/wFcAlUB6gNOAZQDYQHiAf8C5wH/AQABFgEXAv8C3gL/AuAC/wHvAfwB/wEAARYBFwL/
|
||||||
Af8EAANaAcAD9Qr/Av4C/wLnAv8C4wL/At4C/wLZAv8C1AL/As8B/wH1AscB/wNfAeMDIwE0AwIBAwQA
|
AeIB/AH/AQABFgEXAf8B/AHwAfkB/wEAARYBFwH/AcwCmQH/AQABFgEXAf8BzAKZAf8BbQJsAfcDUQGh
|
||||||
AxcBIANiAe8D9Qb/AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/A20B9wMwAU0DBAEGBAAE/wGZ
|
AcwCmQH/AZkBAAEbAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIA
|
||||||
AhwJ/wGAAgAB/wGAAgAJ/wGAAgAB/wGAAgAN/wGAAgAB/wGAAgAB/wOGAf8BmQJPAf8BmQJPAf8BmQJP
|
Af8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BgAIAAf8BGwIAAf8BmQJOAf8BmQJOAf8BmQJOAf8BmQJO
|
||||||
Af8BmQJPAf8BmQJPAf8DEgH/AwAB/wMSAf8DmRH/AwAB/wGZAk8B/wGZAk8B/wQAAxcBIANiAe8D9Qb/
|
Af8DAAX/AwAB/wMAAf8DNQH/A8wN/wMAAf8BmQJOAf8BmQJOAf8DYQHiAf8C5wH/AQABFgEXAv8C3gH/
|
||||||
AvgC/wLsAv8C5wL/AuMC/wLeAv8C2QH/AfUCzQH/A20B9wMwAU0DBAEGDAADFwEgA1oBwAPGAv8C9wL/
|
AQABFgEXAv8B7wH8Af8BAAEWARcC/wHiAfwB/wEAARYBFwH/AfwB8AH5Af8BAAEWARcB/wHMApkB/wHM
|
||||||
AvIC/wLsAv8C5wL/AuMB/wHGArEB/wNeAdADJAE2AwIBAwgABP8BmQIcLf8D8QH/A+oB/wOGAf8BmQJP
|
ApkB/wHMApkB/wFtAmwB9wNRAaEBngKMAf8B6QK+Af8BAAEWARcB/wEAARYBFwH/AfkC1gL/AekB8wH/
|
||||||
Af8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8DEgH/AwAB/wMFAf8DYAH/A8wF/wMA
|
AQABFgEXAf8BAAEWARcB/wEAARYBFwH/AfkB6AHsAf8BAAEWARcB/wHmAroB/wHmAr0B/wHmAsAB/wGm
|
||||||
Af8BmQJPAf8BmQJPAf8IAAMXASADWgHAA8YC/wL3Av8C8gL/AuwC/wLnAv8C4wH/AcYCsQH/A14B0AMk
|
ApQB/wNOAZQ0/wPxAf8D6gH/A4AB/wGZAk4B/wGZAk4B/wGZAk4B/wGZAk4B/wMABf8DAAH/Az0B/wME
|
||||||
ATYDAgEDGAADMgFQA1EBogNdAdIBjAKJAf8DYAHUA1QBpgM3AVoDBQEHEAAI/wHMApkt/wPxAf8DwAH/
|
Af8DAAH/AwAB/wMABf8DAAH/AZkCTgH/AZkCTgH/AZ4CjAH/AekCvgH/AQABFgEXAf8B8wLFAf8B+QLW
|
||||||
BAABmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8BmQJPAf8DBQH/
|
Av8B6QHzAf8BAAEWARcC/wHpAfMB/wEAARYBFwH/AfkB6AHsAf8BAAEWARcB/wEAARYBFwH/AeYCvQH/
|
||||||
AwAB/wM2Af8DEgH/AZkCTwH/FAADMgFQA1EBogNdAdIBjAKJAf8DYAHUA1QBpgM3AVoDBQEHEAABQgFN
|
AeYCwAH/AaYClAH/A04BlANdAdIB2wKoAf8BAAEWARcB/wHqArcB/wHzAs0C/wHuAfwB/wEAARYBFwL/
|
||||||
AT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAeMD/wQAAcED/wQAAYAB/wEIARAFAAF/
|
AdIB9QH/AQABFgEXAv8B9AH8Af8BAAEWARcC/wLYAf8BAAEWARcC/wLiAf8DYgH2A0MBdwT/AZkBAAEb
|
||||||
BwABPwcAAR8GAAGAAQ8GAAHAAQcGAAHgAQMGAAHwAQEGAAH4BwAB/AcAAf4BCAYAAf8HAAH/AYAB/wHw
|
Cf8BgAIADf8BgAIAAf8BgAIADf8BgAIAAf8BgAIAAf8DgAH/AZkCTgH/AZkCTgH/AZkCTgH/AZkCTgH/
|
||||||
BAAB/wHAAf8B+AQAAeABAwIAAYABAQHgAQMBwAEBBAABwAEBAYAFAAGAAQABgAUAAYBBAAGABQABgAEA
|
AwAF/wMEAf8DAAH/AxEB/wM9Af8DPQH/AwAF/wMAAf8BmQJOAf8BmQJOAf8DXQHSAdsCqAH/AQABFgEX
|
||||||
AYABAQQAAYABAQHAAQMEAAHAAQMB8AEPAgABgAEBAfABDws=
|
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>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listChoices.TabIndex" type="System.Int32, mscorlib">
|
<data name="listChoices.TabIndex" type="System.Int32, mscorlib">
|
||||||
@@ -290,7 +318,7 @@
|
|||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listChoices.ZOrder" xml:space="preserve">
|
<data name=">>listChoices.ZOrder" xml:space="preserve">
|
||||||
<value>4</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="textBox1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
@@ -299,7 +327,7 @@
|
|||||||
<value>Courier New, 8pt</value>
|
<value>Courier New, 8pt</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>3, 123</value>
|
<value>3, 153</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textBox1.Multiline" type="System.Boolean, mscorlib">
|
<data name="textBox1.Multiline" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
@@ -308,7 +336,7 @@
|
|||||||
<value>Vertical</value>
|
<value>Vertical</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>569, 3</value>
|
<value>788, 7</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
@@ -323,35 +351,116 @@
|
|||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>textBox1.ZOrder" xml:space="preserve">
|
<data name=">>textBox1.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>1</value>
|
||||||
</data>
|
</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>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>3, 261</value>
|
<value>3, 422</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listTracks.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
|
||||||
<value>569, 156</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listTracks.TabIndex" type="System.Int32, mscorlib">
|
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>3</value>
|
<value>788, 35</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="listTracks.Visible" type="System.Boolean, mscorlib">
|
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>False</value>
|
<value>30</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listTracks.Name" xml:space="preserve">
|
<data name=">>tableLayoutPanel2.Name" xml:space="preserve">
|
||||||
<value>listTracks</value>
|
<value>tableLayoutPanel2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listTracks.Type" xml:space="preserve">
|
<data name=">>tableLayoutPanel2.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listTracks.Parent" xml:space="preserve">
|
<data name=">>tableLayoutPanel2.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
</data>
|
</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>
|
<value>3</value>
|
||||||
</data>
|
</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">
|
<data name="Title.DisplayIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -359,7 +468,7 @@
|
|||||||
<value>Title</value>
|
<value>Title</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Title.Width" type="System.Int32, mscorlib">
|
<data name="Title.Width" type="System.Int32, mscorlib">
|
||||||
<value>360</value>
|
<value>210</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TrackNo.DisplayIndex" type="System.Int32, mscorlib">
|
<data name="TrackNo.DisplayIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@@ -382,47 +491,59 @@
|
|||||||
<data name="Length.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
<data name="Length.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
|
||||||
<value>Right</value>
|
<value>Right</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
|
<data name="listTracks.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>1</value>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listMetadata.Name" xml:space="preserve">
|
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>listMetadata</value>
|
<value>397, 3</value>
|
||||||
</data>
|
</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>
|
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listMetadata.Parent" xml:space="preserve">
|
<data name=">>listTracks.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanelMeta</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>listMetadata.ZOrder" xml:space="preserve">
|
<data name=">>listTracks.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">
|
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
<data name="tableLayoutPanelMeta.Dock" type="System.Windows.Forms.DockStyle, 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>
|
<value>Fill</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pictureBox1.Name" xml:space="preserve">
|
<data name="tableLayoutPanelMeta.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>pictureBox1</value>
|
<value>3, 179</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pictureBox1.Type" xml:space="preserve">
|
<data name="tableLayoutPanelMeta.RowCount" type="System.Int32, mscorlib">
|
||||||
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>1</value>
|
||||||
</data>
|
</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>
|
<value>tableLayoutPanel1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pictureBox1.ZOrder" xml:space="preserve">
|
<data name=">>tableLayoutPanelMeta.ZOrder" xml:space="preserve">
|
||||||
<value>5</value>
|
<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>
|
||||||
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
@@ -431,10 +552,10 @@
|
|||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
|
||||||
<value>6</value>
|
<value>5</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>575, 460</value>
|
<value>794, 460</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>29</value>
|
<value>29</value>
|
||||||
@@ -452,112 +573,7 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
<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>
|
<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>
|
|
||||||
<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>
|
|
||||||
</data>
|
</data>
|
||||||
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>127, 17</value>
|
<value>127, 17</value>
|
||||||
@@ -572,7 +588,7 @@
|
|||||||
<value>6, 13</value>
|
<value>6, 13</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>575, 460</value>
|
<value>794, 460</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>591, 496</value>
|
<value>591, 496</value>
|
||||||
@@ -595,6 +611,12 @@
|
|||||||
<data name=">>imageList1.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</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">
|
<data name=">>Title.Name" xml:space="preserve">
|
||||||
<value>Title</value>
|
<value>Title</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -619,24 +641,18 @@
|
|||||||
<data name=">>Length.Type" xml:space="preserve">
|
<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>
|
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>columnHeader2.Name" xml:space="preserve">
|
<data name=">>columnHeaderMetadataValue.Name" xml:space="preserve">
|
||||||
<value>columnHeader2</value>
|
<value>columnHeaderMetadataValue</value>
|
||||||
</data>
|
</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>
|
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>columnHeader3.Name" xml:space="preserve">
|
<data name=">>columnHeaderMetadataName.Name" xml:space="preserve">
|
||||||
<value>columnHeader3</value>
|
<value>columnHeaderMetadataName</value>
|
||||||
</data>
|
</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>
|
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</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">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>frmChoice</value>
|
<value>frmChoice</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
Reference in New Issue
Block a user