Add writable optical image capabilities enumeration.

This commit is contained in:
2020-04-21 21:01:02 +01:00
parent 90a304aa13
commit d3bffafd86
9 changed files with 66 additions and 7 deletions

View File

@@ -17,6 +17,7 @@
<e p=".git/modules/Aaru.Helpers/info/exclude" t="IncludeRecursive" />
<e p=".git/modules/CICMMetadata/info/exclude" t="IncludeRecursive" />
<e p=".git/modules/cuetoolsnet/info/exclude" t="IncludeRecursive" />
<e p=".git/modules/oxyplot-avalonia/info/exclude" t="IncludeRecursive" />
<e p=".github/CODE_OF_CONDUCT.md" t="Include" />
<e p=".github/ISSUE_TEMPLATE.md" t="Include" />
<e p=".github/PULL_REQUEST_TEMPLATE.md" t="Include" />
@@ -1367,7 +1368,6 @@
<e p="obj" t="ExcludeRecursive">
<e p="Debug" t="Include">
<e p="netcoreapp3.0" t="Include">
<e p="Aaru.Gui.AssemblyInfo.cs" t="Include" />
<e p="Avalonia" t="Include">
<e p="resources" t="Include" />
</e>
@@ -2184,6 +2184,7 @@
<e p="Avalonia" t="Include">
<e p="resources" t="Include" />
</e>
<e p="OxyPlot.Avalonia.AssemblyInfo.cs" t="Include" />
</e>
</e>
</e>

View File

@@ -15,5 +15,6 @@
<mapping directory="$PROJECT_DIR$/Aaru.Helpers" vcs="Git" />
<mapping directory="$PROJECT_DIR$/CICMMetadata" vcs="Git" />
<mapping directory="$PROJECT_DIR$/cuetoolsnet" vcs="Git" />
<mapping directory="$PROJECT_DIR$/oxyplot-avalonia" vcs="Git" />
</component>
</project>

View File

