// /*************************************************************************** // Aaru Data Preservation Suite // ---------------------------------------------------------------------------- // // Filename : Constants.cs // Author(s) : Natalia Portillo // // Component : Disk image plugins. // // --[ Description ] ---------------------------------------------------------- // // Contains constants for cdrdao cuesheets (toc/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-2022 Natalia Portillo // ****************************************************************************/ namespace Aaru.DiscImages; public sealed partial class Cdrdao { /// Audio track, 2352 bytes/sector const string CDRDAO_TRACK_TYPE_AUDIO = "AUDIO"; /// Mode 1 track, cooked, 2048 bytes/sector const string CDRDAO_TRACK_TYPE_MODE1 = "MODE1"; /// Mode 1 track, raw, 2352 bytes/sector const string CDRDAO_TRACK_TYPE_MODE1_RAW = "MODE1_RAW"; /// Mode 2 mixed formless, cooked, 2336 bytes/sector const string CDRDAO_TRACK_TYPE_MODE2 = "MODE2"; /// Mode 2 form 1 track, cooked, 2048 bytes/sector const string CDRDAO_TRACK_TYPE_MODE2_FORM1 = "MODE2_FORM1"; /// Mode 2 form 2 track, cooked, 2324 bytes/sector const string CDRDAO_TRACK_TYPE_MODE2_FORM2 = "MODE2_FORM2"; /// Mode 2 mixed forms track, cooked, 2336 bytes/sector const string CDRDAO_TRACK_TYPE_MODE2_MIX = "MODE2_FORM_MIX"; /// Mode 2 track, raw, 2352 bytes/sector const string CDRDAO_TRACK_TYPE_MODE2_RAW = "MODE2_RAW"; const string REGEX_COMMENT = @"^\s*\/{2}(?.+)$"; const string REGEX_COPY = @"^\s*(?NO)?\s*COPY"; const string REGEX_DISCTYPE = @"^\s*(?(CD_DA|CD_ROM_XA|CD_ROM|CD_I))"; const string REGEX_EMPHASIS = @"^\s*(?NO)?\s*PRE_EMPHASIS"; const string REGEX_FILE_AUDIO = @"^\s*(AUDIO)?FILE\s*""(?.+)""\s*(#(?\d+))?\s*((?[\d]+:[\d]+:[\d]+)|(?\d+))\s*(?[\d]+:[\d]+:[\d]+)?"; const string REGEX_FILE_DATA = @"^\s*DATAFILE\s*""(?.+)""\s*(#(?\d+))?\s*(?[\d]+:[\d]+:[\d]+)?"; const string REGEX_INDEX = @"^\s*INDEX\s*(?
\d+:\d+:\d+)"; const string REGEX_ISRC = @"^\s*ISRC\s*""(?[A-Z0-9]{5,5}[0-9]{7,7})"""; const string REGEX_MCN = @"^\s*CATALOG\s*""(?[\x21-\x7F]{13,13})"""; const string REGEX_PREGAP = @"^\s*START\s*(?
\d+:\d+:\d+)?"; const string REGEX_STEREO = @"^\s*(?(TWO|FOUR))_CHANNEL_AUDIO"; const string REGEX_TRACK = @"^\s*TRACK\s*(?(AUDIO|MODE1_RAW|MODE1|MODE2_FORM1|MODE2_FORM2|MODE2_FORM_MIX|MODE2_RAW|MODE2))\s*(?(RW_RAW|RW))?"; const string REGEX_ZERO_AUDIO = @"^\s*SILENCE\s*(?\d+:\d+:\d+)"; const string REGEX_ZERO_DATA = @"^\s*ZERO\s*(?\d+:\d+:\d+)"; const string REGEX_ZERO_PREGAP = @"^\s*PREGAP\s*(?\d+:\d+:\d+)"; // CD-Text const string REGEX_ARRANGER = @"^\s*ARRANGER\s*""(?.+)"""; const string REGEX_COMPOSER = @"^\s*COMPOSER\s*""(?.+)"""; const string REGEX_DISC_ID = @"^\s*DISC_ID\s*""(?.+)"""; const string REGEX_MESSAGE = @"^\s*MESSAGE\s*""(?.+)"""; const string REGEX_PERFORMER = @"^\s*PERFORMER\s*""(?.+)"""; const string REGEX_SONGWRITER = @"^\s*SONGWRITER\s*""(?.+)"""; const string REGEX_TITLE = @"^\s*TITLE\s*""(?.+)"""; const string REGEX_UPC = @"^\s*UPC_EAN\s*""(?<catalog>[\d]{13,13})"""; // Unused const string REGEX_CD_TEXT = @"^\s*CD_TEXT\s*\{"; const string REGEX_CLOSURE = @"^\s*\}"; const string REGEX_LANGUAGE = @"^\s*LANGUAGE\s*(?<code>\d+)\s*\{"; const string REGEX_LANGUAGE_MAP = @"^\s*LANGUAGE_MAP\s*\{"; const string REGEX_LANGUAGE_MAPPING = @"^\s*(?<code>\d+)\s?\:\s?(?<language>\d+|\w+)"; }