Files
Aaru/Aaru.CommonTypes/AaruMetadata/Dimensions.cs

1168 lines
32 KiB
C#

// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Dimensions.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Metadata.
//
// --[ Description ] ----------------------------------------------------------
//
// Defines format for metadata.
//
// --[ License ] --------------------------------------------------------------
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2025 Natalia Portillo
// ****************************************************************************/
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
using System;
using Schemas;
namespace Aaru.CommonTypes.AaruMetadata;
public class Dimensions
{
public double? Diameter { get; set; }
public double? Height { get; set; }
public double? Width { get; set; }
public double Thickness { get; set; }
[Obsolete("Will be removed in Aaru 7")]
public static implicit operator Dimensions(DimensionsType cicm) => cicm is null
? null
: new Dimensions
{
Diameter =
cicm.DiameterSpecified
? cicm.Diameter
: null,
Height = cicm.HeightSpecified
? cicm.Height
: null,
Width = cicm.WidthSpecified
? cicm.Width
: null,
Thickness = cicm.Thickness
};
/// <summary>Gets the physical dimensions, in metadata expected format, for a given media type</summary>
/// <param name="mediaType">Media type</param>
/// <returns>Dimensions metadata</returns>
public static Dimensions FromMediaType(MediaType mediaType)
{
var dmns = new Dimensions();
switch(mediaType)
{
#region 5.25" floppy disk
case MediaType.Apple32SS:
case MediaType.Apple32DS:
case MediaType.Apple33SS:
case MediaType.Apple33DS:
case MediaType.AppleFileWare:
case MediaType.DOS_525_SS_DD_8:
case MediaType.DOS_525_SS_DD_9:
case MediaType.DOS_525_DS_DD_8:
case MediaType.DOS_525_DS_DD_9:
case MediaType.DOS_525_HD:
case MediaType.XDF_525:
case MediaType.ACORN_525_SS_SD_40:
case MediaType.ACORN_525_SS_SD_80:
case MediaType.ACORN_525_SS_DD_40:
case MediaType.ACORN_525_SS_DD_80:
case MediaType.ACORN_525_DS_DD:
case MediaType.ATARI_525_SD:
case MediaType.ATARI_525_ED:
case MediaType.ATARI_525_DD:
case MediaType.CBM_1540:
case MediaType.CBM_1540_Ext:
case MediaType.CBM_1571:
case MediaType.ECMA_66:
case MediaType.ECMA_70:
case MediaType.NEC_525_HD:
case MediaType.ECMA_78:
case MediaType.ECMA_78_2:
case MediaType.ECMA_99_8:
case MediaType.ECMA_99_15:
case MediaType.ECMA_99_26:
case MediaType.FDFORMAT_525_DD:
case MediaType.FDFORMAT_525_HD:
case MediaType.MetaFloppy_Mod_I:
case MediaType.MetaFloppy_Mod_II:
// According to ECMA-99 et al
dmns.Height = 133.3;
dmns.Width = 133.3;
dmns.Thickness = 1.65;
return dmns;
#endregion 5.25" floppy disk
#region 3.5" floppy disk
case MediaType.AppleSonySS:
case MediaType.AppleSonyDS:
case MediaType.DOS_35_SS_DD_8:
case MediaType.DOS_35_SS_DD_9:
case MediaType.DOS_35_DS_DD_8:
case MediaType.DOS_35_DS_DD_9:
case MediaType.DOS_35_HD:
case MediaType.DOS_35_ED:
case MediaType.DMF:
case MediaType.DMF_82:
case MediaType.XDF_35:
case MediaType.ACORN_35_DS_DD:
case MediaType.CBM_35_DD:
case MediaType.CBM_AMIGA_35_DD:
case MediaType.CBM_AMIGA_35_HD:
case MediaType.FDFORMAT_35_DD:
case MediaType.FDFORMAT_35_HD:
case MediaType.NEC_35_HD_8:
case MediaType.NEC_35_HD_15:
case MediaType.Floptical:
case MediaType.HiFD:
case MediaType.UHD144:
case MediaType.Apricot_35:
case MediaType.FD32MB:
// According to ECMA-100 et al
dmns.Height = 94;
dmns.Width = 90;
dmns.Thickness = 3.3;
return dmns;
#endregion 3.5" floppy disk
#region 8" floppy disk
case MediaType.IBM23FD:
case MediaType.IBM33FD_128:
case MediaType.IBM33FD_256:
case MediaType.IBM33FD_512:
case MediaType.IBM43FD_128:
case MediaType.IBM43FD_256:
case MediaType.IBM53FD_256:
case MediaType.IBM53FD_512:
case MediaType.IBM53FD_1024:
case MediaType.RX01:
case MediaType.RX02:
case MediaType.NEC_8_SD:
case MediaType.NEC_8_DD:
case MediaType.ECMA_54:
case MediaType.ECMA_59:
case MediaType.ECMA_69_8:
case MediaType.ECMA_69_15:
case MediaType.ECMA_69_26:
// According to ECMA-59 et al
dmns.Height = 203.2;
dmns.Width = 203.2;
dmns.Thickness = 1.65;
return dmns;
#endregion 8" floppy disk
#region 356mm magneto optical
case MediaType.ECMA_260:
case MediaType.ECMA_260_Double:
// According to ECMA-260 et al
dmns.Height = 421.84;
dmns.Width = 443.76;
dmns.Thickness = 25.4;
return dmns;
#endregion 356mm magneto optical
#region 300mm magneto optical
case MediaType.ECMA_189:
case MediaType.ECMA_190:
case MediaType.ECMA_317:
// According to ECMA-317 et al
dmns.Height = 340;
dmns.Width = 320;
dmns.Thickness = 17;
return dmns;
#endregion 300mm magneto optical
#region 5.25" magneto optical
case MediaType.ECMA_153:
case MediaType.ECMA_153_512:
case MediaType.ECMA_183_512:
case MediaType.ECMA_183:
case MediaType.ECMA_184_512:
case MediaType.ECMA_184:
case MediaType.ECMA_195:
case MediaType.ECMA_195_512:
case MediaType.ECMA_238:
case MediaType.ECMA_280:
case MediaType.ECMA_322:
case MediaType.ECMA_322_2k:
case MediaType.UDO:
case MediaType.UDO2:
case MediaType.UDO2_WORM:
case MediaType.ISO_15286:
case MediaType.ISO_15286_1024:
case MediaType.ISO_15286_512:
case MediaType.ISO_10089:
case MediaType.ISO_10089_512:
case MediaType.ECMA_322_1k:
case MediaType.ECMA_322_512:
case MediaType.ISO_14517:
case MediaType.ISO_14517_512:
// According to ECMA-183 et al
dmns.Height = 153;
dmns.Width = 135;
dmns.Thickness = 11;
return dmns;
#endregion 5.25" magneto optical
#region 3.5" magneto optical
case MediaType.ECMA_154:
case MediaType.ECMA_201:
case MediaType.ECMA_201_ROM:
case MediaType.ECMA_223:
case MediaType.ECMA_223_512:
case MediaType.GigaMo:
case MediaType.GigaMo2:
case MediaType.ISO_15041_512:
// According to ECMA-154 et al
dmns.Height = 94;
dmns.Width = 90;
dmns.Thickness = 6;
return dmns;
#endregion 3.5" magneto optical
case MediaType.PD650:
case MediaType.PD650_WORM:
dmns.Height = 135;
dmns.Width = 124;
dmns.Thickness = 7.8;
return dmns;
case MediaType.ECMA_239:
dmns.Height = 97;
dmns.Width = 92;
dmns.Thickness = 5;
return dmns;
case MediaType.MMCmicro:
dmns.Height = 14;
dmns.Width = 12;
dmns.Thickness = 1.1;
return dmns;
case MediaType.MemoryStickMicro:
dmns.Height = 15;
dmns.Width = 12.5;
dmns.Thickness = 1.2;
return dmns;
case MediaType.microSD:
dmns.Height = 11;
dmns.Width = 15;
dmns.Thickness = 1;
return dmns;
case MediaType.miniSD:
dmns.Height = 21.5;
dmns.Width = 20;
dmns.Thickness = 1.4;
return dmns;
case MediaType.QIC3010:
case MediaType.QIC3020:
case MediaType.QIC3080:
case MediaType.QIC3095:
case MediaType.QIC320:
case MediaType.QIC40:
case MediaType.QIC80:
dmns.Height = 20;
dmns.Width = 21.5;
dmns.Thickness = 1.6;
return dmns;
case MediaType.RSMMC:
dmns.Height = 18;
dmns.Width = 24;
dmns.Thickness = 1.4;
return dmns;
case MediaType.MMC:
dmns.Height = 32;
dmns.Width = 24;
dmns.Thickness = 1.4;
return dmns;
case MediaType.SecureDigital:
dmns.Height = 32;
dmns.Width = 24;
dmns.Thickness = 2.1;
return dmns;
case MediaType.xD:
dmns.Height = 20;
dmns.Width = 25;
dmns.Thickness = 1.78;
return dmns;
case MediaType.XQD:
dmns.Height = 38.5;
dmns.Width = 29.8;
dmns.Thickness = 3.8;
return dmns;
case MediaType.MemoryStickDuo:
case MediaType.MemoryStickProDuo:
dmns.Height = 20;
dmns.Width = 31;
dmns.Thickness = 1.6;
return dmns;
case MediaType.Nintendo3DSGameCard:
case MediaType.NintendoDSGameCard:
case MediaType.NintendoDSiGameCard:
dmns.Height = 35;
dmns.Width = 33;
dmns.Thickness = 3.8;
return dmns;
case MediaType.DataPlay:
dmns.Height = 42;
dmns.Width = 33.5;
dmns.Thickness = 3;
return dmns;
case MediaType.Microdrive:
dmns.Height = 44;
dmns.Width = 34;
dmns.Thickness = 8;
return dmns;
case MediaType.ExpressCard34:
dmns.Height = 75;
dmns.Width = 34;
dmns.Thickness = 5;
return dmns;
case MediaType.SmartMedia:
dmns.Height = 45;
dmns.Width = 37;
dmns.Thickness = 0.76;
return dmns;
case MediaType.MiniCard:
dmns.Height = 45;
dmns.Width = 37;
dmns.Thickness = 3.5;
return dmns;
case MediaType.PlayStationMemoryCard:
case MediaType.PlayStationMemoryCard2:
dmns.Height = 55.7;
dmns.Width = 41.5;
dmns.Thickness = 7;
return dmns;
case MediaType.CFast:
case MediaType.CompactFlash:
dmns.Height = 36;
dmns.Width = 43;
dmns.Thickness = 3.3;
return dmns;
case MediaType.CompactFlashType2:
dmns.Height = 36;
dmns.Width = 43;
dmns.Thickness = 5;
return dmns;
case MediaType.ZXMicrodrive:
dmns.Height = 36;
dmns.Width = 43;
dmns.Thickness = 5;
return dmns;
case MediaType.MemoryStick:
case MediaType.MemoryStickPro:
dmns.Height = 21;
dmns.Width = 50;
dmns.Thickness = 2.6;
return dmns;
case MediaType.PocketZip:
dmns.Height = 54.5;
dmns.Width = 50;
dmns.Thickness = 2;
return dmns;
case MediaType.ExpressCard54:
dmns.Height = 75;
dmns.Width = 54;
dmns.Thickness = 5;
return dmns;
case MediaType.PCCardTypeI:
dmns.Height = 85.6;
dmns.Width = 54;
dmns.Thickness = 3.3;
return dmns;
case MediaType.PCCardTypeII:
dmns.Height = 85.6;
dmns.Width = 54;
dmns.Thickness = 5;
return dmns;
case MediaType.PCCardTypeIII:
dmns.Height = 85.6;
dmns.Width = 54;
dmns.Thickness = 10.5;
return dmns;
case MediaType.PCCardTypeIV:
dmns.Height = 85.6;
dmns.Width = 54;
dmns.Thickness = 16;
return dmns;
case MediaType.DataStore:
dmns.Height = 86.5;
dmns.Width = 54;
dmns.Thickness = 2.5;
return dmns;
case MediaType.VideoFloppy:
dmns.Height = 54;
dmns.Width = 60;
dmns.Thickness = 3.5;
return dmns;
case MediaType.VXA1:
case MediaType.VXA2:
case MediaType.VXA3:
dmns.Height = 95;
dmns.Width = 62.5;
dmns.Thickness = 15;
return dmns;
case MediaType.MiniDV:
dmns.Height = 47.5;
dmns.Width = 66;
dmns.Thickness = 12;
return dmns;
case MediaType.Wafer:
dmns.Height = 46.8;
dmns.Width = 67.1;
dmns.Thickness = 7.9;
return dmns;
case MediaType.NintendoDiskCard:
dmns.Height = 76.2;
dmns.Width = 71.12;
dmns.Thickness = 0;
return dmns;
case MediaType.HiMD:
case MediaType.MD:
case MediaType.MDData:
case MediaType.MDData2:
case MediaType.MD60:
case MediaType.MD74:
case MediaType.MD80:
dmns.Height = 68;
dmns.Width = 71.5;
dmns.Thickness = 4.8;
return dmns;
case MediaType.DAT160:
case MediaType.DAT320:
case MediaType.DAT72:
case MediaType.DDS1:
case MediaType.DDS2:
case MediaType.DDS3:
case MediaType.DDS4:
case MediaType.DigitalAudioTape:
dmns.Height = 54;
dmns.Width = 73;
dmns.Thickness = 10.5;
return dmns;
case MediaType.CompactFloppy:
dmns.Height = 100;
dmns.Width = 80;
dmns.Thickness = 5;
return dmns;
case MediaType.DECtapeII:
dmns.Height = 60;
dmns.Width = 81;
dmns.Thickness = 13;
return dmns;
case MediaType.Ditto:
dmns.Height = 60;
dmns.Width = 81;
dmns.Thickness = 14;
return dmns;
case MediaType.DittoMax:
dmns.Height = 126;
dmns.Width = 81;
dmns.Thickness = 14;
return dmns;
case MediaType.RDX:
case MediaType.RDX320:
dmns.Height = 119;
dmns.Width = 87;
dmns.Thickness = 23;
return dmns;
case MediaType.LS120:
case MediaType.LS240:
dmns.Height = 94;
dmns.Width = 90;
dmns.Thickness = 3.5;
return dmns;
case MediaType.Travan:
case MediaType.Travan3:
case MediaType.Travan4:
case MediaType.Travan5:
case MediaType.Travan7:
dmns.Height = 72;
dmns.Width = 92;
dmns.Thickness = 15;
return dmns;
case MediaType.Travan1Ex:
dmns.Height = 0;
dmns.Width = 92;
dmns.Thickness = 15;
return dmns;
case MediaType.Travan3Ex:
dmns.Height = 0;
dmns.Width = 92;
dmns.Thickness = 15;
return dmns;
case MediaType.ADR2120:
case MediaType.ADR260:
case MediaType.ADR30:
case MediaType.ADR50:
dmns.Height = 129;
dmns.Width = 93;
dmns.Thickness = 14.5;
return dmns;
case MediaType.Data8:
case MediaType.AIT1:
case MediaType.AIT1Turbo:
case MediaType.AIT2:
case MediaType.AIT2Turbo:
case MediaType.AIT3:
case MediaType.AIT3Ex:
case MediaType.AIT3Turbo:
case MediaType.AIT4:
case MediaType.AIT5:
case MediaType.AITETurbo:
case MediaType.Exatape106m:
case MediaType.Exatape160mXL:
case MediaType.Exatape112m:
case MediaType.Exatape125m:
case MediaType.Exatape150m:
case MediaType.Exatape15m:
case MediaType.Exatape170m:
case MediaType.Exatape225m:
case MediaType.Exatape22m:
case MediaType.Exatape22mAME:
case MediaType.Exatape28m:
case MediaType.Exatape40m:
case MediaType.Exatape45m:
case MediaType.Exatape54m:
case MediaType.Exatape75m:
case MediaType.Exatape76m:
case MediaType.Exatape80m:
dmns.Height = 62.5;
dmns.Width = 95;
dmns.Thickness = 15;
return dmns;
case MediaType.SQ100:
case MediaType.SQ200:
case MediaType.SQ300:
dmns.Height = 112.014;
dmns.Width = 109.982;
dmns.Thickness = 10.922;
return dmns;
case MediaType.EZ135:
case MediaType.EZ230:
case MediaType.SQ327:
dmns.Height = 97;
dmns.Width = 98;
dmns.Thickness = 9.5;
return dmns;
case MediaType.SQ400:
case MediaType.SQ800:
case MediaType.SQ2000:
dmns.Height = 137;
dmns.Width = 137;
dmns.Thickness = 12;
return dmns;
case MediaType.ZIP100:
case MediaType.ZIP250:
case MediaType.ZIP750:
dmns.Height = 98.5;
dmns.Width = 98;
dmns.Thickness = 6.5;
return dmns;
case MediaType.Jaz:
case MediaType.Jaz2:
dmns.Height = 102;
dmns.Width = 98;
dmns.Thickness = 12;
return dmns;
case MediaType.Orb:
case MediaType.Orb5:
dmns.Height = 104;
dmns.Width = 98;
dmns.Thickness = 8;
return dmns;
case MediaType.SparQ:
dmns.Height = 98;
dmns.Width = 100;
dmns.Thickness = 9.7;
return dmns;
case MediaType.ProfessionalDisc:
case MediaType.ProfessionalDiscDual:
case MediaType.ProfessionalDiscTriple:
case MediaType.ProfessionalDiscQuad:
case MediaType.PDD:
case MediaType.PDD_WORM:
dmns.Height = 130;
dmns.Width = 128.5;
dmns.Thickness = 9;
return dmns;
case MediaType.SLR1:
case MediaType.SLR2:
case MediaType.SLR3:
case MediaType.SLR32:
case MediaType.SLR32SL:
case MediaType.SLR4:
case MediaType.SLR5:
case MediaType.SLR5SL:
case MediaType.SLR6:
case MediaType.SLRtape100:
case MediaType.SLRtape140:
case MediaType.SLRtape24:
case MediaType.SLRtape24SL:
case MediaType.SLRtape40:
case MediaType.SLRtape50:
case MediaType.SLRtape60:
case MediaType.SLRtape7:
case MediaType.SLRtape75:
case MediaType.SLRtape7SL:
dmns.Height = 150;
dmns.Width = 100;
dmns.Thickness = 18;
return dmns;
case MediaType.N64DD:
dmns.Height = 103.124;
dmns.Width = 101.092;
dmns.Thickness = 10.16;
return dmns;
case MediaType.CompactTapeI:
case MediaType.CompactTapeII:
case MediaType.DLTtapeIII:
case MediaType.DLTtapeIIIxt:
case MediaType.DLTtapeIV:
case MediaType.DLTtapeS4:
case MediaType.SDLT1:
case MediaType.SDLT2:
case MediaType.VStapeI:
dmns.Height = 105;
dmns.Width = 105;
dmns.Thickness = 25;
return dmns;
case MediaType.LTO:
case MediaType.LTO2:
case MediaType.LTO3:
case MediaType.LTO3WORM:
case MediaType.LTO4:
case MediaType.LTO4WORM:
case MediaType.LTO5:
case MediaType.LTO5WORM:
case MediaType.LTO6:
case MediaType.LTO6WORM:
case MediaType.LTO7:
case MediaType.LTO7WORM:
dmns.Height = 101.6;
dmns.Width = 105.41;
dmns.Thickness = 21.59;
return dmns;
case MediaType.IBM3480:
case MediaType.IBM3490:
case MediaType.IBM3490E:
case MediaType.IBM3592:
dmns.Height = 125.73;
dmns.Width = 107.95;
dmns.Thickness = 25.4;
return dmns;
case MediaType.T9840A:
case MediaType.T9840B:
case MediaType.T9840C:
case MediaType.T9840D:
case MediaType.T9940A:
case MediaType.T9940B:
dmns.Height = 124.46;
dmns.Width = 109.22;
dmns.Thickness = 25.4;
return dmns;
case MediaType.CompactCassette:
case MediaType.Dcas25:
case MediaType.Dcas85:
case MediaType.Dcas103:
dmns.Height = 63.5;
dmns.Width = 128;
dmns.Thickness = 12;
return dmns;
case MediaType.IBM3470:
dmns.Height = 58.42;
dmns.Width = 137.16;
dmns.Thickness = 16.51;
return dmns;
case MediaType.MLR1:
case MediaType.MLR3:
case MediaType.MLR1SL:
dmns.Height = 101.6;
dmns.Width = 152.4;
dmns.Thickness = 15.24;
return dmns;
case MediaType.QIC11:
case MediaType.QIC120:
case MediaType.QIC1350:
case MediaType.QIC150:
case MediaType.QIC24:
case MediaType.QIC525:
dmns.Height = 101.6;
dmns.Width = 154.2;
dmns.Thickness = 16.6;
return dmns;
#pragma warning disable CS0612 // Type or member is obsolete
case MediaType.Bernoulli:
#pragma warning restore CS0612 // Type or member is obsolete
case MediaType.Bernoulli10:
case MediaType.Bernoulli20:
dmns.Height = 280;
dmns.Width = 209;
dmns.Thickness = 18;
return dmns;
#pragma warning disable CS0612 // Type or member is obsolete
case MediaType.Bernoulli2:
#pragma warning restore CS0612 // Type or member is obsolete
case MediaType.BernoulliBox2_20:
case MediaType.Bernoulli35:
case MediaType.Bernoulli44:
case MediaType.Bernoulli65:
case MediaType.Bernoulli90:
case MediaType.Bernoulli105:
case MediaType.Bernoulli150:
case MediaType.Bernoulli230:
dmns.Height = 138;
dmns.Width = 136;
dmns.Thickness = 9;
return dmns;
case MediaType.DTF:
case MediaType.DTF2:
dmns.Height = 144.78;
dmns.Width = 254;
dmns.Thickness = 25.4;
return dmns;
case MediaType.LD:
case MediaType.LDROM:
case MediaType.LDROM2:
case MediaType.MegaLD:
case MediaType.LVROM:
dmns.Diameter = 300;
dmns.Thickness = 2.5;
return dmns;
case MediaType.CRVdisc:
dmns.Height = 344;
dmns.Width = 325;
dmns.Thickness = 15.6;
return dmns;
case MediaType.REV35:
case MediaType.REV70:
case MediaType.REV120:
dmns.Height = 74.8;
dmns.Width = 76.8;
dmns.Thickness = 10;
return dmns;
#region CD/DVD/BD
case MediaType.CDDA:
case MediaType.CDG:
case MediaType.CDEG:
case MediaType.CDI:
case MediaType.CDROM:
case MediaType.CDROMXA:
case MediaType.CDPLUS:
case MediaType.CDMO:
case MediaType.CDR:
case MediaType.CDRW:
case MediaType.CDMRW:
case MediaType.VCD:
case MediaType.SVCD:
case MediaType.PCD:
case MediaType.SACD:
case MediaType.DDCD:
case MediaType.DDCDR:
case MediaType.DDCDRW:
case MediaType.DTSCD:
case MediaType.CDMIDI:
case MediaType.CDV:
case MediaType.CD:
case MediaType.DVDROM:
case MediaType.DVDR:
case MediaType.DVDRW:
case MediaType.DVDPR:
case MediaType.DVDPRW:
case MediaType.DVDPRWDL:
case MediaType.DVDRDL:
case MediaType.DVDPRDL:
case MediaType.DVDRAM:
case MediaType.DVDRWDL:
case MediaType.DVDDownload:
case MediaType.HDDVDROM:
case MediaType.HDDVDRAM:
case MediaType.HDDVDR:
case MediaType.HDDVDRW:
case MediaType.HDDVDRDL:
case MediaType.HDDVDRWDL:
case MediaType.BDROM:
case MediaType.BDR:
case MediaType.BDRE:
case MediaType.BDRXL:
case MediaType.BDREXL:
case MediaType.PS1CD:
case MediaType.PS2CD:
case MediaType.PS2DVD:
case MediaType.PS3DVD:
case MediaType.PS3BD:
case MediaType.PS4BD:
case MediaType.PS5BD:
case MediaType.XGD:
case MediaType.XGD2:
case MediaType.XGD3:
case MediaType.XGD4:
case MediaType.MEGACD:
case MediaType.SATURNCD:
case MediaType.GDROM:
case MediaType.GDR:
case MediaType.SuperCDROM2:
case MediaType.JaguarCD:
case MediaType.ThreeDO:
case MediaType.WOD:
case MediaType.WUOD:
case MediaType.PCFX:
case MediaType.CDIREADY:
case MediaType.FMTOWNS:
case MediaType.CDTV:
case MediaType.CD32:
case MediaType.Nuon:
case MediaType.Playdia:
case MediaType.Pippin:
case MediaType.MilCD:
case MediaType.CVD:
case MediaType.UHDBD:
dmns.Diameter = 120;
dmns.Thickness = 1.2;
return dmns;
case MediaType.GOD:
dmns.Diameter = 80;
dmns.Thickness = 1.2;
return dmns;
case MediaType.VideoNow:
dmns.Diameter = 85;
dmns.Thickness = 1.2;
return dmns;
case MediaType.VideoNowColor:
case MediaType.VideoNowXp:
dmns.Diameter = 108;
dmns.Thickness = 1.2;
return dmns;
#endregion CD/DVD/BD
#region Apple Hard Disks
// TODO: Find Apple Widget size
case MediaType.AppleProfile:
dmns.Height = 223.8;
dmns.Width = 438.9;
dmns.Thickness = 111.5;
return dmns;
case MediaType.AppleHD20:
dmns.Height = 246.4;
dmns.Width = 266.7;
dmns.Thickness = 78.7;
return dmns;
#endregion Apple Hard Disks
case MediaType.UMD:
dmns.Height = 64;
dmns.Width = 63;
dmns.Thickness = 4;
return dmns;
case MediaType.HF12:
case MediaType.HF24:
dmns.Height = 137.5;
dmns.Width = 135.9;
dmns.Thickness = 5.64;
return dmns;
default:
return null;
}
}
}