Add new media types.

This commit is contained in:
2020-02-08 18:02:52 +00:00
parent 3f0f9c53a1
commit 8266eb86ab
4 changed files with 296 additions and 41 deletions

View File

@@ -552,11 +552,29 @@ namespace DiscImageChef.CommonTypes
#endregion Advanced Intelligent Tape, types 320 to 339
#region Iomega, types 340 to 359
Bernoulli = 340, Bernoulli2 = 341, Ditto = 342,
DittoMax = 343, Jaz = 344, Jaz2 = 345,
PocketZip = 346, REV120 = 347, REV35 = 348,
REV70 = 349, ZIP100 = 350, ZIP250 = 351,
ZIP750 = 352,
/// <summary>Obsolete type for 8"x11" Bernoulli Box disk</summary>
[Obsolete]
Bernoulli = 340,
/// <summary>Obsolete type for 5⅓" Bernoulli Box II disks</summary>
[Obsolete]
Bernoulli2 = 341, Ditto = 342, DittoMax = 343, Jaz = 344,
Jaz2 = 345, PocketZip = 346, REV120 = 347,
REV35 = 348, REV70 = 349, ZIP100 = 350,
ZIP250 = 351, ZIP750 = 352,
/// <summary>5⅓" Bernoulli Box II disk with 35Mb capacity</summary>
Bernoulli35 = 353,
/// <summary>5⅓" Bernoulli Box II disk with 44Mb capacity</summary>
Bernoulli44 = 354,
/// <summary>5⅓" Bernoulli Box II disk with 65Mb capacity</summary>
Bernoulli65 = 355,
/// <summary>5⅓" Bernoulli Box II disk with 90Mb capacity</summary>
Bernoulli90 = 356,
/// <summary>5⅓" Bernoulli Box II disk with 105Mb capacity</summary>
Bernoulli105 = 357,
/// <summary>5⅓" Bernoulli Box II disk with 150Mb capacity</summary>
Bernoulli150 = 358,
/// <summary>5⅓" Bernoulli Box II disk with 230Mb capacity</summary>
Bernoulli230 = 359,
#endregion Iomega, types 340 to 359
#region Audio or video media, types 360 to 369
@@ -928,7 +946,57 @@ namespace DiscImageChef.CommonTypes
#endregion Imation, types 730 to 739
#region VideoNow, types 740 to 749
VideoNow = 740, VideoNowColor = 741, VideoNowXp = 742
VideoNow = 740, VideoNowColor = 741, VideoNowXp = 742,
#endregion
#region Iomega, types 750 to 759
/// <summary>8"x11" Bernoulli Box disk with 10Mb capacity</summary>
Bernoulli10 = 750,
/// <summary>8"x11" Bernoulli Box disk with 20Mb capacity</summary>
Bernoulli20 = 751,
/// <summary>5⅓" Bernoulli Box II disk with 20Mb capacity</summary>
BernoulliBox2_20 = 752,
#endregion Iomega, types 750 to 759
#region Kodak, types 760 to 769
KodakVerbatim3 = 760, KodakVerbatim6 = 761, KodakVerbatim12 = 762,
#endregion Kodak, types 760 to 769
#region Sony and Panasonic Blu-ray derived, types 770 to 799
/// <summary>Professional Disc for video, single layer, rewritable, 23Gb</summary>
ProfessionalDisc = 770,
/// <summary>Professional Disc for video, dual layer, rewritable, 50Gb</summary>
ProfessionalDiscDual = 771,
/// <summary>Professional Disc for video, triple layer, rewritable, 100Gb</summary>
ProfessionalDiscTriple = 772,
/// <summary>Professional Disc for video, quad layer, write once, 128Gb</summary>
ProfessionalDiscQuad = 773,
/// <summary>Professional Disc for DATA, single layer, rewritable, 23Gb</summary>
PDD = 774,
/// <summary>Professional Disc for DATA, single layer, write once, 23Gb</summary>
PDD_WORM = 775,
/// <summary>Archival Disc, 1st gen., 300Gb</summary>
ArchivalDisc = 776,
/// <summary>Archival Disc, 2nd gen., 500Gb</summary>
ArchivalDisc2 = 777,
/// <summary>Archival Disc, 3rd gen., 1Tb</summary>
ArchivalDisc3 = 778,
/// <summary>Optical Disc archive, 1st gen., write once, 300Gb</summary>
ODC300R = 779,
/// <summary>Optical Disc archive, 1st gen., rewritable, 300Gb</summary>
ODC300RE = 780,
/// <summary>Optical Disc archive, 2nd gen., write once, 600Gb</summary>
ODC600R = 781,
/// <summary>Optical Disc archive, 2nd gen., rewritable, 600Gb</summary>
ODC600RE = 782,
/// <summary>Optical Disc archive, 3rd gen., rewritable, 1200Gb</summary>
ODC1200RE = 783,
/// <summary>Optical Disc archive, 3rd gen., write once, 1500Gb</summary>
ODC1500R = 784,
/// <summary>Optical Disc archive, 4th gen., write once, 3300Gb</summary>
ODC3300R = 785,
/// <summary>Optical Disc archive, 5th gen., write once, 5500Gb</summary>
ODC5500R = 786
#endregion Sony and Panasonic Blu-ray derived, types 770 to 799
}
}