@@ -42,6 +42,17 @@ namespace Aaru.DiscImages
{
public partial class AaruFormat
{
public OpticalImageCapabilities OpticalCapabilities => OpticalImageCapabilities.CanStoreAudioTracks |
OpticalImageCapabilities.CanStoreDataTracks |
OpticalImageCapabilities.CanStorePregaps |
OpticalImageCapabilities.CanStoreSubchannelRw |
OpticalImageCapabilities.CanStoreSessions |
OpticalImageCapabilities.CanStoreIsrc |
OpticalImageCapabilities.CanStoreCdText |
OpticalImageCapabilities.CanStoreMcn |
OpticalImageCapabilities.CanStoreRawData |
OpticalImageCapabilities.CanStoreCookedData |
OpticalImageCapabilities.CanStoreMultipleTracks;
public ImageInfo Info => imageInfo;
public string Name => "Aaru Format";
public Guid Id => new Guid("49360069-1784-4A2F-B723-0C844D610B0A");

View File

@@ -42,6 +42,16 @@ namespace Aaru.DiscImages
{
public partial class Alcohol120
{
public OpticalImageCapabilities OpticalCapabilities => OpticalImageCapabilities.CanStoreAudioTracks |
OpticalImageCapabilities.CanStoreDataTracks |
OpticalImageCapabilities.CanStoreSubchannelRw |
OpticalImageCapabilities.CanStoreSessions |
OpticalImageCapabilities.CanStoreIsrc |
OpticalImageCapabilities.CanStoreCdText |
OpticalImageCapabilities.CanStoreMcn |
OpticalImageCapabilities.CanStoreRawData |
OpticalImageCapabilities.CanStoreCookedData |
OpticalImageCapabilities.CanStoreMultipleTracks;
public ImageInfo Info => imageInfo;
public string Name => "Alcohol 120% Media Descriptor Structure";
public Guid Id => new Guid("A78FBEBA-0307-4915-BDE3-B8A3B57F843F");

View File

@@ -41,6 +41,16 @@ namespace Aaru.DiscImages
{
public partial class Cdrdao
{
public OpticalImageCapabilities OpticalCapabilities => OpticalImageCapabilities.CanStoreAudioTracks |
OpticalImageCapabilities.CanStoreDataTracks |
OpticalImageCapabilities.CanStorePregaps |
OpticalImageCapabilities.CanStoreSubchannelRw |
OpticalImageCapabilities.CanStoreIsrc |
OpticalImageCapabilities.CanStoreCdText |
OpticalImageCapabilities.CanStoreMcn |
OpticalImageCapabilities.CanStoreRawData |
OpticalImageCapabilities.CanStoreCookedData |
OpticalImageCapabilities.CanStoreMultipleTracks;
public ImageInfo Info => imageInfo;
public string Name => "CDRDAO tocfile";
public Guid Id => new Guid("04D7BA12-1BE8-44D4-97A4-1B48A505463E");

View File

@@ -41,6 +41,16 @@ namespace Aaru.DiscImages
{
public partial class CdrWin
{
public OpticalImageCapabilities OpticalCapabilities => OpticalImageCapabilities.CanStoreAudioTracks |
OpticalImageCapabilities.CanStoreDataTracks |
OpticalImageCapabilities.CanStorePregaps |
OpticalImageCapabilities.CanStoreSessions |
OpticalImageCapabilities.CanStoreIsrc |
OpticalImageCapabilities.CanStoreCdText |
OpticalImageCapabilities.CanStoreMcn |
OpticalImageCapabilities.CanStoreRawData |
OpticalImageCapabilities.CanStoreCookedData |
OpticalImageCapabilities.CanStoreMultipleTracks;
public ImageInfo Info => _imageInfo;
public string Name => "CDRWin cuesheet";
public Guid Id => new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F");
@@ -54,9 +64,9 @@ namespace Aaru.DiscImages
{
List<Track> tracks = new List<Track>();
ulong previousStartSector = 0;
ulong gdRomSession2Offset = 45000;
string previousTrackFile = "";
ulong previousStartSector = 0;
ulong gdRomSession2Offset = 45000;
string previousTrackFile = "";
foreach(CdrWinTrack cdrTrack in _discImage.Tracks)
{
@@ -73,7 +83,8 @@ namespace Aaru.DiscImages
TrackBytesPerSector = CdrWinTrackTypeToCookedBytesPerSector(cdrTrack.TrackType)
};
if (previousTrackFile == aaruTrack.TrackFile || previousTrackFile == "")
if(previousTrackFile == aaruTrack.TrackFile ||
previousTrackFile == "")
{
if(!cdrTrack.Indexes.TryGetValue(0, out aaruTrack.TrackStartSector))
if(!cdrTrack.Indexes.TryGetValue(1, out aaruTrack.TrackStartSector))
@@ -81,7 +92,7 @@ namespace Aaru.DiscImages
}
else
aaruTrack.TrackStartSector += previousStartSector;
if(_discImage.IsRedumpGigadisc &&
cdrTrack.Session == 2 &&
previousStartSector < gdRomSession2Offset)

View File

@@ -41,6 +41,17 @@ namespace Aaru.DiscImages
{
public partial class CloneCd
{
public OpticalImageCapabilities OpticalCapabilities => OpticalImageCapabilities.CanStoreAudioTracks |
OpticalImageCapabilities.CanStoreDataTracks |
OpticalImageCapabilities.CanStorePregaps |
OpticalImageCapabilities.CanStoreSubchannelRw |
OpticalImageCapabilities.CanStoreSessions |
OpticalImageCapabilities.CanStoreIsrc |
OpticalImageCapabilities.CanStoreCdText |
OpticalImageCapabilities.CanStoreMcn |
OpticalImageCapabilities.CanStoreRawData |
OpticalImageCapabilities.CanStoreCookedData |
OpticalImageCapabilities.CanStoreMultipleTracks;
public ImageInfo Info => imageInfo;
public string Name => "CloneCD";
public Guid Id => new Guid("EE9C2975-2E79-427A-8EE9-F86F19165784");

View File

@@ -44,6 +44,10 @@ namespace Aaru.DiscImages
{
public partial class ZZZRawImage
{
public OpticalImageCapabilities OpticalCapabilities => OpticalImageCapabilities.CanStoreAudioTracks |
OpticalImageCapabilities.CanStoreDataTracks |
OpticalImageCapabilities.CanStoreRawData |
OpticalImageCapabilities.CanStoreCookedData;
public string Name => "Raw Disk Image";
// Non-random UUID to recognize this specific plugin