mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
General code cleanup and style refactor.
This commit is contained in:
@@ -30,8 +30,6 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Aaru.CommonTypes.Enums;
|
||||
@@ -39,6 +37,8 @@ using Aaru.CommonTypes.Interfaces;
|
||||
using Aaru.CommonTypes.Structs;
|
||||
using Aaru.Decoders.CD;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
// TODO: Doesn't support compositing from several files
|
||||
// TODO: Doesn't support silences that are not in files
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using Aaru.CommonTypes.Enums;
|
||||
using Aaru.CommonTypes.Structs;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
static ushort CdrdaoTrackTypeToCookedBytesPerSector(string trackType)
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
@@ -39,6 +37,8 @@ using Aaru.CommonTypes.Interfaces;
|
||||
using Aaru.Console;
|
||||
using Aaru.Helpers;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
/// <inheritdoc />
|
||||
@@ -47,14 +47,14 @@ public sealed partial class Cdrdao
|
||||
try
|
||||
{
|
||||
imageFilter.GetDataForkStream().Seek(0, SeekOrigin.Begin);
|
||||
var testArray = new byte[512];
|
||||
byte[] testArray = new byte[512];
|
||||
imageFilter.GetDataForkStream().EnsureRead(testArray, 0, 512);
|
||||
imageFilter.GetDataForkStream().Seek(0, SeekOrigin.Begin);
|
||||
|
||||
// Check for unexpected control characters that shouldn't be present in a text file and can crash this plugin
|
||||
var twoConsecutiveNulls = false;
|
||||
bool twoConsecutiveNulls = false;
|
||||
|
||||
for(var i = 0; i < 512; i++)
|
||||
for(int i = 0; i < 512; i++)
|
||||
{
|
||||
if(i >= imageFilter.GetDataForkStream().Length)
|
||||
break;
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -40,6 +38,8 @@ using Aaru.CommonTypes.Enums;
|
||||
using Aaru.CommonTypes.Structs;
|
||||
using Schemas;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
@@ -46,6 +44,8 @@ using Aaru.Console;
|
||||
using Aaru.Decoders.CD;
|
||||
using Session = Aaru.CommonTypes.Structs.Session;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
/// <inheritdoc />
|
||||
@@ -60,7 +60,7 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
imageFilter.GetDataForkStream().Seek(0, SeekOrigin.Begin);
|
||||
_tocStream = new StreamReader(imageFilter.GetDataForkStream());
|
||||
var inTrack = false;
|
||||
bool inTrack = false;
|
||||
|
||||
// Initialize all RegExs
|
||||
var regexComment = new Regex(REGEX_COMMENT);
|
||||
@@ -108,12 +108,12 @@ public sealed partial class Cdrdao
|
||||
currentTrack.Indexes = new Dictionary<int, ulong>();
|
||||
currentTrack.Pregap = 0;
|
||||
ulong currentSector = 0;
|
||||
var nextIndex = 2;
|
||||
int nextIndex = 2;
|
||||
var commentBuilder = new StringBuilder();
|
||||
|
||||
_tocStream = new StreamReader(_cdrdaoFilter.GetDataForkStream());
|
||||
string line;
|
||||
var lineNumber = 0;
|
||||
int lineNumber = 0;
|
||||
|
||||
while(_tocStream.Peek() >= 0)
|
||||
{
|
||||
@@ -196,13 +196,13 @@ public sealed partial class Cdrdao
|
||||
_discimage.Disktypestr = matchDiskType.Groups["type"].Value;
|
||||
|
||||
_discimage.Disktype = matchDiskType.Groups["type"].Value switch
|
||||
{
|
||||
"CD_DA" => MediaType.CDDA,
|
||||
"CD_ROM" => MediaType.CDROM,
|
||||
"CD_ROM_XA" => MediaType.CDROMXA,
|
||||
"CD_I" => MediaType.CDI,
|
||||
_ => MediaType.CD
|
||||
};
|
||||
{
|
||||
"CD_DA" => MediaType.CDDA,
|
||||
"CD_ROM" => MediaType.CDROM,
|
||||
"CD_ROM_XA" => MediaType.CDROMXA,
|
||||
"CD_I" => MediaType.CDI,
|
||||
_ => MediaType.CD
|
||||
};
|
||||
}
|
||||
else if(matchMcn.Success)
|
||||
{
|
||||
@@ -286,8 +286,8 @@ public sealed partial class Cdrdao
|
||||
break;
|
||||
default:
|
||||
{
|
||||
AaruConsole.
|
||||
ErrorWriteLine($"Track subchannel mode {matchTrack.Groups["subchan"].Value} is unsupported");
|
||||
AaruConsole.ErrorWriteLine($"Track subchannel mode {matchTrack.Groups["subchan"].Value
|
||||
} is unsupported");
|
||||
|
||||
return ErrorNumber.NotSupported;
|
||||
}
|
||||
@@ -334,8 +334,8 @@ public sealed partial class Cdrdao
|
||||
|
||||
string[] lengthString = matchFile.Groups["length"].Value.Split(':');
|
||||
|
||||
ulong nextIndexPos = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 +
|
||||
ulong.Parse(lengthString[2]);
|
||||
ulong nextIndexPos = (ulong.Parse(lengthString[0]) * 60 * 75) +
|
||||
(ulong.Parse(lengthString[1]) * 75) + ulong.Parse(lengthString[2]);
|
||||
|
||||
currentTrack.Indexes.Add(nextIndex, nextIndexPos + currentTrack.Pregap + currentTrack.StartSector);
|
||||
}
|
||||
@@ -350,8 +350,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
string[] lengthString = matchPregap.Groups["address"].Value.Split(':');
|
||||
|
||||
currentTrack.Pregap = ulong.Parse(lengthString[0]) * 60 * 75 +
|
||||
ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]);
|
||||
currentTrack.Pregap = (ulong.Parse(lengthString[0]) * 60 * 75) +
|
||||
(ulong.Parse(lengthString[1]) * 75) + ulong.Parse(lengthString[2]);
|
||||
}
|
||||
else
|
||||
currentTrack.Pregap = currentTrack.Sectors;
|
||||
@@ -364,8 +364,8 @@ public sealed partial class Cdrdao
|
||||
currentTrack.Indexes.Add(0, currentTrack.StartSector);
|
||||
string[] lengthString = matchZeroPregap.Groups["length"].Value.Split(':');
|
||||
|
||||
currentTrack.Pregap = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 +
|
||||
ulong.Parse(lengthString[2]);
|
||||
currentTrack.Pregap = (ulong.Parse(lengthString[0]) * 60 * 75) +
|
||||
(ulong.Parse(lengthString[1]) * 75) + ulong.Parse(lengthString[2]);
|
||||
}
|
||||
else if(matchZeroData.Success)
|
||||
AaruConsole.DebugWriteLine("CDRDAO plugin", "Found ZERO \"{1}\" at line {0}", lineNumber,
|
||||
@@ -402,8 +402,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
string[] startString = matchAudioFile.Groups["start"].Value.Split(':');
|
||||
|
||||
startSectors = ulong.Parse(startString[0]) * 60 * 75 + ulong.Parse(startString[1]) * 75 +
|
||||
ulong.Parse(startString[2]);
|
||||
startSectors = (ulong.Parse(startString[0]) * 60 * 75) +
|
||||
(ulong.Parse(startString[1]) * 75) + ulong.Parse(startString[2]);
|
||||
}
|
||||
|
||||
currentTrack.Trackfile.Offset += startSectors * currentTrack.Bps;
|
||||
@@ -412,8 +412,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
string[] lengthString = matchAudioFile.Groups["length"].Value.Split(':');
|
||||
|
||||
currentTrack.Sectors = ulong.Parse(lengthString[0]) * 60 * 75 +
|
||||
ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]);
|
||||
currentTrack.Sectors = (ulong.Parse(lengthString[0]) * 60 * 75) +
|
||||
(ulong.Parse(lengthString[1]) * 75) + ulong.Parse(lengthString[2]);
|
||||
}
|
||||
else
|
||||
currentTrack.Sectors =
|
||||
@@ -443,8 +443,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
string[] lengthString = matchFile.Groups["length"].Value.Split(':');
|
||||
|
||||
currentTrack.Sectors = ulong.Parse(lengthString[0]) * 60 * 75 +
|
||||
ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]);
|
||||
currentTrack.Sectors = (ulong.Parse(lengthString[0]) * 60 * 75) +
|
||||
(ulong.Parse(lengthString[1]) * 75) + ulong.Parse(lengthString[2]);
|
||||
}
|
||||
else
|
||||
currentTrack.Sectors =
|
||||
@@ -614,7 +614,7 @@ public sealed partial class Cdrdao
|
||||
AaruConsole.DebugWriteLine("CDRDAO plugin", "Track information:");
|
||||
AaruConsole.DebugWriteLine("CDRDAO plugin", "\tDisc contains {0} tracks", _discimage.Tracks.Count);
|
||||
|
||||
for(var i = 0; i < _discimage.Tracks.Count; i++)
|
||||
for(int i = 0; i < _discimage.Tracks.Count; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("CDRDAO plugin", "\tTrack {0} information:", _discimage.Tracks[i].Sequence);
|
||||
|
||||
@@ -686,7 +686,7 @@ public sealed partial class Cdrdao
|
||||
ulong byteOffset = 0;
|
||||
ulong partitionSequence = 0;
|
||||
|
||||
for(var i = 0; i < _discimage.Tracks.Count; i++)
|
||||
for(int i = 0; i < _discimage.Tracks.Count; i++)
|
||||
{
|
||||
if(_discimage.Tracks[i].Sequence == 1 &&
|
||||
i != 0)
|
||||
@@ -954,7 +954,7 @@ public sealed partial class Cdrdao
|
||||
uint sectorOffset;
|
||||
uint sectorSize;
|
||||
uint sectorSkip;
|
||||
var mode2 = false;
|
||||
bool mode2 = false;
|
||||
|
||||
switch(aaruTrack.Tracktype)
|
||||
{
|
||||
@@ -1031,9 +1031,9 @@ public sealed partial class Cdrdao
|
||||
|
||||
buffer = br.ReadBytes((int)((sectorSize + sectorSkip) * length));
|
||||
|
||||
for(var i = 0; i < length; i++)
|
||||
for(int i = 0; i < length; i++)
|
||||
{
|
||||
var sector = new byte[sectorSize];
|
||||
byte[] sector = new byte[sectorSize];
|
||||
Array.Copy(buffer, (sectorSize + sectorSkip) * i, sector, 0, sectorSize);
|
||||
sector = Sector.GetUserDataFromMode2(sector);
|
||||
mode2Ms.Write(sector, 0, sector.Length);
|
||||
@@ -1045,7 +1045,7 @@ public sealed partial class Cdrdao
|
||||
sectorSkip == 0)
|
||||
buffer = br.ReadBytes((int)(sectorSize * length));
|
||||
else
|
||||
for(var i = 0; i < length; i++)
|
||||
for(int i = 0; i < length; i++)
|
||||
{
|
||||
br.BaseStream.Seek(sectorOffset, SeekOrigin.Current);
|
||||
byte[] sector = br.ReadBytes((int)sectorSize);
|
||||
@@ -1057,7 +1057,7 @@ public sealed partial class Cdrdao
|
||||
if(aaruTrack.Tracktype != CDRDAO_TRACK_TYPE_AUDIO)
|
||||
return ErrorNumber.NoError;
|
||||
|
||||
var swapped = new byte[buffer.Length];
|
||||
byte[] swapped = new byte[buffer.Length];
|
||||
|
||||
for(long i = 0; i < buffer.Length; i += 2)
|
||||
{
|
||||
@@ -1264,7 +1264,7 @@ public sealed partial class Cdrdao
|
||||
sectorSkip == 0)
|
||||
buffer = br.ReadBytes((int)(sectorSize * length));
|
||||
else
|
||||
for(var i = 0; i < length; i++)
|
||||
for(int i = 0; i < length; i++)
|
||||
{
|
||||
br.BaseStream.Seek(sectorOffset, SeekOrigin.Current);
|
||||
byte[] sector = br.ReadBytes((int)sectorSize);
|
||||
@@ -1376,11 +1376,10 @@ public sealed partial class Cdrdao
|
||||
br.BaseStream.Seek((long)aaruTrack.Trackfile.Offset + (long)(sectorAddress * (sectorSize + sectorSkip)),
|
||||
SeekOrigin.Begin);
|
||||
|
||||
if(
|
||||
sectorSkip == 0)
|
||||
if(sectorSkip == 0)
|
||||
buffer = br.ReadBytes((int)(sectorSize * length));
|
||||
else
|
||||
for(var i = 0; i < length; i++)
|
||||
for(int i = 0; i < length; i++)
|
||||
{
|
||||
br.BaseStream.Seek(sectorOffset, SeekOrigin.Current);
|
||||
byte[] sector = br.ReadBytes((int)sectorSize);
|
||||
@@ -1393,8 +1392,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
case CDRDAO_TRACK_TYPE_MODE1:
|
||||
{
|
||||
var fullSector = new byte[2352];
|
||||
var fullBuffer = new byte[2352 * length];
|
||||
byte[] fullSector = new byte[2352];
|
||||
byte[] fullBuffer = new byte[2352 * length];
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
@@ -1410,8 +1409,8 @@ public sealed partial class Cdrdao
|
||||
}
|
||||
case CDRDAO_TRACK_TYPE_MODE2_FORM1:
|
||||
{
|
||||
var fullSector = new byte[2352];
|
||||
var fullBuffer = new byte[2352 * length];
|
||||
byte[] fullSector = new byte[2352];
|
||||
byte[] fullBuffer = new byte[2352 * length];
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
@@ -1429,8 +1428,8 @@ public sealed partial class Cdrdao
|
||||
}
|
||||
case CDRDAO_TRACK_TYPE_MODE2_FORM2:
|
||||
{
|
||||
var fullSector = new byte[2352];
|
||||
var fullBuffer = new byte[2352 * length];
|
||||
byte[] fullSector = new byte[2352];
|
||||
byte[] fullBuffer = new byte[2352 * length];
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
@@ -1449,8 +1448,8 @@ public sealed partial class Cdrdao
|
||||
case CDRDAO_TRACK_TYPE_MODE2:
|
||||
case CDRDAO_TRACK_TYPE_MODE2_MIX:
|
||||
{
|
||||
var fullSector = new byte[2352];
|
||||
var fullBuffer = new byte[2352 * length];
|
||||
byte[] fullSector = new byte[2352];
|
||||
byte[] fullBuffer = new byte[2352 * length];
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
@@ -1469,7 +1468,7 @@ public sealed partial class Cdrdao
|
||||
// cdrdao audio tracks are endian swapped corresponding to Aaru
|
||||
case CDRDAO_TRACK_TYPE_AUDIO:
|
||||
{
|
||||
var swapped = new byte[buffer.Length];
|
||||
byte[] swapped = new byte[buffer.Length];
|
||||
|
||||
for(long i = 0; i < buffer.Length; i += 2)
|
||||
{
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Aaru.CommonTypes;
|
||||
using Aaru.CommonTypes.Interfaces;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
[SuppressMessage("ReSharper", "NotAccessedField.Local")]
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Aaru.Checksums;
|
||||
using Aaru.CommonTypes.Enums;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
/// <inheritdoc />
|
||||
@@ -58,10 +58,10 @@ public sealed partial class Cdrdao
|
||||
if(errno != ErrorNumber.NoError)
|
||||
return null;
|
||||
|
||||
var bps = (int)(buffer.Length / length);
|
||||
var sector = new byte[bps];
|
||||
int bps = (int)(buffer.Length / length);
|
||||
byte[] sector = new byte[bps];
|
||||
|
||||
for(var i = 0; i < length; i++)
|
||||
for(int i = 0; i < length; i++)
|
||||
{
|
||||
Array.Copy(buffer, i * bps, sector, 0, bps);
|
||||
bool? sectorStatus = CdChecksums.CheckCdSector(sector);
|
||||
@@ -96,10 +96,10 @@ public sealed partial class Cdrdao
|
||||
if(errno != ErrorNumber.NoError)
|
||||
return null;
|
||||
|
||||
var bps = (int)(buffer.Length / length);
|
||||
var sector = new byte[bps];
|
||||
int bps = (int)(buffer.Length / length);
|
||||
byte[] sector = new byte[bps];
|
||||
|
||||
for(var i = 0; i < length; i++)
|
||||
for(int i = 0; i < length; i++)
|
||||
{
|
||||
Array.Copy(buffer, i * bps, sector, 0, bps);
|
||||
bool? sectorStatus = CdChecksums.CheckCdSector(sector);
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
@@ -43,6 +41,8 @@ using Aaru.CommonTypes.Structs;
|
||||
using Schemas;
|
||||
using TrackType = Aaru.CommonTypes.Enums.TrackType;
|
||||
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class Cdrdao
|
||||
{
|
||||
/// <inheritdoc />
|
||||
@@ -183,7 +183,7 @@ public sealed partial class Cdrdao
|
||||
// cdrdao audio tracks are endian swapped corresponding to Aaru
|
||||
if(track.Type == TrackType.Audio)
|
||||
{
|
||||
var swapped = new byte[data.Length];
|
||||
byte[] swapped = new byte[data.Length];
|
||||
|
||||
for(long i = 0; i < swapped.Length; i += 2)
|
||||
{
|
||||
@@ -195,7 +195,7 @@ public sealed partial class Cdrdao
|
||||
}
|
||||
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (sectorAddress - track.StartSector) * (ulong)track.RawBytesPerSector),
|
||||
Seek((long)(track.FileOffset + ((sectorAddress - track.StartSector) * (ulong)track.RawBytesPerSector)),
|
||||
SeekOrigin.Begin);
|
||||
|
||||
trackStream.Write(data, 0, data.Length);
|
||||
@@ -256,7 +256,7 @@ public sealed partial class Cdrdao
|
||||
// cdrdao audio tracks are endian swapped corresponding to Aaru
|
||||
if(track.Type == TrackType.Audio)
|
||||
{
|
||||
var swapped = new byte[data.Length];
|
||||
byte[] swapped = new byte[data.Length];
|
||||
|
||||
for(long i = 0; i < swapped.Length; i += 2)
|
||||
{
|
||||
@@ -271,7 +271,7 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
case TrackSubchannelType.None:
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (sectorAddress - track.StartSector) * (ulong)track.RawBytesPerSector),
|
||||
Seek((long)(track.FileOffset + ((sectorAddress - track.StartSector) * (ulong)track.RawBytesPerSector)),
|
||||
SeekOrigin.Begin);
|
||||
|
||||
trackStream.Write(data, 0, data.Length);
|
||||
@@ -282,7 +282,7 @@ public sealed partial class Cdrdao
|
||||
case TrackSubchannelType.Raw:
|
||||
case TrackSubchannelType.RawInterleaved:
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + 96)),
|
||||
Seek((long)(track.FileOffset + ((sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + 96))),
|
||||
SeekOrigin.Begin);
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
@@ -340,7 +340,7 @@ public sealed partial class Cdrdao
|
||||
// cdrdao audio tracks are endian swapped corresponding to Aaru
|
||||
if(track.Type == TrackType.Audio)
|
||||
{
|
||||
var swapped = new byte[data.Length];
|
||||
byte[] swapped = new byte[data.Length];
|
||||
|
||||
for(long i = 0; i < swapped.Length; i += 2)
|
||||
{
|
||||
@@ -351,10 +351,10 @@ public sealed partial class Cdrdao
|
||||
data = swapped;
|
||||
}
|
||||
|
||||
var subchannelSize = (uint)(track.SubchannelType != TrackSubchannelType.None ? 96 : 0);
|
||||
uint subchannelSize = (uint)(track.SubchannelType != TrackSubchannelType.None ? 96 : 0);
|
||||
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + subchannelSize)),
|
||||
Seek((long)(track.FileOffset + ((sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + subchannelSize))),
|
||||
SeekOrigin.Begin);
|
||||
|
||||
trackStream.Write(data, 0, data.Length);
|
||||
@@ -408,7 +408,7 @@ public sealed partial class Cdrdao
|
||||
// cdrdao audio tracks are endian swapped corresponding to Aaru
|
||||
if(track.Type == TrackType.Audio)
|
||||
{
|
||||
var swapped = new byte[data.Length];
|
||||
byte[] swapped = new byte[data.Length];
|
||||
|
||||
for(long i = 0; i < swapped.Length; i += 2)
|
||||
{
|
||||
@@ -419,12 +419,12 @@ public sealed partial class Cdrdao
|
||||
data = swapped;
|
||||
}
|
||||
|
||||
var subchannelSize = (uint)(track.SubchannelType != TrackSubchannelType.None ? 96 : 0);
|
||||
uint subchannelSize = (uint)(track.SubchannelType != TrackSubchannelType.None ? 96 : 0);
|
||||
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (i + sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + subchannelSize)),
|
||||
Seek((long)(track.FileOffset + ((i + sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + subchannelSize))),
|
||||
SeekOrigin.Begin);
|
||||
|
||||
trackStream.Write(data, (int)(i * track.RawBytesPerSector), track.RawBytesPerSector);
|
||||
@@ -525,7 +525,7 @@ public sealed partial class Cdrdao
|
||||
|
||||
bool mode2 =
|
||||
_writingTracks.Count(t => t.Type is TrackType.CdMode2Form1 or TrackType.CdMode2Form2
|
||||
or TrackType.CdMode2Formless) > 0;
|
||||
or TrackType.CdMode2Formless) > 0;
|
||||
|
||||
if(mode2)
|
||||
_descriptorStream.WriteLine("CD_ROM_XA");
|
||||
@@ -685,8 +685,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
if(track.SubchannelType == 0)
|
||||
{
|
||||
ErrorMessage =
|
||||
$"Trying to write subchannel to track {track.Sequence}, that does not have subchannel";
|
||||
ErrorMessage = $"Trying to write subchannel to track {track.Sequence
|
||||
}, that does not have subchannel";
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -708,7 +708,7 @@ public sealed partial class Cdrdao
|
||||
}
|
||||
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + 96)) + track.RawBytesPerSector,
|
||||
Seek((long)(track.FileOffset + ((sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + 96))) + track.RawBytesPerSector,
|
||||
SeekOrigin.Begin);
|
||||
|
||||
trackStream.Write(data, 0, data.Length);
|
||||
@@ -750,8 +750,8 @@ public sealed partial class Cdrdao
|
||||
{
|
||||
if(track.SubchannelType == 0)
|
||||
{
|
||||
ErrorMessage =
|
||||
$"Trying to write subchannel to track {track.Sequence}, that does not have subchannel";
|
||||
ErrorMessage = $"Trying to write subchannel to track {track.Sequence
|
||||
}, that does not have subchannel";
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -775,7 +775,7 @@ public sealed partial class Cdrdao
|
||||
for(uint i = 0; i < length; i++)
|
||||
{
|
||||
trackStream.
|
||||
Seek((long)(track.FileOffset + (i + sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + 96)) + track.RawBytesPerSector,
|
||||
Seek((long)(track.FileOffset + ((i + sectorAddress - track.StartSector) * (ulong)(track.RawBytesPerSector + 96))) + track.RawBytesPerSector,
|
||||
SeekOrigin.Begin);
|
||||
|
||||
trackStream.Write(data, (int)(i * 96), 96);
|
||||
|
||||
Reference in New Issue
Block a user