View File

@@ -91,29 +91,46 @@ namespace DiscImageChef.CommonTypes
return MediaType.Unknown;
}
if(vendor.ToLowerInvariant().StartsWith("iomega", StringComparison.Ordinal) &&
(model.ToLowerInvariant().StartsWith("clik", StringComparison.Ordinal) ||
model.ToLowerInvariant().StartsWith("pocketzip", StringComparison.Ordinal)) &&
blockSize == 512 &&
blocks == 78882)
return MediaType.PocketZip;
if(vendor.ToLowerInvariant().StartsWith("iomega"))
if(model.ToLowerInvariant().StartsWith("zip", StringComparison.Ordinal))
{
if(blockSize != 512)
return MediaType.Unknown;
switch(blockSize)
{
case 256:
{
switch(blocks)
{
case 39168:
case 41004: return MediaType.Bernoulli10;
}
break;
}
case 512:
{
switch(blocks)
{
case 78882: return MediaType.PocketZip;
case 175856: return MediaType.Bernoulli90;
}
break;
}
}
}
if(model.ToLowerInvariant().StartsWith("zip", StringComparison.Ordinal) &&
blockSize == 512)
{
if(blocks == 196608)
return MediaType.ZIP100;
return blocks == 489532 ? MediaType.ZIP250 : MediaType.ZIP750;
}
if(model.ToLowerInvariant().StartsWith("jaz", StringComparison.Ordinal))
if(model.ToLowerInvariant().StartsWith("jaz", StringComparison.Ordinal) &&
blockSize == 512)
{
if(blockSize != 512)
return MediaType.Unknown;
if(blocks == 2091050)
return MediaType.Jaz;
@@ -148,20 +165,16 @@ namespace DiscImageChef.CommonTypes
return MediaType.Unknown;
}
if(model.ToLowerInvariant().StartsWith("rdx", StringComparison.Ordinal))
{
if(blockSize != 512)
return MediaType.Unknown;
if(model.ToLowerInvariant().StartsWith("rdx", StringComparison.Ordinal) &&
blockSize == 512)
return blocks == 625134256 ? MediaType.RDX320 : MediaType.RDX;
}
if(vendor.ToLowerInvariant().StartsWith("cws orb"))
{
switch(blocks)
{
case 4307184 when blockSize == 512: return MediaType.Orb;
default: return MediaType.Unknown;
default: return MediaType.Unknown;
}
}

View File

