// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : Structs.cs // Author(s) : Natalia Portillo // // Component : Disk image plugins. // // --[ Description ] ---------------------------------------------------------- // // Contains structures for CDRWin cuesheets (cue/bin). // // --[ License ] -------------------------------------------------------------- // // This library is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 2.1 of the // License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, see . // // ---------------------------------------------------------------------------- // Copyright © 2011-2021 Natalia Portillo // ****************************************************************************/ using System.Collections.Generic; using Aaru.CommonTypes; using Aaru.CommonTypes.Interfaces; using Aaru.CommonTypes.Structs; // ReSharper disable NotAccessedField.Local namespace Aaru.DiscImages { public sealed partial class CdrWin { struct CdrWinTrackFile { /// Track # public uint Sequence; /// Filter of file containing track public IFilter DataFilter; /// Offset of track start in file public ulong Offset; /// Type of file public string FileType; } class CdrWinTrack { /// Track arranger (from CD-Text) public string Arranger; /// Bytes per sector public ushort Bps; /// Track composer (from CD-Text) public string Composer; /// Track is quadraphonic public bool Flag4Ch; /// Digital Copy Permitted public bool FlagDcp; /// Track has pre-emphasis public bool FlagPre; /// Track has SCMS public bool FlagScms; /// Track genre (from CD-Text) public string Genre; /// Indexes on this track public SortedDictionary Indexes; /// Track ISRC public string Isrc; /// Track performer (from CD-Text) public string Performer; /// Track post-gap in sectors public int Postgap; /// Track pre-gap in sectors public int Pregap; /// Sectors in track public ulong Sectors; /// Track # public uint Sequence; /// Track session public ushort Session; /// Track song writer (from CD-Text) public string Songwriter; /// Track title (from CD-Text) public string Title; /// File struct for this track public CdrWinTrackFile TrackFile; /// Track type public string TrackType; } struct CdrWinDisc { /// Disk title (from CD-Text) public string Title; /// Disk genre (from CD-Text) public string Genre; /// Disk arranger (from CD-Text) public string Arranger; /// Disk composer (from CD-Text) public string Composer; /// Disk performer (from CD-Text) public string Performer; /// Disk song writer (from CD-Text) public string Songwriter; /// Media catalog number public string Mcn; /// Disk type public MediaType MediaType; /// Disk type string public string OriginalMediaType; /// Disk CDDB ID public string DiscId; /// Disk UPC/EAN public string Barcode; /// Sessions public List Sessions; /// Tracks public List Tracks; /// Disk comment public string Comment; /// File containing CD-Text public string CdTextFile; /// Has trurip extensions public bool IsTrurip; /// Disc image hashes public Dictionary DiscHashes; /// Aaru media type public string AaruMediaType; /// Is a GDROM from Redump.org public bool IsRedumpGigadisc; } } }