mirror of
https://github.com/claunia/cuetools.net.git
synced 2025-12-16 18:14:25 +00:00
fix
This commit is contained in:
@@ -805,6 +805,11 @@ namespace CUETools.Processor
|
|||||||
if (General.FindCUELine(_attributes, "REM", "GENRE") == null && GetCommonTag("GENRE") != null)
|
if (General.FindCUELine(_attributes, "REM", "GENRE") == null && GetCommonTag("GENRE") != null)
|
||||||
General.SetCUELine(_attributes, "REM", "GENRE", GetCommonTag("GENRE"), true);
|
General.SetCUELine(_attributes, "REM", "GENRE", GetCommonTag("GENRE"), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CUELine cddbDiscIdLine = General.FindCUELine(_attributes, "REM", "DISCID");
|
||||||
|
_cddbDiscIdTag = cddbDiscIdLine != null && cddbDiscIdLine.Params.Count == 3 ? cddbDiscIdLine.Params[2] : null;
|
||||||
|
if (_cddbDiscIdTag == null) _cddbDiscIdTag = GetCommonTag("DISCID");
|
||||||
|
|
||||||
if (_accurateRipId == null)
|
if (_accurateRipId == null)
|
||||||
_accurateRipId = GetCommonTag("ACCURATERIPID");
|
_accurateRipId = GetCommonTag("ACCURATERIPID");
|
||||||
|
|
||||||
@@ -833,23 +838,27 @@ namespace CUETools.Processor
|
|||||||
_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(tocFromLog);
|
_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(tocFromLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
CUELine cddbDiscIdLine = General.FindCUELine(_attributes, "REM", "DISCID");
|
if (_accurateRipId == null && _dataTrackLength != null)
|
||||||
_cddbDiscIdTag = cddbDiscIdLine != null && cddbDiscIdLine.Params.Count == 3 ? cddbDiscIdLine.Params[2] : null;
|
|
||||||
if (_cddbDiscIdTag == null) _cddbDiscIdTag = GetCommonTag("DISCID");
|
|
||||||
|
|
||||||
if (_dataTrackLength != null)
|
|
||||||
{
|
{
|
||||||
CDImageLayout toc2 = new CDImageLayout(_toc);
|
CDImageLayout toc2 = new CDImageLayout(_toc);
|
||||||
toc2.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152U * 75U, _dataTrackLength.Value, false));
|
toc2.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152U * 75U, _dataTrackLength.Value, false));
|
||||||
_accurateRipIdActual = _accurateRipId = AccurateRipVerify.CalculateAccurateRipId(toc2);
|
_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(toc2);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if (_dataTrackLength == null && _cddbDiscIdTag != null)
|
||||||
{
|
{
|
||||||
_accurateRipIdActual = AccurateRipVerify.CalculateAccurateRipId(_toc);
|
uint cddbDiscIdNum;
|
||||||
if (_accurateRipId == null)
|
if (uint.TryParse(_cddbDiscIdTag, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out cddbDiscIdNum) && (cddbDiscIdNum & 0xff) == TrackCount + 1)
|
||||||
_accurateRipId = _accurateRipIdActual;
|
{
|
||||||
|
uint lengthFromTag = ((cddbDiscIdNum >> 8) & 0xffff);
|
||||||
|
_minDataTrackLength = ((lengthFromTag + _toc[1].Start / 75) - 152) * 75 - _toc.Length;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_accurateRipIdActual = AccurateRipVerify.CalculateAccurateRipId(_toc);
|
||||||
|
if (_accurateRipId == null)
|
||||||
|
_accurateRipId = _accurateRipIdActual;
|
||||||
|
|
||||||
_arVerify = new AccurateRipVerify(_toc);
|
_arVerify = new AccurateRipVerify(_toc);
|
||||||
|
|
||||||
//if (!_dataTrackLength.HasValue && _cddbDiscIdTag != null)
|
//if (!_dataTrackLength.HasValue && _cddbDiscIdTag != null)
|
||||||
@@ -1484,7 +1493,7 @@ namespace CUETools.Processor
|
|||||||
toc2.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152 * 75, minDTL, false));
|
toc2.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152 * 75, minDTL, false));
|
||||||
for (uint dtl = minDTL; dtl < minDTL + 75; dtl++)
|
for (uint dtl = minDTL; dtl < minDTL + 75; dtl++)
|
||||||
{
|
{
|
||||||
toc2[_toc.TrackCount].Length = dtl;
|
toc2[toc2.TrackCount].Length = dtl;
|
||||||
_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(toc2);
|
_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(toc2);
|
||||||
_arVerify.ContactAccurateRip(_accurateRipId);
|
_arVerify.ContactAccurateRip(_accurateRipId);
|
||||||
if (_arVerify.AccResult != HttpStatusCode.NotFound)
|
if (_arVerify.AccResult != HttpStatusCode.NotFound)
|
||||||
|
|||||||
Reference in New Issue
Block a user