@@ -684,12 +684,21 @@ namespace DiscImageChef.CommonTypes.Metadata
return dmns;
case CommonTypes.MediaType.EZ135:
case CommonTypes.MediaType.EZ230:
case CommonTypes.MediaType.SQ327:
dmns.Height = 97;
dmns.HeightSpecified = true;
dmns.Width = 98;
dmns.WidthSpecified = true;
dmns.Thickness = 9.5;
return dmns;
case CommonTypes.MediaType.SQ800:
dmns.Height = 137;
dmns.HeightSpecified = true;
dmns.Width = 137;
dmns.WidthSpecified = true;
dmns.Thickness = 12;
return dmns;
case CommonTypes.MediaType.ZIP100:
case CommonTypes.MediaType.ZIP250:
@@ -726,6 +735,19 @@ namespace DiscImageChef.CommonTypes.Metadata
dmns.WidthSpecified = true;
dmns.Thickness = 9.7;
return dmns;
case CommonTypes.MediaType.ProfessionalDisc:
case CommonTypes.MediaType.ProfessionalDiscDual:
case CommonTypes.MediaType.ProfessionalDiscTriple:
case CommonTypes.MediaType.ProfessionalDiscQuad:
case CommonTypes.MediaType.PDD:
case CommonTypes.MediaType.PDD_WORM:
dmns.Height = 130;
dmns.HeightSpecified = true;
dmns.Width = 128.5;
dmns.WidthSpecified = true;
dmns.Thickness = 9;
return dmns;
case CommonTypes.MediaType.SLR1:
case CommonTypes.MediaType.SLR2:
@@ -838,14 +860,6 @@ namespace DiscImageChef.CommonTypes.Metadata
dmns.WidthSpecified = true;
dmns.Thickness = 16.51;
return dmns;
case CommonTypes.MediaType.Bernoulli2:
dmns.Height = 136;
dmns.HeightSpecified = true;
dmns.Width = 140;
dmns.WidthSpecified = true;
dmns.Thickness = 9;
return dmns;
case CommonTypes.MediaType.MLR1:
case CommonTypes.MediaType.MLR3:
@@ -871,11 +885,29 @@ namespace DiscImageChef.CommonTypes.Metadata
return dmns;
case CommonTypes.MediaType.Bernoulli:
dmns.Height = 275;
case CommonTypes.MediaType.Bernoulli10:
case CommonTypes.MediaType.Bernoulli20:
dmns.Height = 280;
dmns.HeightSpecified = true;
dmns.Width = 210;
dmns.Width = 209;
dmns.WidthSpecified = true;
dmns.Thickness = 0;
dmns.Thickness = 18;
return dmns;
case CommonTypes.MediaType.Bernoulli2:
case CommonTypes.MediaType.BernoulliBox2_20:
case CommonTypes.MediaType.Bernoulli35:
case CommonTypes.MediaType.Bernoulli44:
case CommonTypes.MediaType.Bernoulli65:
case CommonTypes.MediaType.Bernoulli90:
case CommonTypes.MediaType.Bernoulli105:
case CommonTypes.MediaType.Bernoulli150:
case CommonTypes.MediaType.Bernoulli230:
dmns.Height = 138;
dmns.HeightSpecified = true;
dmns.Width = 136;
dmns.WidthSpecified = true;
dmns.Thickness = 9;
return dmns;
case CommonTypes.MediaType.DTF:

View File

