mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
bug 13: CUERipper didn't report track quality
This commit is contained in:
@@ -381,8 +381,7 @@ namespace CUERipper
|
|||||||
toolStripStatusLabel1.Text = status;
|
toolStripStatusLabel1.Text = status;
|
||||||
toolStripProgressBar1.Value = Math.Max(0, Math.Min(100, (int)(percentTrck * 100)));
|
toolStripProgressBar1.Value = Math.Max(0, Math.Min(100, (int)(percentTrck * 100)));
|
||||||
|
|
||||||
progressBarErrors.Maximum = (int)(Math.Log(e.PassEnd - e.PassStart + 1) * 10);
|
progressBarErrors.Value = Math.Min(progressBarErrors.Maximum, (int)(100 * Math.Log(e.ErrorsCount / 10.0 + 1) / Math.Log((e.PassEnd - e.PassStart) / 10.0 + 1)));
|
||||||
progressBarErrors.Value = Math.Min(progressBarErrors.Maximum, (int)(Math.Log(e.ErrorsCount + 1) * 10));
|
|
||||||
progressBarErrors.Enabled = e.Pass >= audioSource.CorrectionQuality;
|
progressBarErrors.Enabled = e.Pass >= audioSource.CorrectionQuality;
|
||||||
|
|
||||||
progressBarCD.Maximum = (int) audioSource.TOC.AudioLength;
|
progressBarCD.Maximum = (int) audioSource.TOC.AudioLength;
|
||||||
@@ -408,7 +407,7 @@ namespace CUERipper
|
|||||||
cueSheet.CTDB.Submit(
|
cueSheet.CTDB.Submit(
|
||||||
(int)cueSheet.ArVerify.WorstConfidence() + 1,
|
(int)cueSheet.ArVerify.WorstConfidence() + 1,
|
||||||
audioSource.CorrectionQuality == 0 ? 0 :
|
audioSource.CorrectionQuality == 0 ? 0 :
|
||||||
100 - (int)(7 * Math.Log(audioSource.ErrorsCount + 1)), // ErrorsCount==1 ~= 95, ErrorsCount==max ~= 5;
|
(int)(100 * (1.0 - Math.Log(audioSource.ErrorsCount + 1) / Math.Log(audioSource.TOC.AudioLength + 1))),
|
||||||
cueSheet.Metadata.Artist,
|
cueSheet.Metadata.Artist,
|
||||||
cueSheet.Metadata.Title,
|
cueSheet.Metadata.Title,
|
||||||
cueSheet.TOC.Barcode);
|
cueSheet.TOC.Barcode);
|
||||||
@@ -1376,17 +1375,6 @@ namespace CUERipper
|
|||||||
tt.FrameOffset = 150 + (int)selectedDriveInfo.drive.TOC[i].Start;
|
tt.FrameOffset = 150 + (int)selectedDriveInfo.drive.TOC[i].Start;
|
||||||
entry.Tracks.Add(tt);
|
entry.Tracks.Add(tt);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
foreach (CUETrackMetadata t in data.selectedRelease.metadata.Tracks)
|
|
||||||
{
|
|
||||||
Freedb.Track tt = new Freedb.Track();
|
|
||||||
if (t.Artist != "" && t.Artist != entry.Artist)
|
|
||||||
tt.Title = t.Artist + " / " + t.Title;
|
|
||||||
else
|
|
||||||
tt.Title = t.Title;
|
|
||||||
tt.FrameOffset = 150 + (int)selectedDriveInfo.drive.TOC[i++].Start;
|
|
||||||
entry.Tracks.Add(tt);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
FreedbHelper m_freedb = new FreedbHelper();
|
FreedbHelper m_freedb = new FreedbHelper();
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,15 @@ namespace CUETools.Processor
|
|||||||
|
|
||||||
#region EAC
|
#region EAC
|
||||||
|
|
||||||
|
private static double GetRangeQuality(CUESheet sheet, uint start, uint length)
|
||||||
|
{
|
||||||
|
int errCount = 0;
|
||||||
|
for (uint iSector = start; iSector < start + length; iSector++)
|
||||||
|
if (sheet.CDRipper.Errors[(int)iSector - (int)sheet.TOC[sheet.TOC.FirstAudio][0].Start])
|
||||||
|
errCount++;
|
||||||
|
return 100 * (1.0 - Math.Log(errCount / 5.0 + 1) / Math.Log(length / 5.0 + 1));
|
||||||
|
}
|
||||||
|
|
||||||
public static string GetExactAudioCopyLog(CUESheet sheet)
|
public static string GetExactAudioCopyLog(CUESheet sheet)
|
||||||
{
|
{
|
||||||
StringWriter logWriter = new StringWriter(CultureInfo.InvariantCulture);
|
StringWriter logWriter = new StringWriter(CultureInfo.InvariantCulture);
|
||||||
@@ -149,7 +158,7 @@ namespace CUETools.Processor
|
|||||||
|
|
||||||
logWriter.WriteLine();
|
logWriter.WriteLine();
|
||||||
logWriter.WriteLine(" Peak level {0:F1} %", (sheet.ArVerify.PeakLevel(track + 1) * 1000 / 65534) * 0.1);
|
logWriter.WriteLine(" Peak level {0:F1} %", (sheet.ArVerify.PeakLevel(track + 1) * 1000 / 65534) * 0.1);
|
||||||
logWriter.WriteLine(" Track quality 100.0 %");
|
logWriter.WriteLine(" Track quality {0:F1} %", GetRangeQuality(sheet, sheet.TOC[track + sheet.TOC.FirstAudio].Start, sheet.TOC[track + sheet.TOC.FirstAudio].Length));
|
||||||
if (sheet.ArTestVerify != null)
|
if (sheet.ArTestVerify != null)
|
||||||
logWriter.WriteLine(" Test CRC {0:X8}", sheet.ArTestVerify.CRC32(track + 1));
|
logWriter.WriteLine(" Test CRC {0:X8}", sheet.ArTestVerify.CRC32(track + 1));
|
||||||
logWriter.WriteLine(" Copy CRC {0:X8}", sheet.ArVerify.CRC32(track + 1));
|
logWriter.WriteLine(" Copy CRC {0:X8}", sheet.ArVerify.CRC32(track + 1));
|
||||||
@@ -181,7 +190,7 @@ namespace CUETools.Processor
|
|||||||
wereErrors = sheet.PrintErrors(logWriter, sheet.TOC[sheet.TOC.FirstAudio][0].Start, sheet.TOC.AudioLength);
|
wereErrors = sheet.PrintErrors(logWriter, sheet.TOC[sheet.TOC.FirstAudio][0].Start, sheet.TOC.AudioLength);
|
||||||
logWriter.WriteLine();
|
logWriter.WriteLine();
|
||||||
logWriter.WriteLine(" Peak level {0:F1} %", (sheet.ArVerify.PeakLevel() * 1000 / 65535) * 0.1);
|
logWriter.WriteLine(" Peak level {0:F1} %", (sheet.ArVerify.PeakLevel() * 1000 / 65535) * 0.1);
|
||||||
logWriter.WriteLine(" Range quality 100.0 %");
|
logWriter.WriteLine(" Range quality {0:F1} %", GetRangeQuality(sheet, sheet.TOC[sheet.TOC.FirstAudio][0].Start, sheet.TOC.AudioLength));
|
||||||
if (sheet.ArTestVerify != null)
|
if (sheet.ArTestVerify != null)
|
||||||
logWriter.WriteLine(" Test CRC {0:X8}", sheet.ArTestVerify.CRC32(0));
|
logWriter.WriteLine(" Test CRC {0:X8}", sheet.ArTestVerify.CRC32(0));
|
||||||
logWriter.WriteLine(" Copy CRC {0:X8}", sheet.ArVerify.CRC32(0));
|
logWriter.WriteLine(" Copy CRC {0:X8}", sheet.ArVerify.CRC32(0));
|
||||||
|
|||||||
Reference in New Issue
Block a user