@@ -1113,13 +1113,55 @@ namespace DiscImageChef.CommonTypes.Metadata
break;
case CommonTypes.MediaType.Bernoulli:
discType = "Iomega Bernoulli";
discSubType = "Iomega Bernoulli";
case CommonTypes.MediaType.Bernoulli10:
discType = "Iomega Bernoulli Box";
discSubType = "Iomega Bernoulli Box 10Mb";
break;
case CommonTypes.MediaType.Bernoulli20:
discType = "Iomega Bernoulli Box";
discSubType = "Iomega Bernoulli Box 20Mb";
break;
case CommonTypes.MediaType.BernoulliBox2_20:
case CommonTypes.MediaType.Bernoulli2:
discType = "Iomega Bernoulli";
discSubType = "Iomega Bernoulli 2";
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 20Mb";
break;
case CommonTypes.MediaType.Bernoulli35:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 35Mb";
break;
case CommonTypes.MediaType.Bernoulli44:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 44Mb";
break;
case CommonTypes.MediaType.Bernoulli65:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 65Mb";
break;
case CommonTypes.MediaType.Bernoulli90:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 90Mb";
break;
case CommonTypes.MediaType.Bernoulli105:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 105Mb";
break;
case CommonTypes.MediaType.Bernoulli150:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 150Mb";
break;
case CommonTypes.MediaType.Bernoulli230:
discType = "Iomega Bernoulli Box II";
discSubType = "Iomega Bernoulli Box II 230Mb";
break;
case CommonTypes.MediaType.Ditto:
@@ -2342,6 +2384,106 @@ namespace DiscImageChef.CommonTypes.Metadata
discType = "VideoNow";
discSubType = "VideoNow XP";
break;
case CommonTypes.MediaType.KodakVerbatim3:
discType = "Kodak Verbatim";
discSubType = "Kodak Verbatim (3 Mb)";
break;
case CommonTypes.MediaType.KodakVerbatim6:
discType = "Kodak Verbatim";
discSubType = "Kodak Verbatim (6 Mb)";
break;
case CommonTypes.MediaType.KodakVerbatim12:
discType = "Kodak Verbatim";
discSubType = "Kodak Verbatim (12 Mb)";
break;
case CommonTypes.MediaType.ProfessionalDisc:
discType = "Sony Professional Disc";
discSubType = "Sony Professional Disc (single layer)";
break;
case CommonTypes.MediaType.ProfessionalDiscDual:
discType = "Sony Professional Disc";
discSubType = "Sony Professional Disc (double layer)";
break;
case CommonTypes.MediaType.ProfessionalDiscTriple:
discType = "Sony Professional Disc";
discSubType = "Sony Professional Disc (triple layer)";
break;
case CommonTypes.MediaType.ProfessionalDiscQuad:
discType = "Sony Professional Disc";
discSubType = "Sony Professional Disc (quad layer)";
break;
case CommonTypes.MediaType.PDD:
discType = "Sony Professional Disc for DATA";
discSubType = "Sony Professional Disc for DATA";
break;
case CommonTypes.MediaType.PDD_WORM:
discType = "Sony Professional Disc for DATA";
discSubType = "Sony Professional Disc for DATA (write-once)";
break;
case CommonTypes.MediaType.ArchivalDisc:
discType = "Archival Disc";
discSubType = "Archival Disc";
break;
case CommonTypes.MediaType.ArchivalDisc2:
discType = "Archival Disc";
discSubType = "Archival Disc (2nd generation)";
break;
case CommonTypes.MediaType.ArchivalDisc3:
discType = "Archival Disc";
discSubType = "Archival Disc (3rd generation)";
break;
case CommonTypes.MediaType.ODC300R:
discType = "Optical Disc Archive";
discSubType = "ODC300R";
break;
case CommonTypes.MediaType.ODC300RE:
discType = "Optical Disc Archive";
discSubType = "ODC300RE";
break;
case CommonTypes.MediaType.ODC600R:
discType = "Optical Disc Archive";
discSubType = "ODC600R";
break;
case CommonTypes.MediaType.ODC600RE:
discType = "Optical Disc Archive";
discSubType = "ODC600RE";
break;
case CommonTypes.MediaType.ODC1200RE:
discType = "Optical Disc Archive";
discSubType = "ODC1200RE";
break;
case CommonTypes.MediaType.ODC1500R:
discType = "Optical Disc Archive";
discSubType = "ODC1500R";
break;
case CommonTypes.MediaType.ODC3300R:
discType = "Optical Disc Archive";
discSubType = "ODC3300R";
break;
case CommonTypes.MediaType.ODC5500R:
discType = "Optical Disc Archive";
discSubType = "ODC5500R";
break;
default:
discType = "Unknown";