├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── bin ├── compile └── logchecker ├── box.json ├── composer.json ├── composer.lock ├── phpcs.xml ├── phpstan-baseline.neon ├── phpstan.neon ├── phpunit.xml ├── scripts └── update_offsets.php ├── src ├── Chardet.php ├── Check │ ├── Checksum.php │ └── Ripper.php ├── Command │ ├── AnalyzeCommand.php │ ├── DecodeCommand.php │ └── TranslateCommand.php ├── Exception │ ├── FileNotFoundException.php │ ├── InvalidFileException.php │ ├── UnknownLanguageException.php │ └── UnknownRipperException.php ├── Logchecker.php ├── LogcheckerConsole.php ├── Parser │ └── EAC │ │ ├── Translator.php │ │ └── languages │ │ ├── README.md │ │ ├── bg.json │ │ ├── cs.json │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── it.json │ │ ├── jp.json │ │ ├── ko.json │ │ ├── master.json │ │ ├── nl.json │ │ ├── pl.json │ │ ├── ru.json │ │ ├── se.json │ │ ├── sk.json │ │ ├── sr.json │ │ └── zh.json ├── Util.php └── resources │ └── drives.json └── tests ├── Check ├── ChecksumTest.php └── RipperTest.php ├── LogcheckerTest.php ├── Parser └── EAC │ └── TranslatorTest.php ├── UtilTest.php └── logs ├── eac ├── details │ ├── combined_1.json │ ├── combined_copy_aborted.json │ ├── combined_mp3_1.json │ ├── combined_mp3_2.json │ ├── cs_1.json │ ├── eac_95_1.json │ ├── en_1.json │ ├── en_2.json │ ├── en_3.json │ ├── en_4.json │ ├── en_5.json │ ├── en_6.json │ ├── en_7.json │ ├── en_8_negative_offset.json │ ├── en_delete_leading_silent.json │ ├── en_normalization.json │ ├── encoding_maccentraleurope.json │ ├── file_write_error.json │ ├── gap_handling_left_out.json │ ├── id3_tags.json │ ├── incorrect_offset.json │ ├── invalid_track_separator.json │ ├── long_filename.json │ ├── no_test_copy.json │ ├── pl_1.json │ ├── range_rip_no_space_before_filename.json │ └── ru_1.json ├── html │ ├── combined_1.log │ ├── combined_copy_aborted.log │ ├── combined_mp3_1.log │ ├── combined_mp3_2.log │ ├── cs_1.log │ ├── eac_95_1.log │ ├── en_1.log │ ├── en_2.log │ ├── en_3.log │ ├── en_4.log │ ├── en_5.log │ ├── en_6.log │ ├── en_7.log │ ├── en_8_negative_offset.log │ ├── en_delete_leading_silent.log │ ├── en_normalization.log │ ├── encoding_maccentraleurope.log │ ├── file_write_error.log │ ├── gap_handling_left_out.log │ ├── id3_tags.log │ ├── incorrect_offset.log │ ├── invalid_track_separator.log │ ├── long_filename.log │ ├── no_test_copy.log │ ├── pl_1.log │ ├── range_rip_no_space_before_filename.log │ └── ru_1.log ├── originals │ ├── combined_1.log │ ├── combined_copy_aborted.log │ ├── combined_mp3_1.log │ ├── combined_mp3_2.log │ ├── cs_1.log │ ├── eac_95_1.log │ ├── en_1.log │ ├── en_2.log │ ├── en_3.log │ ├── en_4.log │ ├── en_5.log │ ├── en_6.log │ ├── en_7.log │ ├── en_8_negative_offset.log │ ├── en_delete_leading_silent.log │ ├── en_normalization.log │ ├── encoding_maccentraleurope.log │ ├── file_write_error.log │ ├── gap_handling_left_out.log │ ├── id3_tags.log │ ├── incorrect_offset.log │ ├── invalid_track_separator.log │ ├── long_filename.log │ ├── no_test_copy.log │ ├── pl_1.log │ ├── range_rip_no_space_before_filename.log │ └── ru_1.log └── utf8 │ ├── cs │ ├── 1.log │ └── 1_en.log │ ├── it │ ├── 1.log │ └── 1_en.log │ ├── jp │ ├── 1.log │ └── 1_en.log │ ├── ko │ ├── 1.log │ └── 1_en.log │ ├── pl │ ├── 1.log │ └── 1_en.log │ └── zh │ ├── 1.log │ └── 1_en.log ├── whipper ├── details │ ├── 1.json │ ├── 4.json │ ├── invalid_hash.json │ ├── missing_hash.json │ └── whipper_0_9_0.json ├── html │ ├── 1.log │ ├── 4.log │ ├── invalid_hash.log │ ├── missing_hash.log │ └── whipper_0_9_0.log └── originals │ ├── 1.log │ ├── 4.log │ ├── invalid_hash.log │ ├── missing_hash.log │ └── whipper_0_9_0.log └── xld ├── details ├── angle_bracket.json ├── null_drive.json ├── old_no_checksum.json ├── range-vbox.json ├── xld_perfect.json └── xld_perfect_2.json ├── html ├── angle_bracket.log ├── null_drive.log ├── old_no_checksum.log ├── range-vbox.log ├── xld_perfect.log └── xld_perfect_2.log └── originals ├── angle_bracket.log ├── null_drive.log ├── old_no_checksum.log ├── range-vbox.log ├── xld_perfect.log └── xld_perfect_2.log /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | testsuite: 7 | runs-on: ubuntu-latest 8 | strategy: 9 | matrix: 10 | php-version: ['8.1', '8.2', '8.3'] 11 | 12 | steps: 13 | - uses: actions/checkout@v2 14 | 15 | - name: Setup PHP 16 | uses: shivammathur/setup-php@v2 17 | with: 18 | php-version: ${{ matrix.php-version }} 19 | coverage: pcov 20 | 21 | 22 | - name: Composer install 23 | run: composer install 24 | 25 | - run: pip3 install cchardet xld_logchecker eac_logchecker 26 | 27 | - run: composer run lint 28 | 29 | - run: composer run static-analysis 30 | 31 | - run: composer run test 32 | 33 | - run: bin/logchecker --version 34 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Upload Release PHAR 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | build: 9 | name: Upload Release PHAR 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout code 13 | uses: actions/checkout@v4 14 | 15 | - name: Setup PHP 16 | uses: shivammathur/setup-php@v2 17 | with: 18 | php-version: '8.2' 19 | 20 | - name: Composer install 21 | run: composer install 22 | 23 | - run: composer global require humbug/box:^4.6 24 | 25 | - name: Compile PHAR 26 | run: ~/.composer/vendor/bin/box compile 27 | 28 | - run: php logchecker.phar --version 29 | 30 | - name: Upload Release Asset 31 | id: upload-release-asset 32 | uses: softprops/action-gh-release@v1 33 | with: 34 | files: logchecker.phar 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | vendor/ 3 | logchecker.phar 4 | .DS_Store 5 | .vscode/ 6 | 7 | .phpunit.result.cache 8 | .phpunit.cache/ 9 | report/ 10 | 11 | /tests/logs/old 12 | /tests/logs/*/holding 13 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Logchecker 2 | 3 | A CD rip logchecker, used for analyzing the generated logs for any problems that would potentially 4 | indicate a non-perfect rip was produced. Of course, just because a log doesn't score a perfect 100% 5 | does not mean that the produced rip isn't bit perfect, it's just less likely. This library should work 6 | on any OS where PHP and Python are supported. 7 | 8 | While this library will analyze most parts of a log, unfortunately it cannot properly validate the checksums 9 | for all types of logs. This is due to creators of these programs making their logchecker closed source 10 | and involves some amount of custom mathematical work to produce it. Therefore, we have to fallback on 11 | external methods to validate the checksums of EAC and XLD. If the logchecker detects that we do not have 12 | the necessary programs, then we will just skip this external step and assume the checksum is valid. For 13 | setting up the necessary programs to validate the checksum, see below for the given program you care about. 14 | 15 | ## Requirements 16 | 17 | * PHP 8.1+ 18 | 19 | ## Optional Requirements 20 | 21 | * Python 3.5+ 22 | * [cchardet](https://github.com/PyYoshi/cChardet) (or [chardet](https://github.com/chardet/chardet)) 23 | * [eac_logchecker.py](https://github.com/OPSnet/eac_logchecker.py) 24 | * [xld_logchecker.py](https://github.com/OPSnet/xld_logchecker.py) 25 | 26 | ```bash 27 | pip3 install cchardet eac-logchecker xld-logchecker 28 | ``` 29 | 30 | ## Standalone 31 | 32 | ### Installation 33 | 34 | Install via composer: 35 | 36 | ```bash 37 | composer global require orpheusnet/logchecker 38 | ``` 39 | 40 | Alternatively, go to our [releases](https://github.com/OPSnet/Logchecker/releases) and grab the `logchecker.phar` 41 | file. Download this file, and then it can executed via CLI by running `php logchecker.phar`. If you `chmod +x` the 42 | file, then it should be directly executable (i.e. `./logchecker.phar`). To then install it globally, run: 43 | 44 | ```bash 45 | mv logchecker.phar /usr/local/bin/logchecker 46 | chmod +x /usr/local/bin/logchecker 47 | ``` 48 | 49 | ### Usage 50 | 51 | ```text 52 | $ logchecker list 53 | Logchecker 0.11.1 54 | 55 | Usage: 56 | command [options] [arguments] 57 | 58 | Options: 59 | -h, --help Display this help message 60 | -q, --quiet Do not output any message 61 | -V, --version Display this application version 62 | --ansi Force ANSI output 63 | --no-ansi Disable ANSI output 64 | -n, --no-interaction Do not ask any interactive question 65 | -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug 66 | 67 | Available commands: 68 | analyze [analyse] analyze log file 69 | decode Decodes log from whatever encoding into UTF-8 70 | help Displays help for a command 71 | list Lists commands 72 | translate Translates a log into english 73 | ``` 74 | 75 | Main usage is through the `analyze` command, e.g.: 76 | 77 | ```text 78 | $ logchecker analyze --no_text path/to/file.log 79 | Ripper : EAC 80 | Version : 1.0 beta 3 81 | Language: en 82 | Score : 59 83 | Checksum: checksum_ok 84 | Details : 85 | Could not verify gap handling (-10 points) 86 | Could not verify id3 tag setting (-1 point) 87 | Range rip detected (-30 points) 88 | ``` 89 | 90 | ### Code 91 | 92 | ```php 93 | add_file('path/to/file.log'); 97 | list($score, $details, $checksum_state, $log_text) = $logchecker->parse(); 98 | ``` 99 | 100 | ## Library Usage 101 | 102 | ### Installation 103 | 104 | ```bash 105 | composer require orpheusnet/logchecker 106 | ``` 107 | 108 | ### Usage 109 | 110 | ```php 111 | newFile('/path/to/log/file'); 119 | $logchecker->parse(); 120 | print('Ripper : ' . $logchecker->getRipper() . "\n"); 121 | print('Version : ' . $logchecker->getRipperVersion() . "\n"); 122 | print('Score : ' . $logchecker->getScore() . "\n"); 123 | print('Checksum : ' . $logchecker->getChecksumState() . "\n"); 124 | print("\nDetails:\n"); 125 | foreach ($logchecker->getDetails() as $detail) { 126 | print(" {$detail}\n"); 127 | } 128 | print("\nLog Text:\n\n{$logchecker->getLog()}"); 129 | ``` 130 | 131 | ## Building 132 | 133 | To build your own phar, see the `release.yml` workflow, but the gist is: 134 | 135 | 1. Clone this repo and enter repo 136 | 1. Install [box](https://github.com/box-project/box) 137 | 1. Run `box compile` 138 | 1. Get `logchecker.phar` in root of repo 139 | -------------------------------------------------------------------------------- /bin/compile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | startBuffering(); 12 | 13 | $base_dir = realpath(__DIR__.'/../'); 14 | 15 | $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(realpath(__DIR__.'/../src'), RecursiveDirectoryIterator::SKIP_DOTS)); 16 | foreach ($it as $entry) { 17 | $phar->addFile($entry->getPathName(), str_replace($base_dir, '', $entry->getPathName())); 18 | } 19 | 20 | $vendor = [ 21 | 'composer', 22 | 'psr', 23 | 'symfony' 24 | ]; 25 | 26 | foreach ($vendor as $dir) { 27 | $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(realpath(__DIR__.'/../vendor/'.$dir), RecursiveDirectoryIterator::SKIP_DOTS)); 28 | foreach ($it as $entry) { 29 | $phar->addFile($entry->getPathName(), str_replace($base_dir, '', $entry->getPathName())); 30 | } 31 | } 32 | 33 | $phar->addFile(realpath(__DIR__.'/../vendor/autoload.php'), 'vendor/autoload.php'); 34 | 35 | 36 | $phar->addFile(realpath(__DIR__.'/../composer.json'), 'composer.json'); 37 | $phar->addFile(realpath(__DIR__.'/../LICENSE.md'), 'LICENSE.md'); 38 | $phar->addFile(realpath(__DIR__.'/../README.md'), 'README.md'); 39 | 40 | $bin_file = file_get_contents(__DIR__.'/logchecker'); 41 | $bin_file = preg_replace('{^#!/usr/bin/env php\s*}', '', $bin_file); 42 | $phar->addFromString('bin/logchecker', $bin_file); 43 | 44 | $stub = <<setStub($stub); 54 | 55 | 56 | $phar->stopBuffering(); 57 | 58 | //$phar->compress(Phar::GZ); 59 | 60 | echo "{$phar_file} generated..."; 61 | -------------------------------------------------------------------------------- /bin/logchecker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | run(); 8 | -------------------------------------------------------------------------------- /box.json: -------------------------------------------------------------------------------- 1 | { 2 | "alias": "logchecker.phar", 3 | "compactors": [ 4 | "KevinGH\\Box\\Compactor\\Json", 5 | "KevinGH\\Box\\Compactor\\Php" 6 | ], 7 | "directories": [ 8 | "src", 9 | "vendor/symfony/console/Resources" 10 | ], 11 | "exclude-composer-files": false, 12 | "files": [ 13 | "bin/logchecker", 14 | "composer.json", 15 | "LICENSE.md" 16 | ], 17 | "finder": [ 18 | { 19 | "name": "*.php", 20 | "exclude": [ 21 | "File", 22 | "mikey179", 23 | "Net", 24 | "phpunit", 25 | "phpunit-test-case", 26 | "Tester", 27 | "Tests", 28 | "tests" 29 | ], 30 | "in": "vendor" 31 | }, 32 | { 33 | "name": "composer.json", 34 | "in": "." 35 | } 36 | ], 37 | "output": "logchecker.phar" 38 | } 39 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "orpheusnet/logchecker", 3 | "description": "Logchecker for validating logs generated from supported ripping programs (like EAC and XLD)", 4 | "version": "0.14.0", 5 | "license": "Unlicense", 6 | "type": "library", 7 | "authors": [ 8 | { 9 | "name": "Orpheus", 10 | "email": "no-reply@orpheus.network" 11 | } 12 | ], 13 | "autoload": { 14 | "psr-4": { 15 | "OrpheusNET\\Logchecker\\": "src/" 16 | } 17 | }, 18 | "require": { 19 | "php": "^8.1", 20 | "ext-iconv": "*", 21 | "ext-mbstring": "*", 22 | "symfony/console": "^6.0|^7.0", 23 | "symfony/process": "^6.0|^7.0", 24 | "symfony/yaml": "^6.0|^7.0" 25 | }, 26 | "bin": ["bin/logchecker"], 27 | "require-dev": { 28 | "phpstan/phpstan": "^1.10", 29 | "phpunit/phpunit": "^10.5", 30 | "squizlabs/php_codesniffer": "^3.8" 31 | }, 32 | "scripts": { 33 | "test": "phpunit", 34 | "lint": "phpcs", 35 | "lint:fix": "phpcbf", 36 | "static-analysis": "phpstan analyze src/ tests/" 37 | }, 38 | "extra": { 39 | "hooks": { 40 | "pre-commit": [ 41 | "composer run lint:fix", 42 | "composer run static-analysis" 43 | ] 44 | } 45 | }, 46 | "config": { 47 | "platform": { 48 | "php": "8.1" 49 | }, 50 | "sort-packages": true 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | The OrpheusNET Standard/ 4 | 5 | 6 | 7 | 8 | src 9 | tests 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /phpstan-baseline.neon: -------------------------------------------------------------------------------- 1 | parameters: 2 | ignoreErrors: 3 | - 4 | message: "#^Property OrpheusNET\\\\Logchecker\\\\Logchecker\\:\\:\\$ARSummary is never read, only written\\.$#" 5 | count: 1 6 | path: src/Logchecker.php 7 | 8 | - 9 | message: "#^Property OrpheusNET\\\\Logchecker\\\\Logchecker\\:\\:\\$ARTracks is never read, only written\\.$#" 10 | count: 1 11 | path: src/Logchecker.php 12 | -------------------------------------------------------------------------------- /phpstan.neon: -------------------------------------------------------------------------------- 1 | includes: 2 | - phpstan-baseline.neon 3 | 4 | parameters: 5 | level: 5 6 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | tests 12 | 13 | 14 | 15 | 16 | 17 | src 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /scripts/update_offsets.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | loadHTML(curl_exec($ch), LIBXML_NOWARNING | LIBXML_NOERROR); 24 | curl_close($ch); 25 | print("Loaded AccurateRip Drive Website\n\n"); 26 | 27 | $item = $doc->getElementsByTagName('table')->item(1); 28 | if ($item === null) { 29 | die(); 30 | } 31 | 32 | $drives = []; 33 | $count = $item->childNodes->count(); 34 | for ($i = 2; $i < $count; $i++) { 35 | $childNode = $item->childNodes->item($i); 36 | if ($childNode === null) { 37 | continue; 38 | } 39 | if ($childNode->nodeName !== 'tr') { 40 | continue; 41 | } 42 | 43 | $drive = array_map('trim', explode("\n", ltrim(trim($childNode->textContent), "- "))); 44 | if (count($drive) !== 4) { 45 | continue; 46 | } 47 | $drive[1] = (int) $drive[1]; 48 | $drive[3] = (int) $drive[3]; 49 | 50 | if ($drive[1] === '[Purged]' || $drive[3] <= 50) { 51 | continue; 52 | } 53 | 54 | foreach ($replacements as [$old, $new]) { 55 | $drive[0] = str_replace($old, $new, $drive[0]); 56 | } 57 | $drive[0] = strtolower($drive[0]); 58 | $drive[0] = preg_replace('/ +- +/', ' ', $drive[0]); 59 | $drive[0] = preg_replace('/ +/', ' ', $drive[0]); 60 | 61 | //print("[" . implode(', ', array_values($drive)) . "]\n"); 62 | 63 | $drives[] = $drive; 64 | } 65 | file_put_contents(implode(DIRECTORY_SEPARATOR, [__DIR__, '..', 'src', 'resources', 'drives.json']), json_encode($drives)); 66 | print("Updating " . count($drives) . " drives\n"); 67 | /* 68 | $drives = []; 69 | for ($i = 1; $i < $rows->length; $i++) { 70 | $row = $rows->item($i); 71 | if ($row->childNodes->length > 4 && $row->childNodes->item(3)->nodeValue !== '[Purged]') { 72 | $drive = trim($row->childNodes->item(1)->nodeValue, '- '); 73 | foreach ($replacements as $replacement) { 74 | $drive = str_replace($replacement[0], $replacement[1], $drive); 75 | } 76 | $drive = strtolower($drive); 77 | $drive = preg_replace('/ +- +/', ' ', $drive); 78 | $drive = preg_replace('/ +/', ' ', $drive); 79 | 80 | 81 | $offset = ltrim(trim($row->childNodes->item(3)->nodeValue), '+'); 82 | $offsets[] = $drive.','.$offset; 83 | } 84 | } 85 | 86 | file_put_contents(__DIR__.'/../src/offsets.txt', implode("\n", $offsets)); 87 | 88 | print("Updating ".count($offsets)." drives\n"); 89 | */ 90 | -------------------------------------------------------------------------------- /src/Chardet.php: -------------------------------------------------------------------------------- 1 | executables as $executable) { 33 | if (Util::commandExists($executable)) { 34 | static::$executable = $executable; 35 | break; 36 | } 37 | } 38 | 39 | if (static::$executable === null) { 40 | throw new \RuntimeException('chardet not installed'); 41 | } 42 | } 43 | } 44 | 45 | /** 46 | * @throws \Exception 47 | */ 48 | public function analyze($filename): array 49 | { 50 | if (!file_exists($filename)) { 51 | throw new FileNotFoundException($filename); 52 | } 53 | 54 | $process = new Process([static::$executable, $filename]); 55 | $process->run(); 56 | 57 | /** 58 | * General output is something like: 59 | * test.log: UTF-8-SIG with confidence 0.9900000095367432 60 | * 61 | * and our regex should give us the following elements: 62 | * matches[1] - file path 63 | * matches[2] - charset 64 | * matches[3] - confidence 65 | */ 66 | 67 | if ((preg_match('/(.+): (.+) .+confidence:? ([^\)]+)/', strtolower($process->getOutput()), $matches) === 0)) { 68 | throw new \Exception('This file is not analyzed'); 69 | } elseif (isset($matches[2]) && $matches[2] === 'None') { 70 | throw new \Exception('Could not determine character set'); 71 | } 72 | 73 | return ['file' => $matches[1], 'charset' => strtolower($matches[2]), 'confidence' => (float) $matches[3]]; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/Check/Checksum.php: -------------------------------------------------------------------------------- 1 | run(); 50 | $output = $process->getOutput(); 51 | if (strpos($output, $goodResult) === false) { 52 | if ($output == null) { 53 | return static::CHECKSUM_MISSING; 54 | } elseif (strpos($output, $noChecksumResult) !== false) { 55 | return static::CHECKSUM_MISSING; 56 | } elseif (strpos($output, $invalidResult) !== false) { 57 | return static::CHECKSUM_INVALID; 58 | } 59 | } 60 | } 61 | } 62 | 63 | return static::CHECKSUM_OK; 64 | } 65 | 66 | public static function logcheckerExists(string $ripper): bool 67 | { 68 | if ($ripper === Ripper::WHIPPER) { 69 | return true; 70 | } elseif ($ripper === Ripper::EAC) { 71 | $command = static::EAC_LOGCHECKER; 72 | } elseif ($ripper === Ripper::XLD) { 73 | $command = static::XLD_LOGCHECKER; 74 | } else { 75 | throw new UnknownRipperException("Unknown ripper: {$ripper}"); 76 | } 77 | return Util::commandExists($command); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/Check/Ripper.php: -------------------------------------------------------------------------------- 1 | setName('analyze') 19 | ->setAliases(['analyse']) 20 | ->setDescription('analyze log file') 21 | ->setHelp('This command analyzes a log file') 22 | ->addOption('html', null, InputOption::VALUE_NONE, 'Print the HTML version of log, without color') 23 | ->addOption('no_text', null, InputOption::VALUE_NONE, 'Do not print log text to console') 24 | ->addArgument('file', InputArgument::REQUIRED, 'Log file to analyze') 25 | ->addArgument('out_file', InputArgument::OPTIONAL, 'Write HTML log to outfile') 26 | ->addArgument('details', InputArgument::OPTIONAL, 'Write details to file'); 27 | } 28 | 29 | protected function execute(InputInterface $input, OutputInterface $output) 30 | { 31 | $filename = $input->getArgument('file'); 32 | if (!file_exists($filename)) { 33 | $output->writeln("Invalid file"); 34 | return 1; 35 | } 36 | 37 | $logchecker = new Logchecker(); 38 | $logchecker->newFile($filename); 39 | $logchecker->parse(); 40 | 41 | if ($input->getArgument('details')) { 42 | file_put_contents($input->getArgument('details'), json_encode([ 43 | "ripper" => $logchecker->getRipper(), 44 | "version" => $logchecker->getRipperVersion(), 45 | "language" => $logchecker->getLanguage(), 46 | "combined" => $logchecker->isCombinedLog(), 47 | "score" => $logchecker->getScore(), 48 | "checksum" => $logchecker->getChecksumState(), 49 | "details" => $logchecker->getDetails(), 50 | ], JSON_PRETTY_PRINT)); 51 | } 52 | if ($input->getArgument('out_file')) { 53 | file_put_contents($input->getArgument('out_file'), $logchecker->getLog()); 54 | return 0; 55 | } 56 | 57 | $output->writeln('Ripper : ' . $logchecker->getRipper()); 58 | $output->writeln('Version : ' . $logchecker->getRipperVersion()); 59 | $output->writeln('Language: ' . $logchecker->getLanguage()); 60 | $output->writeln('Score : ' . $logchecker->getScore()); 61 | $output->writeln('Checksum: ' . $logchecker->getChecksumState()); 62 | 63 | $details = $logchecker->getDetails(); 64 | if (count($details) > 0) { 65 | $output->writeln('Details :'); 66 | foreach ($details as $detail) { 67 | $output->writeln(' ' . $detail); 68 | } 69 | } 70 | 71 | if ($input->getOption('no_text')) { 72 | return 0; 73 | } 74 | $output->writeln(''); 75 | $output->writeln('Log Text:'); 76 | $output->writeln(''); 77 | $replaces = [ 78 | "" => "", 79 | "" => "", 80 | "" => "", 81 | "" => "", 82 | "" => "", 83 | "" => "", 84 | "" => "", 85 | "" => "", 86 | "" => "", 87 | "" => "", 88 | "" => "", 89 | "" => "", 90 | "" => "", 91 | "" => "", 92 | "" => "", 93 | ]; 94 | $log = preg_replace('//', "", $logchecker->getLog()); 95 | 96 | if (!$input->getOption('html')) { 97 | $log = str_replace(array_keys($replaces), array_values($replaces), $log); 98 | } 99 | 100 | $output->writeln($log, $input->getOption('html') ? Output::OUTPUT_RAW : Output::OUTPUT_NORMAL); 101 | 102 | return 0; 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /src/Command/DecodeCommand.php: -------------------------------------------------------------------------------- 1 | setName('decode') 17 | ->setDescription('Decodes log from whatever encoding into UTF-8') 18 | ->setHelp(<<addArgument('file', InputArgument::REQUIRED, 'Log file to decode') 31 | ->addArgument('out_file', InputArgument::OPTIONAL, 'File to write decoded log file to'); 32 | } 33 | 34 | protected function execute(InputInterface $input, OutputInterface $output) 35 | { 36 | $filename = $input->getArgument('file'); 37 | if (!file_exists($filename)) { 38 | $output->writeln("Invalid file"); 39 | return 1; 40 | } 41 | 42 | $log = file_get_contents($filename); 43 | $log = Util::decodeEncoding($log, $filename); 44 | 45 | if ($input->getArgument('out_file')) { 46 | file_put_contents($input->getArgument('out_file'), $log); 47 | } else { 48 | $output->write($log); 49 | } 50 | 51 | return 0; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/Command/TranslateCommand.php: -------------------------------------------------------------------------------- 1 | setName('translate') 18 | ->setDescription('Translates a log into english') 19 | ->setHelp("Translates a log into english") 20 | ->addOption('language', 'l', InputOption::VALUE_REQUIRED, 'Force language to use') 21 | ->addArgument('file', InputArgument::REQUIRED, 'Log file to decode') 22 | ->addArgument('out_file', InputArgument::OPTIONAL, 'File to write decoded log file to'); 23 | } 24 | 25 | protected function execute(InputInterface $input, OutputInterface $output) 26 | { 27 | $filename = $input->getArgument('file'); 28 | if (!file_exists($filename)) { 29 | $output->writeln("Invalid file"); 30 | return 1; 31 | } 32 | 33 | $log = file_get_contents($filename); 34 | $outFile = $input->getArgument('out_file'); 35 | if (!is_null($outFile)) { 36 | $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); 37 | } 38 | 39 | if ($input->getOption('language')) { 40 | $code = $input->getOption('language'); 41 | $output->writeln("Translating from {$code} to English"); 42 | } else { 43 | $language = Translator::getLanguage($log); 44 | $code = $language['code']; 45 | $output->writeln("Translating from {$language['name']} ({$language['name_english']}) to English"); 46 | } 47 | 48 | $log = Translator::translate($log, $code); 49 | 50 | if (!is_null($outFile)) { 51 | file_put_contents($outFile, $log); 52 | } else { 53 | $output->write($log); 54 | } 55 | 56 | return 0; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/Exception/FileNotFoundException.php: -------------------------------------------------------------------------------- 1 | addCommands([ 19 | $analyze_command, 20 | new Command\DecodeCommand(), 21 | new Command\TranslateCommand() 22 | ]); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Parser/EAC/Translator.php: -------------------------------------------------------------------------------- 1 | $value) { 31 | if (empty($english[$key])) { 32 | continue; 33 | } 34 | 35 | if (!is_array($value)) { 36 | $value = [$value]; 37 | } 38 | foreach ($value as $vvalue) { 39 | // want to be case insensitive for most things, but not "No", "Yes", etc 40 | $flags = ($key > 16) ? 'ui' : 'u'; 41 | $tmp_log = preg_replace('/' . preg_quote($vvalue, '/') . '/' . $flags, $english[$key], $log); 42 | if ($tmp_log !== null) { 43 | $log = $tmp_log; 44 | } 45 | } 46 | } 47 | 48 | return $log; 49 | } 50 | 51 | public static function getLanguage(string $log): array 52 | { 53 | $languages = json_decode( 54 | file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'languages' . DIRECTORY_SEPARATOR . 'master.json'), 55 | true 56 | ); 57 | 58 | foreach ($languages as $code => $lang) { 59 | foreach ($lang['eac_strings'] as $eac_string) { 60 | if (preg_match('/' . preg_quote($eac_string, "/") . '/ui', $log) === 1) { 61 | return [ 62 | 'code' => $code, 63 | 'name' => $lang['name'], 64 | 'name_english' => $lang['name_english'] 65 | ]; 66 | } 67 | } 68 | } 69 | 70 | throw new UnknownLanguageException('Could not determine language of EAC log'); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/README.md: -------------------------------------------------------------------------------- 1 | EAC Languages 2 | ============= 3 | 4 | EAC has the ability to use translation files to support other languages. This affects both the 5 | UI as well as the files that EAC outputs, which includes the log file from a rip. The JSON 6 | files in this directory represent a stripped down version of the translation files that EAC uses, 7 | including just the strings that the logs contain/use. 8 | 9 | While EAC comes with several official languages that it supports, people have created their own 10 | translation files for several more languages, as well as for some of the officially supported 11 | ones. 12 | 13 | We support the following languages: 14 | 15 | * bg: Bulgarian 16 | * cs: Czech 17 | * de: German 18 | * en: English 19 | * es: Spanish 20 | * fr: French 21 | * it: Italian 22 | * jp: Japanese 23 | * jp99_5: Japanese (Alternate) 24 | * nl: Dutch 25 | * pl: Polish 26 | * ru: Russian 27 | * se: Swedish 28 | * se_2: Swedish (Alternate) 29 | * sk: Slovak 30 | * sr: Serbian 31 | * zh-Hans: Chinese (Simplified) 32 | 33 | Within each JSON file, the keys represent the numeric key that EAC internally uses for each phrase, 34 | and that points to the phrase itself. For each number in each file, there should be a corresponding 35 | number within the `en.json` file. The `master.json` file contains a key that represents a filename, 36 | and then points to the entry at key `1274`. Our logchecker loads this master file, iterates through 37 | until it finds a matching entry, and then if that entry is not `en`, loads the related JSON file 38 | and translates all strings it can from that language to English. 39 | 40 | Important note: These strings should be roughly assembled from longest string to shortest or else you 41 | risk the potential for certain string sequences to be messed up. 42 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/bg.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Игнориране името на файла", 3 | "50": "Недопустима стойност !", 4 | "51": "Невалидни символи !", 5 | "52": "Невалидно име на файл !", 6 | 7 | "1200": "Отчет за състояние и грешки", 8 | 9 | "2501": "Състояние и грешки на трак", 10 | "1203": "Възможни Грешки", 11 | "1204": "Създай Отчет", 12 | "1210": "Състояние и грешки на диапазон", 13 | "1211": "Избран диапазон", 14 | "1212": " Синхронизационен проблем ", 15 | "1213": " Подозрително местоположение ", 16 | "1214": " Липсващи семпли", 17 | "1215": " Твърде много семпли", 18 | "1216": " Грешка при запис на файл", 19 | "1217": " Пиково ниво ", 20 | "1299": " Скорост на извличане ", 21 | "1218": " Качество на диапазона ", 22 | "1219": " CRC ", 23 | "1220": " Копиране OK", 24 | "1221": " Копирането завърши", 25 | "1227": " Качество на трака ", 26 | "1228": " Копирането отменено", 27 | "1269": " Име на файл ", 28 | "1270": " Дължина на предпразнина ", 29 | "1271": " Тестван CRC ", 30 | "1272": " Копиран CRC ", 31 | "1273": " Компресиране", 32 | "1280": " Непълно извлечен трак според AccurateRip", 33 | "1281": " Точно извличане (достоверност ", 34 | "1282": " Неточно извличане (достоверност ", 35 | "1283": " Тракът не е в базата данни на AccurateRip", 36 | "1330": " Не може да бъде потвърден като точен", 37 | "1337": "не може да бъде потвърден като точен", 38 | "1331": ", AccurateRip върна", 39 | "1332": "(достоверност ", 40 | "1333": "Траковете не могат да бъдат потвърдени като точни", 41 | "1334": "Може би имате различно издание от наличния(ите) в базата данни", 42 | "1335": "Някои тракове не могат да бъдат потвърдени като точни", 43 | "1336": "Всички тракове са извлечени точно", 44 | "1338": "Използване на нулеви семпли при CRC изчисления", 45 | "1339": "Трак(а) не е(са) в базата данни на AccurateRip", 46 | "1340": "Трак(а) точно извлечен(и)", 47 | "1341": "Трак(а) не се потвърждава(т) като точен(и)", 48 | "1342": "Трак(а) с непълно извличане според AccurateRip", 49 | "1343": "Трак(а) прекъснат(и)", 50 | "1344": "Никой от траковете не е в базата данни на AccurateRip", 51 | "1284": "Не всички тракове са извлечени точно", 52 | "1222": "Няма грешки", 53 | "1223": "Прегледай Диапазона", 54 | "1224": "Има грешки", 55 | "1225": "Край на отчета", 56 | "1321": "Няма открити, прикачени към предишния трак", 57 | "1322": "Прикачени към предишния трак", 58 | "1323": "Прикачени към следващия Трак", 59 | "1325": "Контролна сума от отчет", 60 | "1226": "Трак", 61 | "1230": "Индекс", 62 | "1229": "Преглед на Тракове", 63 | "1274": "Отчет на EAC за извличане, извършено на ", 64 | "1240": "януари", 65 | "1241": "февруари", 66 | "1242": "март", 67 | "1243": "април", 68 | "1244": "май", 69 | "1245": "юни", 70 | "1246": "юли", 71 | "1247": "август", 72 | "1248": "септември", 73 | "1249": "октомври", 74 | "1250": "ноември", 75 | "1251": "декември", 76 | "1232": "Отчет на EAC за извличане", 77 | "1233": "Използвано устройство : ", 78 | "1234": "Режим на четене", 79 | "1235": "Burst", 80 | "1236": "Бърз", 81 | "1237": "Параноичен", 82 | "1238": "Надежден БЕЗ C2 корекция, точен поток, БЕЗ изключен кеш", 83 | "1239": "Надежден БЕЗ C2 корекция, БЕЗ точен поток, изключен кеш", 84 | "1252": "Надежден с C2 корекция, точен поток, БЕЗ изключен кеш", 85 | "1253": "Надежден с C2 корекция, точен поток, изключен кеш", 86 | "1254": "Надежден БЕЗ C2 корекция, точен поток, изключен кеш", 87 | "1255": "Комбинирана офсет корекция при четене/запис", 88 | "1256": "Офсет корекция при четене", 89 | "1257": "Препрочитане на секторите Lead-In и Lead-Out", 90 | "1258": "Използван изходен формат", 91 | "1259": "Допълнителни конзолни опции", 92 | "1260": "Вътрешни правила за WAV", 93 | "1261": "44.100 Hz; 16 бита; Стерео", 94 | "1262": "Използвай офсет при компресиране", 95 | "1263": "Други опции : ", 96 | "1264": "Запълване на липсващи офсет семпли с тишина", 97 | "1265": "Изтриване на блокове тишина в началото и края", 98 | "1266": "Нормализирай до", 99 | "1267": "Вграден Win32 интерфейс за Win NT & 2000", 100 | "1268": "Външно инсталиран ASPI интерфейс", 101 | "1275": "AccurateRip резюме", 102 | "1276": "не е извлечен напълно", 103 | "1277": "точно извлечен (достоверност ", 104 | "1278": "неточно извлечен (достоверност ", 105 | "1279": "не е в базата данни", 106 | "1285": ", а трябва да е", 107 | "1286": "Извършване само на тестово извличане", 108 | "1287": "Сектори", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC на извлечения CD", 111 | "1290": "Трак", 112 | "1291": "Начало", 113 | "1292": "Дължина", 114 | "1293": "Начален сектор", 115 | "1294": "Краен сектор", 116 | "1295": "Надежден", 117 | "1296": "Използване на C2 показалци", 118 | "1297": "Използване на точен поток", 119 | "1298": "Изключено аудио кеширане", 120 | "1305": "Използван интерфейс", 121 | "1306": "Конзолен компресор", 122 | "1307": "Избран битрейт", 123 | "1308": "Качество", 124 | "1328": "Високо", 125 | "1329": "Ниско", 126 | "1309": "Добави ID3 таг", 127 | "1310": "Дискретен формат", 128 | "1320": "Управление на празнини", 129 | "1324": "Извадени", 130 | 131 | "81700": "L3Enc MP3 Енкодер & Съвместими", 132 | "81701": "Fraunhofer MP3Enc MP3 Енкодер", 133 | "81702": "Xing X3Enc MP3 Енкодер", 134 | "81703": "Xing ToMPG MP3 Енкодер", 135 | "81704": "LAME MP3 Енкодер", 136 | "81705": "GOGO MP3 Енкодер", 137 | "81706": "MPC Енкодер", 138 | "81707": "Ogg Vorbis Енкодер", 139 | "81708": "Microsoft WMA9 Енкодер", 140 | "81709": "FAAC AAC Енкодер", 141 | "81710": "Homeboy AAC Енкодер", 142 | "81711": "Quartex AAC Енкодер", 143 | "81712": "PsyTEL AAC Енкодер", 144 | "81713": "MBSoft AAC Енкодер", 145 | "81714": "Yamaha VQF Енкодер", 146 | "81715": "Real Audio Енкодер", 147 | "81716": "Monkey Аудио Енкодер без Загуби", 148 | "81717": "Shorten Енкодер без Загуби", 149 | "81718": "RKAU Енкодер без Загуби", 150 | "81719": "LPAC Енкодер без Загуби", 151 | "81720": "Енкодер Дефиниран от Потребителя", 152 | 153 | "4270": "Ниско", 154 | "4271": "Средно", 155 | "4272": "Високо", 156 | 157 | "1": "Български", 158 | "2": "Bulgarian", 159 | "5": "Съобщение за грешка", 160 | "6": "Внимание!", 161 | "7": "Успешно", 162 | "8": "Информация", 163 | "10": "OK", 164 | "11": "Откажи", 165 | "12": "Приложи", 166 | "15": "Да", 167 | "16": "Не" 168 | } -------------------------------------------------------------------------------- /src/Parser/EAC/languages/cs.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Název souboru bude ignorován", 3 | "50": "Hodnota je mimo rozsah!", 4 | "51": "Neplatné znaky!", 5 | "52": "Neplatný název souboru!", 6 | 7 | "1200": "Stavová a chybová hlášení", 8 | "2501": "Stopa - stav a chyby", 9 | "1203": "Možné chyby", 10 | "1204": "Vytvořit protokol", 11 | "1210": "Rozsah - stav a chyby", 12 | "1211": "Vybraný rozsah", 13 | "1212": " problém s časováním ", 14 | "1213": " podezřelá pozice ", 15 | "1214": " chybějící vzorky", 16 | "1215": " příliš mnoho vzorků", 17 | "1216": " chyba zápisu souboru", 18 | "1217": [ 19 | " špičková úroveň ", 20 | " špičková úrověň " 21 | ], 22 | "1299": " rychlost extrakce", 23 | "1218": " kvalita rozsahu ", 24 | "1219": " CRC ", 25 | "1220": " kopie OK", 26 | "1221": " kopie dokončena", 27 | "1227": " kvalita stopy ", 28 | "1228": " kopie přerušena", 29 | "1269": " název souboru ", 30 | "1270": " délka mezery ", 31 | "1271": " CRC testu ", 32 | "1272": " CRC kopie ", 33 | "1273": " komprimuji", 34 | "1280": " Stopa nebyla zcela extrahována, nelze porovnat s AccurateRip", 35 | "1281": " Extrahováno správně (spolehlivost ", 36 | "1282": " Extrahováno špatně (spolehlivost ", 37 | "1283": " Stopa není v AccurateRip databázi", 38 | "1330": " Nebylo možné ověřit jako přesné", 39 | "1337": "nebylo možné ověřit jako přesné", 40 | "1331": ", AccurateRip ", 41 | "1332": "(spolehlivost ", 42 | "1333": "Žádné stopy nemohly být ověřeny jako přesné", 43 | "1334": "Můžete mít jiný výlisek než jsou ty které jsou již v databázi", 44 | "1335": "Některé stopy nemohly být ověřeny jako přesné", 45 | "1336": "Všechny stopy byly extrahovány přesně", 46 | "1338": "Při výpočtu CRC použity nulové vzorky", 47 | "1339": "stopy nejsou v AccurateRip databázi", 48 | "1340": "stopy extrahovány přesně", 49 | "1341": "stopy nemohly být ověřeny jako přesné", 50 | "1342": "stopy nebyly extrahovány dostatečně pro vyhledání v AccurateRip", 51 | "1343": "stopy přeskočeny", 52 | "1344": "Ani jedna ze stop není v AccurateRip databázi", 53 | "1284": "Ne všechny stopy byly extrahovány správně", 54 | "1222": "Nedošlo k žádným chybám", 55 | "1223": "Přehled rozsahu", 56 | "1224": "Vyskytly se chyby", 57 | "1225": [ 58 | "Konec protokolu", 59 | "Konec stavového hlášení" 60 | ], 61 | "1321": "Nedetekovány - přidány k předchozí stopě", 62 | "1322": "Přidány k předchozí stopě", 63 | "1323": "Přidány k následující stopě", 64 | "1325": "Kontrolní součet protokolu", 65 | "1226": "Stopa", 66 | "1230": "Index", 67 | "1229": "Přehled stop", 68 | "1274": [ 69 | "Protokol extrakce EAC z ", 70 | "Záznam extrakce EAC z " 71 | ], 72 | "1240": "Leden", 73 | "1241": "Únor", 74 | "1242": "Březen", 75 | "1243": "Duben", 76 | "1244": "Květen", 77 | "1245": "Červen", 78 | "1246": "Červenec", 79 | "1247": "Srpen", 80 | "1248": "Září", 81 | "1249": "Říjen", 82 | "1250": "Listopad", 83 | "1251": "Prosinec", 84 | "1232": "Protokol extrakce EAC", 85 | "1233": "Použitá mechanika : ", 86 | "1234": "Režim čtení ", 87 | "1235": "Burst", 88 | "1236": "Rychlý", 89 | "1237": "Paranoidní", 90 | "1238": "Bezpečný bez C2, accurate stream, bez zakázání vyr. paměti", 91 | "1239": "Bezpečný bez C2, bez accurate stream, zakázaná vyr. paměť", 92 | "1252": "Bezpečný s C2, accurate stream, bez zakázání vyr. paměti", 93 | "1253": "Bezpečný s C2, accurate stream, zakázaná vyr. paměť", 94 | "1254": "Bezpečný bez C2, accurate stream, zakázaná vyr. paměť", 95 | "1255": "Kombinovaná korekce vychýlení čtení/zápisu: ", 96 | "1256": "Korekce vychýlení čtení", 97 | "1257": "Číst lead-in a lead-out", 98 | "1258": "Použitý výstupní formát", 99 | "1259": "Dodatečné parametry", 100 | "1260": "Interní WAV rutiny", 101 | "1261": "44.100 Hz; 16 Bit; Stereo", 102 | "1262": "Vychýlení komprese", 103 | "1263": "Ostatní volby", 104 | "1264": "Nahradit chybějící vzorky tichem", 105 | "1265": "Smazat ticho na začátku a na konci stop", 106 | "1266": "Normalizovat na ", 107 | "1267": "Integrované Win32 rozhraní pro NT/2k/XP", 108 | "1268": [ 109 | "Externí ASPI rozhraní", 110 | "Extení ASPI rozhraní" 111 | ], 112 | "_1275": "AccurateRip", 113 | "1276": "nekompletně extrahováno", 114 | "1277": "extrahováno správně (spolehlivost ", 115 | "1278": "extrahováno špatně (spolehlivost ", 116 | "1279": "není v databázi", 117 | "1285": ", ale mělo by být", 118 | "1286": "Provedena pouze testovací extrakce", 119 | "1287": "Sektory", 120 | "1288": "Exact Audio Copy", 121 | "1289": "TOC extrahovaného CD", 122 | "1290": "Stopa", 123 | "1291": "Počátek", 124 | "1292": "Délka", 125 | "1293": "Počáteční sektor", 126 | "1294": "Koncový sektor", 127 | "1295": "Bezpečný", 128 | "1296": "Použít C2 ukazatele", 129 | "1297": "Použít accurate stream", 130 | "1298": "Obejít zvukovou vyr. paměť", 131 | "1305": "Použité rozhraní", 132 | "1306": "Komprimační program pro příkazový řádek", 133 | "1307": [ 134 | "Zvolený datový tok", 135 | "Zvolený bitrate" 136 | ], 137 | "1308": "Kvalita", 138 | "1328": "Vysoká", 139 | "1329": "Nízká", 140 | "1309": "Přidat ID3 tag", 141 | "1310": "Formát vzorkování", 142 | "1320": "Nakládání s mezerami", 143 | "1324": "Vynechány", 144 | 145 | "81700": "L3Enc MP3 enkodér nebo kompatibilní", 146 | "81701": "Fraunhofer MP3Enc MP3 enkodér", 147 | "81702": "Xing X3Enc MP3 enkodér", 148 | "81703": "Xing ToMPG MP3 enkodér", 149 | "81704": "LAME MP3 enkodér", 150 | "81705": "GOGO MP3 enkodér", 151 | "81706": "MPC enkodér", 152 | "81707": "Ogg Vorbis enkodér", 153 | "81708": "Microsoft WMA9 enkodér", 154 | "81709": "FAAC AAC enkodér", 155 | "81710": "Homeboy AAC enkodér", 156 | "81711": "Quartex AAC enkodér", 157 | "81712": "PsyTEL AAC enkodér", 158 | "81713": "MBSoft AAC enkodér", 159 | "81714": "Yamaha VQF enkodér", 160 | "81715": "Real Audio enkodér", 161 | "81716": "Monkey's Audio lossless enkodér", 162 | "81717": "Shorten lossless enkodér", 163 | "81718": "RKAU lossless enkodér", 164 | "81719": "LPAC lossless enkodér", 165 | "81720": [ 166 | "Uživatelsky definovaný enkodér", 167 | "Uživatelsky definovaný encoder" 168 | ], 169 | "4270": "Nízká", 170 | "4271": "Střední", 171 | "4272": "Vysoká", 172 | 173 | "1": "Čeština", 174 | "2": "Czech", 175 | "5": "Chyba", 176 | "6": "Upozornění", 177 | "7": "Úspěšně dokončeno", 178 | "8": "Informace", 179 | "10": "OK", 180 | "11": "Storno", 181 | "12": "Použít", 182 | "15": "Ano", 183 | "16": "Ne" 184 | } 185 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Filename will be ignored", 3 | "50": "Value out of range !", 4 | "51": "Invalid characters !", 5 | "52": "Invalid filename !", 6 | 7 | "1200": "Status and Error Messages", 8 | "2501": "Track status and errors", 9 | "1203": "Possible Errors", 10 | "1204": "Create Log", 11 | "1210": "Range status and errors", 12 | "1211": "Selected range", 13 | "1212": " Timing problem ", 14 | "1213": " Suspicious position ", 15 | "1214": " Missing samples", 16 | "1215": " Too many samples", 17 | "1216": " File write error", 18 | "1217": " Peak level ", 19 | "1299": " Extraction speed ", 20 | "1218": " Range quality ", 21 | "1219": " CRC ", 22 | "1220": " Copy OK", 23 | "1221": " Copy finished", 24 | "1227": " Track quality ", 25 | "1228": " Copy aborted", 26 | "1269": " Filename ", 27 | "1270": " Pre-gap length ", 28 | "1271": " Test CRC ", 29 | "1272": " Copy CRC ", 30 | "1273": " Compressing", 31 | "1280": " Track not fully ripped for AccurateRip lookup", 32 | "1281": " Accurately ripped (confidence ", 33 | "1282": " Not accurately ripped (confidence ", 34 | "1283": " Track not present in AccurateRip database", 35 | "1330": " Cannot be verified as accurate", 36 | "1337": "cannot be verified as accurate", 37 | "1331": ", AccurateRip returned", 38 | "1332": "(confidence ", 39 | "1333": "No tracks could be verified as accurate", 40 | "1334": "You may have a different pressing from the one(s) in the database", 41 | "1335": "Some tracks could not be verified as accurate", 42 | "1336": "All tracks accurately ripped", 43 | "1338": "Null samples used in CRC calculations", 44 | "1339": "track(s) not present in the AccurateRip database", 45 | "1340": "track(s) accurately ripped", 46 | "1341": "track(s) could not be verified as accurate", 47 | "1342": "track(s) not fully ripped for AccurateRip lookup", 48 | "1343": "track(s) canceled", 49 | "1344": "None of the tracks are present in the AccurateRip database", 50 | "1284": "Not all tracks ripped accurately", 51 | "1222": "No errors occurred", 52 | "1223": "Review Range", 53 | "1224": "There were errors", 54 | "1225": "End of status report", 55 | "1321": "Not detected, thus appended to previous track", 56 | "1322": "Appended to previous track", 57 | "1323": "Appended to next track", 58 | "1325": "Log checksum", 59 | "1226": "Track", 60 | "1230": "Index", 61 | "1229": "Review Tracks", 62 | "1274": "EAC extraction logfile from ", 63 | "1240": "January", 64 | "1241": "February", 65 | "1242": "March", 66 | "1243": "April", 67 | "1244": "May", 68 | "1245": "June", 69 | "1246": "July", 70 | "1247": "August", 71 | "1248": "September", 72 | "1249": "October", 73 | "1250": "November", 74 | "1251": "December", 75 | "1232": "EAC extraction log file", 76 | "1233": "Used drive : ", 77 | "1234": "Read mode", 78 | "1235": "Burst", 79 | "1236": "Fast", 80 | "1237": "Paranoid", 81 | "1238": "Secure with NO C2, accurate stream, NO disable cache", 82 | "1239": "Secure with NO C2, NO accurate stream, disable cache", 83 | "1252": "Secure with C2, accurate stream, NO disable cache", 84 | "1253": "Secure with C2, accurate stream, disable cache", 85 | "1254": "Secure with NO C2, accurate stream, disable cache", 86 | "1255": "Combined read/write offset correction", 87 | "1256": "Read offset correction", 88 | "1257": "Overread into Lead-In and Lead-Out", 89 | "1258": "Used output format", 90 | "1259": "Additional command line options", 91 | "1260": "Internal WAV Routines", 92 | "1261": "44.100 Hz; 16 Bit; Stereo", 93 | "1262": "Use compression offset", 94 | "1263": "Other options : ", 95 | "1264": "Fill up missing offset samples with silence", 96 | "1265": "Delete leading and trailing silent blocks", 97 | "1266": "Normalize to", 98 | "13303": "Native Win32 interface for XP/Vista/Win 7", 99 | "1267": "Native Win32 interface for Win NT & 2000", 100 | "1268": "Installed external ASPI interface", 101 | "1275": "AccurateRip summary", 102 | "1276": "not ripped completely", 103 | "1277": "accurately ripped (confidence ", 104 | "1278": "not ripped accurately (confidence ", 105 | "1279": "not present in database", 106 | "1285": ", but should be", 107 | "1286": "Performing a test extraction only", 108 | "1287": "Sectors", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC of the extracted CD", 111 | "1290": "Track", 112 | "1291": "Start", 113 | "1292": "Length", 114 | "1293": "Start sector", 115 | "1294": "End sector", 116 | "1295": "Secure", 117 | "1296": "Make use of C2 pointers", 118 | "1297": "Utilize accurate stream", 119 | "1298": "Defeat audio cache", 120 | "1305": "Used interface", 121 | "1306": "Command line compressor", 122 | "1307": "Selected bitrate", 123 | "1308": "Quality", 124 | "1328": "High", 125 | "1329": "Low", 126 | "1309": "Add ID3 tag", 127 | "1310": "Sample format", 128 | "1320": "Gap handling", 129 | "1324": "Left out", 130 | 131 | "81700": "L3Enc MP3 Encoder & Compatible", 132 | "81701": "Fraunhofer MP3Enc MP3 Encoder", 133 | "81702": "Xing X3Enc MP3 Encoder", 134 | "81703": "Xing ToMPG MP3 Encoder", 135 | "81704": "LAME MP3 Encoder", 136 | "81705": "GOGO MP3 Encoder", 137 | "81706": "MPC Encoder", 138 | "81707": "Ogg Vorbis Encoder", 139 | "81708": "Microsoft WMA9 Encoder", 140 | "81709": "FAAC AAC Encoder", 141 | "81710": "Homeboy AAC Encoder", 142 | "81711": "Quartex AAC Encoder", 143 | "81712": "PsyTEL AAC Encoder", 144 | "81713": "MBSoft AAC Encoder", 145 | "81714": "Yamaha VQF Encoder", 146 | "81715": "Real Audio Encoder", 147 | "81716": "Monkey's Audio Lossless Encoder", 148 | "81717": "Shorten Lossless Encoder", 149 | "81718": "RKAU Lossless Encoder", 150 | "81719": "LPAC Lossless Encoder", 151 | "81720": "User Defined Encoder", 152 | 153 | "1000000": "for disc", 154 | 155 | "4270": "Low", 156 | "4271": "Medium", 157 | "4272": "High", 158 | 159 | "1": "English", 160 | "2": "English", 161 | 162 | "5": "Error Message", 163 | "6": "Warning", 164 | "7": "Success", 165 | "8": "Information", 166 | "10": "OK", 167 | "11": "Cancel", 168 | "12": "Apply", 169 | "15": "Yes", 170 | "16": "No" 171 | } 172 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "El nombre del archivo será ignorado", 3 | "50": "Valor fuera del rango !", 4 | "51": "Caracteres inválidos !", 5 | "52": "Nombre de archivo inválido !", 6 | 7 | "1200": "Mensajes de Error y Estado", 8 | 9 | "2501": "Anotar estado y errores", 10 | "1203": "Errores posibles", 11 | "1204": "Crear Log", 12 | "1210": "Gama de estados y errores", 13 | "1211": "Seleccionar gama", 14 | "1212": " Problema de Sincronización ", 15 | "1213": " Posición Sospechosa ", 16 | "1214": " Muestras desaparecidas", 17 | "1215": " Demasiadas Muestras", 18 | "1216": " Error de Escritura en Archivo", 19 | "1217": " Nivel Pico ", 20 | "1299": " Velocidad de extracción ", 21 | "1218": " Gama de Calidad ", 22 | "1219": " CRC ", 23 | "1220": " Copia OK", 24 | "1221": " Copia terminada", 25 | "1227": " Calidad de Pista ", 26 | "1228": " Copia Abortada", 27 | "1269": " Nombre de Archivo ", 28 | "1270": " Longitud Pre-gap ", 29 | "1271": " Comprobación CRC ", 30 | "1272": " Copiar CRC ", 31 | "1273": " Comprimiendo", 32 | "1280": " Pista sin extraer completamente por Accuraterip", 33 | "1281": " Extraida con precisión (confidencia ", 34 | "1282": " Extraida sin precisión (confidencia ", 35 | "1283": " Pista sin datos en Accuraterip", 36 | "1330": " No se puede verificar como precisa", 37 | "1337": "No se puede verificar como precisa", 38 | "1331": ", AccurateRip devuelto", 39 | "1332": "(confidencia ", 40 | "1333": "Ninguna pista puede ser verificada como precisa", 41 | "1334": "Tu puedes tener un prensado diferente de los encontrados en la base de datos", 42 | "1335": "Algunas pistas no pueden ser verificadas como precisas", 43 | "1336": "Todas las pistas extraidas con precisión", 44 | "1338": "Muestras nulas usadas en los calculos de CRC ", 45 | "1339": "pista(s) sin datos en AccurateRip", 46 | "1340": "pista(s) extraidas con precisión", 47 | "1341": "pista(s) no puede ser verificada como precisa", 48 | "1342": "pista(s) sin extraer completamente por AccurateRip lookup", 49 | "1343": "pista(s) cancelada", 50 | "1344": "Ninguna pista tiene datos en AccurateRip", 51 | "1284": "No todas las pistas extraidas con precisión", 52 | "1222": "Sin Errores", 53 | "1223": "Ver gama", 54 | "1224": "Hubo Errores", 55 | "1225": "Final del Informe", 56 | "1321": "No se detectó, por lo que anexa a la pista anterior", 57 | "1322": "Anexada a la pista anterior", 58 | "1323": "Anexada a la pista siguiente", 59 | "1325": "Log checksum", 60 | "1226": "Pista", 61 | "1230": "Índice", 62 | "1229": "Revisar Pistas", 63 | "1274": "Archivo Log de extracciones desde ", 64 | "1240": "Enero", 65 | "1241": "Febrero", 66 | "1242": "Marzo", 67 | "1243": "Abril", 68 | "1244": "Mayo", 69 | "1245": "Junio", 70 | "1246": "Julio", 71 | "1247": "Agosto", 72 | "1248": "Septiembre", 73 | "1249": "Octubre", 74 | "1250": "Noviembre", 75 | "1251": "Diciembre", 76 | "1232": "Archivo Log de extracciones para el CD", 77 | "1233": "Usar unidad : ", 78 | "1234": "Modo de Lectura", 79 | "1235": "Explosivo", 80 | "1236": "Rápido", 81 | "1237": "Paranoico", 82 | "1238": "Seguro SIN C2, CON 'Corriente Exacta', SIN desactivar cache", 83 | "1239": "Seguro SIN C2, SIN 'Corriente Exacta', CON caché desactivada", 84 | "1252": "Seguro CON C2, CON 'Corriente Exacta', SIN desactivar cache", 85 | "1253": "Seguro CON C2, CON 'Corriente Exacta', CON caché desactivada", 86 | "1254": "Seguro SIN C2, CON 'Corriente Exacta', CON caché desactivada", 87 | "1255": "Corrección de Desplazamiento de Lectura/Escritura combinadas : ", 88 | "1256": "Corrección de Desplazamiento de Lectura : ", 89 | "1257": "Sobreleer tanto en Lead-In como en Lead-Out", 90 | "1258": "Formato de Salida utilizado : ", 91 | "1259": "Opciones adicionales en línea de comandos : ", 92 | "1260": "Rutinas WAV Internas", 93 | "1261": "44.100 Hz; 16 Bit; Estéreo", 94 | "1262": "Usar desplazamiento de compresión : ", 95 | "1263": "Otras opciones : ", 96 | "1264": "Rellenar las muestras faltantes con silencios", 97 | "1265": "Eliminar silencios inicial y final", 98 | "1266": "Normalizar a ", 99 | "1267": "Interfaz propio de Win32 para Windowns NT y 2000", 100 | "1268": "Interfaz ASPI externo instalado", 101 | "1275": "Sumario AccurateRip", 102 | "1276": "sin extraer completamente", 103 | "1277": "extraido con precisión (confidencia ", 104 | "1278": "extraido sin precisión (confidencia ", 105 | "1279": "sin datos", 106 | "1285": ", pero debe ser", 107 | "1286": "Realizando solo prueba de extracción", 108 | "1287": "Sectores", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC extraídos del CD", 111 | "1290": "Pista", 112 | "1291": "Inicio", 113 | "1292": "Longitud", 114 | "1293": "Inicio del sector", 115 | "1294": "Fin del sector", 116 | "1295": "Seguro", 117 | "1296": "Utilizar los punteros C2", 118 | "1297": "Utilizar corriente precisa", 119 | "1298": "Caché de audio por defecto", 120 | "1305": "Interfaz usada", 121 | "1306": "linea de comandos del compresor", 122 | "1307": "Velocidad de bits seleccionada", 123 | "1308": "Calidad", 124 | "1328": "Alta", 125 | "1329": "Baja", 126 | "1309": "Añadir ID3 tag", 127 | "1310": "Formato de muestra", 128 | "1320": "Manejo de huecos", 129 | "1324": "Left out", 130 | 131 | "81700": "Compresor MP3 L3Enc y Compatibles", 132 | "81701": "Compresor MP3 Fraunhofer MP3Enc", 133 | "81702": "Compresor MP3 Xing X3Enc", 134 | "81703": "Compresor MP3 Xing ToMPG", 135 | "81704": "Compresor MP3 LAME", 136 | "81705": "Compresor MP3 GOGO", 137 | "81706": "Compresor MPC", 138 | "81707": "Compresor Ogg Vorbis", 139 | "81708": "Compresor Microsoft WMA9", 140 | "81709": "Compresor FAAC AAC", 141 | "81710": "Compresor Homeboy AAC", 142 | "81711": "Compresor Quartex AAC", 143 | "81712": "Compresor PsyTEL AAC", 144 | "81713": "Compresor MBSoft AAC", 145 | "81714": "Compresor Yamaha VQF", 146 | "81715": "Compresor Real Audio", 147 | "81716": "Compresor sin pérdida Monkey's Audio Lossless", 148 | "81717": "Compresor sin pérdida Shorten", 149 | "81718": "Compresor sin pérdida RKAU", 150 | "81719": "Compresor sin pérdida LPAC", 151 | "81720": "Compresor definido por el Usuario", 152 | 153 | "4270": "Baja", 154 | "4271": "Media", 155 | "4272": "Alta", 156 | 157 | "1": "Español", 158 | "2": "Spanish", 159 | "5": "Error", 160 | "6": "Atención", 161 | "7": "Éxito", 162 | "8": "Información", 163 | 164 | "10": "OK", 165 | "11": "Cancelar", 166 | "12": "Aplicar", 167 | "15": "Sí", 168 | "16": "No" 169 | } 170 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Les Noms de Fichiers seront ignorés", 3 | "50": "Valeur hors de portée !", 4 | "51": "Caractères invalides !", 5 | "52": "Nom de fichier invalide !", 6 | 7 | "1200": "Messages d'État et d'Erreur", 8 | 9 | "2501": "États et Erreurs Piste", 10 | "1203": "Erreurs possibles", 11 | "1204": "Créer un journal", 12 | "1210": "Propriétés États et Erreurs", 13 | "1211": "Gammes sélectionnées", 14 | "1212": " problème calcul ", 15 | "1213": " position suspecte ", 16 | "1214": " samples manquants", 17 | "1215": " Trop de samples", 18 | "1216": " erreur d'écriture fichier", 19 | "1217": " Niveau max ", 20 | "1299": " Vitesse d'extraction ", 21 | "1218": " qualité intervalle ", 22 | "1219": " CRC ", 23 | "1220": " Copie Ok", 24 | "1221": " Copie terminée", 25 | "1227": " Qualité Piste ", 26 | "1228": " Copie annulée", 27 | "1269": " Nom fichier ", 28 | "1270": " Durée PREGAP ", 29 | "1271": " Test CRC ", 30 | "1272": " Copie CRC ", 31 | "1273": " Compression", 32 | "1280": " Piste non complètement extraite pour la recherche AccurateRip", 33 | "1281": " Extraction exacte (confiance ", 34 | "1282": " Extraction non exacte (confiance \n", 35 | "1283": " Piste absente de la base AccurateRip", 36 | "1330": " Ne peut pas être vérifiée comme exacte", 37 | "1337": "ne peut pas être vérifié comme exact", 38 | "1331": ", AccurateRip en retour\n", 39 | "1332": "(confiance ", 40 | "1333": "Aucune des pistes ne peut être vérifiée comme exacte", 41 | "1334": "Vous pouvez en avoir une autre parmi celle(s) de la base", 42 | "1335": "Certaines pistes n'ont pas pu être vérifiées comme exactes", 43 | "1336": "Toutes pistes extraites exactement", 44 | "1338": "Échantillons null utilisés dans les calculs CRC", 45 | "1339": "piste(s) absente(s) de la base AccurateRip", 46 | "1340": "piste(s) extraites exactement", 47 | "1341": "piste(s) ne pouvant pas être vérifiée(s) comme exacte(s)", 48 | "1342": "piste(s) pas complètement extraite(s) pour la recherche AccurateRip", 49 | "1343": "piste(s) annulée(s)", 50 | "1344": "Aucune des pistes n'est présente dans la base AccurateRip", 51 | "1284": "Toutes les pistes ne sont pas extraites avec exactitude", 52 | "1222": "Pas d'erreur apparue", 53 | "1223": "Revoir gamme", 54 | "1224": "Il y avait des erreurs", 55 | "1225": "Fin du rapport d'état", 56 | "1321": "Non détecté, ajouté à la piste précédente", 57 | "1322": "Ajouté à la piste précédente", 58 | "1323": "Ajouté à la piste suivante", 59 | "1325": "Checksum de log", 60 | "1226": "Piste", 61 | "1230": "Index", 62 | "1229": "Revoir Pistes", 63 | "1274": "Journal d'extraction EAC depuis ", 64 | "1240": "Janvier", 65 | "1241": "Février", 66 | "1242": "Mars", 67 | "1243": "Avril", 68 | "1244": "Mai", 69 | "1245": "Juin", 70 | "1246": "Juillet", 71 | "1247": "Août", 72 | "1248": "Septembre", 73 | "1249": "Octobre", 74 | "1250": "Novembre", 75 | "1251": "Décembre", 76 | "1232": "EAC extraction logfile for CD", 77 | "1233": "Lecteur utilisé : ", 78 | "1234": "Mode lecture ", 79 | "1235": "Explosif", 80 | "1236": "Rapide", 81 | "1237": "Sécurisé SANS C2, SANS flux précis, SANS cache désactivé", 82 | "1238": "Sécurisé SANS C2, flux précis, SANS cache désactivé", 83 | "1239": "Sécurisé SANS C2, SANS Flux précis, cache désactivé", 84 | "1252": "Sécurisé AVEC C2, flux précis, SANS cache désactivé", 85 | "1253": "Sécurisé AVEC C2, flux précis, cache désactivé", 86 | "1254": "Sécurisé SANS C2, flux précis, cache désactivé", 87 | "1255": "Correction offset combiné lecture/écriture : ", 88 | "1256": "Correction offset écriture : ", 89 | "1257": "Lecture étendue en lead-in et lead-out", 90 | "1258": "Format de sortie utilisé : ", 91 | "1259": "Options de commande additionnelle : ", 92 | "1260": "Routines WAV interne", 93 | "1261": "44.100 Hz; 16 Bit; Stéréo", 94 | "1262": "Utilisé offset de compression : ", 95 | "1263": "Autres options : ", 96 | "1264": "Remplacer les samples manquants par du silence", 97 | "1265": "Effacer les blocs silencieux situés en début et fin", 98 | "1266": "Normaliser à ", 99 | "1267": "Interface native Win32 pour Win NT & 2000", 100 | "1268": "Interface ASPI externe installée", 101 | "1275": "Résumé AccurateRip", 102 | "1276": "pas extrait complètement", 103 | "1277": "extrait avec exactitude (confiance ", 104 | "1278": "pas extrait avec exactitude (confiance ", 105 | "1279": "absent de la base", 106 | "1285": ", mais peut être", 107 | "1286": "Exécution d'un test d'extraction seulement", 108 | "1287": "Secteurs", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC du CD extrait", 111 | "1290": "Track", 112 | "1291": "Démarrer", 113 | "1292": "Longueur", 114 | "1293": "Secteur de début", 115 | "1294": "Secteur de fin", 116 | "1295": "Vérouiller", 117 | "1296": "Utiliser les pointeurs C2", 118 | "1297": "Utiliser flux précis", 119 | "1298": "Vider le cache audio", 120 | "1305": "Interface utilisée", 121 | "1306": "Ligne de commande du compresseur", 122 | "1307": "Débit choisi", 123 | "1308": "Qualité", 124 | "1328": "Haute", 125 | "1329": "Basse", 126 | "1309": "Ajouter ID3 tag", 127 | "1310": "Format d'échantillon", 128 | "1320": "Traitement des intervalles", 129 | "1324": "Exclu", 130 | 131 | "81700": "Encodeur L3Enc MP3 & Compatible", 132 | "81701": "Encodeur Fraunhofer MP3Enc MP3", 133 | "81702": "Encodeur Xing X3Enc MP3 ", 134 | "81703": "Encodeur Xing ToMPG MP3 ", 135 | "81704": "Encodeur LAME MP3 ", 136 | "81705": "Encodeur GOGO MP3 ", 137 | "81706": "Encodeur MPC ", 138 | "81707": "Encodeur Ogg Vorbis ", 139 | "81708": "Encodeur Microsoft WMA9 ", 140 | "81709": "Encodeur FAAC AAC ", 141 | "81710": "Encodeur Homeboy AAC ", 142 | "81711": "Encodeur Quartex AAC ", 143 | "81712": "Encodeur PsyTEL AAC ", 144 | "81713": "Encodeur MBSoft AAC ", 145 | "81714": "Encodeur Yamaha VQF ", 146 | "81715": "Encodeur Real Audio ", 147 | "81716": "Encodeur Monkey's Audio Lossless ", 148 | "81717": "Encodeur Shorten Lossless ", 149 | "81718": "Encodeur RKAU Lossless ", 150 | "81719": "Encodeur LPAC Lossless ", 151 | "81720": "Encodeur défini par l'utilisateur ", 152 | 153 | "4270": "Bas", 154 | "4271": "Moyen", 155 | "4272": "Haut", 156 | 157 | "1": "Français", 158 | "2": "French", 159 | 160 | "5": "Message d'erreur", 161 | "6": "Attention", 162 | "7": "Réussi", 163 | "8": "Information", 164 | 165 | "10": "OK", 166 | "11": "Annuler", 167 | "12": "Appliquer", 168 | "15": "Oui", 169 | "16": "Non" 170 | } 171 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/ko.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Filename will be ignored", 3 | "50": "Value out of range !", 4 | "51": "Invalid characters !", 5 | "52": "Invalid filename !", 6 | 7 | "1200": "Status and Error Messages", 8 | "2501": "Track status and errors", 9 | "1203": "Possible Errors", 10 | "1204": "Create Log", 11 | "1210": "Range status and errors", 12 | "1211": "Selected range", 13 | "1212": " Timing problem ", 14 | "1213": " Suspicious position ", 15 | "1214": " Missing samples", 16 | "1215": " Too many samples", 17 | "1216": " File write error", 18 | "1217": " 피크 레벨 ", 19 | "1299": " Extraction speed ", 20 | "1218": " Range quality ", 21 | "1219": " CRC ", 22 | "1220": " 복사 OK", 23 | "1221": " Copy finished", 24 | "1227": " 트랙 품질 ", 25 | "1228": " Copy aborted", 26 | "1269": " 파일 이름 ", 27 | "1270": " 이전 공간 길이 ", 28 | "1271": " 검사 CRC ", 29 | "1272": " 복사 CRC ", 30 | "1273": " Compressing", 31 | "1280": " Track not fully ripped for AccurateRip lookup", 32 | "1281": " Accurately ripped (confidence ", 33 | "1282": " Not accurately ripped (confidence ", 34 | "1283": " Track not present in AccurateRip database", 35 | "1330": " Cannot be verified as accurate", 36 | "1337": "cannot be verified as accurate", 37 | "1331": ", AccurateRip returned", 38 | "1332": "(confidence ", 39 | "1333": "No tracks could be verified as accurate", 40 | "1334": "You may have a different pressing from the one(s) in the database", 41 | "1335": "Some tracks could not be verified as accurate", 42 | "1336": "All tracks accurately ripped", 43 | "1338": "Null samples used in CRC calculations", 44 | "1339": "track(s) not present in the AccurateRip database", 45 | "1340": "track(s) accurately ripped", 46 | "1341": "track(s) could not be verified as accurate", 47 | "1342": "track(s) not fully ripped for AccurateRip lookup", 48 | "1343": "track(s) canceled", 49 | "1344": "None of the tracks are present in the AccurateRip database", 50 | "1284": "Not all tracks ripped accurately", 51 | "1222": "오류 발생 없었음", 52 | "1223": "Review Range", 53 | "1224": "There were errors", 54 | "1225": "상태 보고서의 끝", 55 | "1321": "Not detected, thus appended to previous track", 56 | "1322": "Appended to previous track", 57 | "1323": "Appended to next track", 58 | "1325": "Log checksum", 59 | "1226": "Track", 60 | "1230": "Index", 61 | "1229": "Review Tracks", 62 | "1274": "EAC 추출 로그 파일 from ", 63 | "1240": "1월", 64 | "1241": "2월", 65 | "1242": "3월", 66 | "1243": "4월", 67 | "1244": "5월", 68 | "1245": "6월", 69 | "1246": "7월", 70 | "1247": "8월", 71 | "1248": "9월", 72 | "1249": "10월", 73 | "1250": "11월", 74 | "1251": "12월", 75 | "1232": "EAC extraction log file", 76 | "1233": "사용된 드라이브 : ", 77 | "1234": "읽기 방식", 78 | "1235": "Burst", 79 | "1236": "Fast", 80 | "1237": "Paranoid", 81 | "1238": "Secure with NO C2, accurate stream, NO disable cache", 82 | "1239": "Secure with NO C2, NO accurate stream, disable cache", 83 | "1252": "Secure with C2, accurate stream, NO disable cache", 84 | "1253": "안전 (C2 가능, 정밀한 전송 가능, 캐쉬 무효 가능)", 85 | "1254": "Secure with NO C2, accurate stream, disable cache", 86 | "1255": "Combined read/write offset correction", 87 | "1256": "읽기 오프셋 교정", 88 | "1257": "리드-인과 리드-아웃으로 오버리드", 89 | "1258": "사용된 출력 형식", 90 | "1259": "추가 명령줄 설정", 91 | "1260": "Internal WAV Routines", 92 | "1261": "44.100 Hz; 16 Bit; Stereo", 93 | "1262": "Use compression offset", 94 | "1263": "그 밖의 설정 : ", 95 | "1264": "손실된 오프셋 샘플을 무음으로 대치", 96 | "1265": "처음과 끝 부분의 무음 블락 삭제", 97 | "1266": "Normalize to", 98 | "13303": "Native Win32 interface for XP/Vista/Win 7", 99 | "1267": "윈도우즈 NT & 2000을 위한 표준 Win32 인터페이스", 100 | "1268": "Installed external ASPI interface", 101 | "1275": "AccurateRip summary", 102 | "1276": "not ripped completely", 103 | "1277": "accurately ripped (confidence ", 104 | "1278": "not ripped accurately (confidence ", 105 | "1279": "not present in database", 106 | "1285": ", but should be", 107 | "1286": "Performing a test extraction only", 108 | "1287": "Sectors", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC of the extracted CD", 111 | "1290": "트랙", 112 | "1291": "Start", 113 | "1292": "Length", 114 | "1293": "Start sector", 115 | "1294": "End sector", 116 | "1295": "Secure", 117 | "1296": "Make use of C2 pointers", 118 | "1297": "Utilize accurate stream", 119 | "1298": "Defeat audio cache", 120 | "1305": "Used interface", 121 | "1306": "Command line compressor", 122 | "1307": "Selected bitrate", 123 | "1308": "Quality", 124 | "1328": "High", 125 | "1329": "Low", 126 | "1309": "Add ID3 tag", 127 | "1310": "Sample format", 128 | "1320": "Gap handling", 129 | "1324": "Left out", 130 | 131 | "81700": "L3Enc MP3 Encoder & Compatible", 132 | "81701": "Fraunhofer MP3Enc MP3 Encoder", 133 | "81702": "Xing X3Enc MP3 Encoder", 134 | "81703": "Xing ToMPG MP3 Encoder", 135 | "81704": "LAME MP3 Encoder", 136 | "81705": "GOGO MP3 Encoder", 137 | "81706": "MPC Encoder", 138 | "81707": "Ogg Vorbis Encoder", 139 | "81708": "Microsoft WMA9 Encoder", 140 | "81709": "FAAC AAC Encoder", 141 | "81710": "Homeboy AAC Encoder", 142 | "81711": "Quartex AAC Encoder", 143 | "81712": "PsyTEL AAC Encoder", 144 | "81713": "MBSoft AAC Encoder", 145 | "81714": "Yamaha VQF Encoder", 146 | "81715": "Real Audio Encoder", 147 | "81716": "Monkey's Audio Lossless Encoder", 148 | "81717": "Shorten Lossless Encoder", 149 | "81718": "RKAU Lossless Encoder", 150 | "81719": "LPAC Lossless Encoder", 151 | "81720": "사용자 정의 인코더", 152 | 153 | "1000000": "for CD", 154 | 155 | "4270": "Low", 156 | "4271": "Medium", 157 | "4272": "High", 158 | 159 | "1": "한국어", 160 | "2": "Korean", 161 | 162 | "5": "Error Message", 163 | "6": "Warning", 164 | "7": "Success", 165 | "8": "Information", 166 | "10": "OK", 167 | "11": "Cancel", 168 | "12": "Apply", 169 | "15": "예", 170 | "16": "아니오" 171 | } 172 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/master.json: -------------------------------------------------------------------------------- 1 | { 2 | "bg": { 3 | "eac_strings": [ 4 | "Отчет на EAC за извличане, извършено на " 5 | ], 6 | "name": "Български", 7 | "name_english": "Bulgarian" 8 | }, 9 | "cs": { 10 | "eac_strings": [ 11 | "Protokol extrakce EAC z ", 12 | "Záznam extrakce EAC z " 13 | ], 14 | "name": "Čeština", 15 | "name_english": "Czech" 16 | }, 17 | "de": { 18 | "eac_strings": [ 19 | "EAC Auslese-Logdatei vom " 20 | ], 21 | "name": "Deutsch", 22 | "name_english": "German" 23 | }, 24 | "en": { 25 | "eac_strings": [ 26 | "EAC extraction logfile from " 27 | ], 28 | "name": "English", 29 | "name_english": "English" 30 | }, 31 | "es": { 32 | "eac_strings": [ 33 | "Archivo Log de extracciones desde " 34 | ], 35 | "name": "Español", 36 | "name_english": "Spanish" 37 | }, 38 | "fr": { 39 | "eac_strings": [ 40 | "Journal d'extraction EAC depuis " 41 | ], 42 | "name": "Français", 43 | "name_english": "French" 44 | }, 45 | "it": { 46 | "eac_strings": [ 47 | "File di log EAC per l'estrazione del ", 48 | "Estrazione file di log EAC da " 49 | ], 50 | "name": "Italiano", 51 | "name_english": "Italian" 52 | }, 53 | "jp": { 54 | "eac_strings": [ 55 | "EAC 展開 ログファイル 日付: ", 56 | "EAC 取り込みログファイル 日付" 57 | ], 58 | "name": "日本語", 59 | "name_english": "Japanese" 60 | }, 61 | "ko": { 62 | "eac_strings": [ 63 | "EAC 추출 로그 파일 from " 64 | ], 65 | "name": "한국어", 66 | "name_english": "Korean" 67 | }, 68 | "nl": { 69 | "eac_strings": [ 70 | "EAC uitlezen log bestand van " 71 | ], 72 | "name": "Nederlands", 73 | "name_english": "Dutch" 74 | }, 75 | "pl": { 76 | "eac_strings": [ 77 | "Sprawozdanie ze zgrywania programem EAC z ", 78 | "Plik sprawozdania ze zgrywania programem EAC z " 79 | ], 80 | "name": "Polski", 81 | "name_english": "Polish" 82 | }, 83 | "ru": { 84 | "eac_strings": [ 85 | "Отчёт EAC об извлечении, выполненном " 86 | ], 87 | "name": "Русский", 88 | "name_english": "Russian" 89 | }, 90 | "se": { 91 | "eac_strings": [ 92 | "EAC extraheringsloggfil frĺn ", 93 | "EAC extraheringsloggfil från " 94 | ], 95 | "name": "Svenska", 96 | "name_english": "Swedish" 97 | }, 98 | "sk": { 99 | "eac_strings": [ 100 | "EAC log súbor extrakcie z " 101 | ], 102 | "name": "Slovenský", 103 | "name_english": "Slovak" 104 | }, 105 | "sr": { 106 | "eac_strings": [ 107 | "EAC-ov fajl dnevnika ekstrakcije iz " 108 | ], 109 | "name": "Srpski", 110 | "name_english": "Serbian" 111 | }, 112 | "zh": { 113 | "eac_strings": [ 114 | "EAC 抓取日志文件从", 115 | "EAC日志文件创建时间" 116 | ], 117 | "name": "中文", 118 | "name_english": "Chinese" 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Bestands naam wordt genegeerd", 3 | "50": "Waarde buiten bereik!", 4 | "51": "Ongeldig teken!", 5 | "52": "Ongeldige bestands naam!", 6 | 7 | "1200": "Status en Foutmeldingen", 8 | 9 | "2501": "Track status en fouten", 10 | "1203": "Mogelijke Fouten", 11 | "1204": "Log Aanmaken", 12 | "1210": "Bereikstatus en fouten", 13 | "1211": "Geselecteerd bereik", 14 | "1212": " Timing probleem ", 15 | "1213": " Twijfelachtige positie ", 16 | "1214": " Ontbrekende samples", 17 | "1215": " Te veel samples", 18 | "1216": " Bestand schrijffout", 19 | "1217": " Piek niveau ", 20 | "1299": " Uitlees snelheid ", 21 | "1218": " Bereikskwaliteit ", 22 | "1219": " CRC ", 23 | "1220": " Kopie OK", 24 | "1221": " Kopie klaar", 25 | "1227": " Track kwaliteit ", 26 | "1228": " Kopie beëindigd", 27 | "1269": " Bestands naam ", 28 | "1270": " Pauze lengte ", 29 | "1271": " Test CRC ", 30 | "1272": " Kopie CRC ", 31 | "1273": " Comprimering", 32 | "1280": " Track werd voor AccurateRip vergelijk niet volledig gelezen ", 33 | "1281": " Accuraat gelezen (vertrouwelijk ", 34 | "1282": " Niet accuraat gelezen (vertrouwelijk ", 35 | "1283": " Track niet aanwezig in AccurateRip database", 36 | "1330": " Kan niet als accuraat vergeleken worden", 37 | "1337": "kan niet als accuraat vergeleken worden", 38 | "1331": ", AccurateRip resulteerde", 39 | "1332": "(vertrouwelijk ", 40 | "1333": "Geen tracks kunnen als accuraat vergeleken worden", 41 | "1334": "Het kan zich om een andere persing als van deze in de database voorhanden", 42 | "1335": "Sommige tracks kunnen niet als accuraat vergeleken worden", 43 | "1336": "Alle tracks werden accuraat gelezen", 44 | "1338": "Nul samples gebruikt in CRC berekeningen", 45 | "1339": "track(s) niet aanwezig in de AccurateRip database", 46 | "1340": "track(s) accuraat gelezen", 47 | "1341": "track(s) kan niet als accuraat vergeleken worden", 48 | "1342": "track(s) niet volledig gelezen voor AccurateRip vergelijk", 49 | "1343": "track(s) afgebroken", 50 | "1344": "Geen enkele Track aanwezig in AccurateRip database", 51 | "1284": "Niet alle tracks accuraat gelezen", 52 | "1222": "Geen fouten opgetreden", 53 | "1223": "Controleer bereik", 54 | "1224": "Er zijn fouten", 55 | "1225": "Einde status report", 56 | "1321": "Niet herkend, daarom achter de volgende track bijgevoegd", 57 | "1322": "Achter de volgende track bijgevoegd", 58 | "1323": "Vóór de volgende track bijgevoegd", 59 | "1325": "Log proefsom", 60 | "1226": "Track", 61 | "1230": "Index", 62 | "1229": "Controleren Tracks", 63 | "1274": "EAC uitlezen log bestand van ", 64 | "1240": "Januari", 65 | "1241": "Februari", 66 | "1242": "Maart", 67 | "1243": "April", 68 | "1244": "Mei", 69 | "1245": "Juni", 70 | "1246": "Juli", 71 | "1247": "Augustus", 72 | "1248": "September", 73 | "1249": "Oktober", 74 | "1250": "November", 75 | "1251": "December", 76 | "1232": "EAC uitlezen log bestand voor CD", 77 | "1233": "gebruikt loopwerk : ", 78 | "1234": "Lees mode ", 79 | "1235": "Burst", 80 | "1236": "Snel", 81 | "1237": "Paranoid", 82 | "1238": "Veilig met NO C2, accurate stream, GEEN buffer uitgeschakeld", 83 | "1239": "Veilig met NO C2, GEEN accurate stream, buffer uitgeschakeld ", 84 | "1252": "Veilig met C2, accurate stream, GEEN buffer uitgeschakeld ", 85 | "1253": "Veilig met C2, accurate stream, buffer uitgeschakeld ", 86 | "1254": "Veilig met NO C2, accurate stream, buffer uitgeschakeld ", 87 | "1255": "Gecombineerde lees-/schrijf- offset correctie : ", 88 | "1256": "Lees-offset correctie : ", 89 | "1257": "Overlees in Lead-In en Lead-Out", 90 | "1258": "Gebruik uitgave formaat : ", 91 | "1259": "Bijkomende commandolijn instellingen : ", 92 | "1260": "Interne WAV Routines", 93 | "1261": "44.100 Hz; 16 Bit; Stereo", 94 | "1262": "Gebruik compressie-offset : ", 95 | "1263": "Andere Instellingen : ", 96 | "1264": "Vul ontbrekende offset samples met stiltes aan", 97 | "1265": "Wis stilte blokken aan het begin en einde", 98 | "1266": "Normaliseer op ", 99 | "1267": "Native Win32 interface voor Win NT & 2000", 100 | "1268": "Geïnstalleerde externe ASPI interface", 101 | "1275": "AccurateRip samenvatting", 102 | "1276": "niet volledig gelezen", 103 | "1277": "accuraat gelezen (vertrouwelijk ", 104 | "1278": "niet accuraat gelezen (vertrouwelijk ", 105 | "1279": "niet aanwezig in database", 106 | "1285": ", maar zal zijn ", 107 | "1286": "Enkel een testuitlezing uitgevoerd", 108 | 109 | "1287": "Sectors", 110 | "1288": "Exact Audio Copy", 111 | "1289": "TOC van de uitgelezen CD", 112 | "1290": "Track", 113 | "1291": "Start", 114 | "1292": "Lengte", 115 | "1293": "Start sector", 116 | "1294": "Eind sector", 117 | "1295": "Veilig", 118 | "1296": "Maak gebruik van C2 pointers", 119 | "1297": "Gebruik accurate stream", 120 | "1298": "Audio buffer uitgeschakeld", 121 | "1305": "Gebruikte interface", 122 | "1306": "Commandolijn comprimeerder", 123 | "1307": "Selecteerde bitrate", 124 | "1308": "Kwaliteit", 125 | "1328": "Hoog", 126 | "1329": "Laag", 127 | "1309": "ID3 tag toevoegen", 128 | "1310": "Sample formaat", 129 | "1320": "Pauzebehandeling", 130 | "1324": "Weggelaten", 131 | 132 | "81700": "L3Enc MP3 Encoder & Compatibele", 133 | "81701": "Fraunhofer MP3Enc MP3 Encoder", 134 | "81702": "Xing X3Enc MP3 Encoder", 135 | "81703": "Xing ToMPG MP3 Encoder", 136 | "81704": "LAME MP3 Encoder", 137 | "81705": "GOGO MP3 Encoder", 138 | "81706": "MPC Encoder", 139 | "81707": "Ogg Vorbis Encoder", 140 | "81708": "Microsoft WMA9 Encoder", 141 | "81709": "FAAC AAC Encoder", 142 | "81710": "Homeboy AAC Encoder", 143 | "81711": "Quartex AAC Encoder", 144 | "81712": "PsyTEL AAC Encoder", 145 | "81713": "MBSoft AAC Encoder", 146 | "81714": "Yamaha VQF Encoder", 147 | "81715": "Real Audio Encoder", 148 | "81716": "Monkey's Audio Lossless Encoder", 149 | "81717": "Shorten Lossless Encoder", 150 | "81718": "RKAU Lossless Encoder", 151 | "81719": "LPAC Lossless Encoder", 152 | "81720": "Door Gebruiker Bepaalde Encoder", 153 | 154 | "4270": "Laag", 155 | "4271": "Midden", 156 | "4272": "Hoog", 157 | 158 | "1": "Nederlands", 159 | "2": "Dutch", 160 | "5": "Foutmelding", 161 | "6": "Waarschuwing", 162 | "7": "Afloop", 163 | "8": "Informatie", 164 | 165 | "10": "OK", 166 | "11": "Annuleer", 167 | "12": "Toepassen", 168 | "15": "Ja", 169 | "16": "Neen" 170 | } 171 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Имя файла игнорируется", 3 | "50": "Значение вне диапазона.", 4 | "51": "Недопустимые символы.", 5 | "52": "Недопустимое имя файла.", 6 | 7 | "1200": "Информационное окно", 8 | "2501": "Характеристики треков и сообщения об ошибках", 9 | "1203": "Возможные ошибки", 10 | "1204": "Создать отчёт", 11 | "1210": "Характеристики диапазона извлечения и сообщения об ошибках", 12 | "1211": "Выбранный диапазон", 13 | "1212": " Проблемы синхронизации ", 14 | "1213": " Подозрительная позиция ", 15 | "1214": " Пропущены сэмплы", 16 | "1215": " Слишком много сэмплов", 17 | "1216": " Ошибка записи файла", 18 | "1217": " Пиковый уровень ", 19 | "1299": " Скорость извлечения ", 20 | "1218": " Качество диапазона ", 21 | "1219": " CRC ", 22 | "1220": " Копирование... OK", 23 | "1221": " Копирование завершено", 24 | "1227": " Качество трека ", 25 | "1228": " Копирование прервано", 26 | "1269": " Имя файла ", 27 | "1270": " Длина предзазора ", 28 | "1271": " CRC теста ", 29 | "1272": " CRC копии ", 30 | "1273": " Сжатие", 31 | "1280": " Трек не полностью извлечён для поиска в базе AccurateRip", 32 | "1281": " Точное извлечение (достоверность ", 33 | "1282": " Неточное извлечение (достоверность ", 34 | "1283": " Трек не обнаружен в базе AccurateRip", 35 | "1330": " Точность не определена", 36 | "1337": "точность не определена", 37 | "1331": ", AccurateRip вернул", 38 | "1332": "(достоверность ", 39 | "1333": "Ни один трек не прошёл проверки на точность", 40 | "1334": "В вашей базе может быть иной вариант штамповки диска", 41 | "1335": "Некоторые треки не прошли проверку на точность", 42 | "1336": "Все треки извлечены точно", 43 | "1338": "При вычислениях CRC использовались нулевые сэмплы", 44 | "1339": "трек(и) не содержатся в базе AccurateRip", 45 | "1340": "трек(и) скопированы точно", 46 | "1341": "трек(и) не удалось проверить на точность", 47 | "1342": "трек(и) не полностью извлечены для поиска в базе AccurateRip", 48 | "1343": "трек(и) отменены", 49 | "1344": "Ни одного трека нет в базе AccurateRip", 50 | "1284": "Не все треки извлечены точно", 51 | "1222": "Ошибок не произошло", 52 | "1223": "Просмотр диапазона", 53 | "1224": "Были ошибки", 54 | "1225": "Конец отчёта", 55 | "1321": "Не обнаружено, добавлено к предыдущему треку", 56 | "1322": "Добавлено к предыдущему треку", 57 | "1323": "Добавлено к следующему треку", 58 | "1325": "Контрольная сумма отчёта", 59 | "1226": "Трек", 60 | "1230": "Индекс", 61 | "1229": "Просмотр треков", 62 | "1274": "Отчёт EAC об извлечении, выполненном ", 63 | "1240": "января", 64 | "1241": "февраля", 65 | "1242": "марта", 66 | "1243": "апреля", 67 | "1244": "мая", 68 | "1245": "июня", 69 | "1246": "июля", 70 | "1247": "августа", 71 | "1248": "сентября", 72 | "1249": "октября", 73 | "1250": "ноября", 74 | "1251": "декабря", 75 | "1232": "Отчёт EAC об извлечении", 76 | "1233": "Дисковод: ", 77 | "1234": "Режим чтения", 78 | "1235": "Скоростной", 79 | "1236": "Быстрый", 80 | "1237": "Параноидальный", 81 | "1238": "Достоверный (C2: нет, Точный поток: да, Отключение кэша: нет)", 82 | "1239": "Достоверный (C2: нет, Точный поток: нет, Отключение кэша: да)", 83 | "1252": "Достоверный (C2: да, Точный поток: да, Отключение кэша: нет)", 84 | "1253": "Достоверный (C2: да, Точный поток: да, Отключение кэша: да)", 85 | "1254": "Достоверный (C2: нет, Точный поток: да, Отключение кэша: да)", 86 | "1255": "Комбинированное смещение чтения/записи", 87 | "1256": "Коррекция смещения при чтении", 88 | "1257": "Способность читать области Lead-in и Lead-out", 89 | "1258": "Выходной формат", 90 | "1259": "Дополнительные параметры", 91 | "1260": "Внутренние WAV-операции", 92 | "1261": "44.100 Гц; 16 бит; стерео", 93 | "1262": "Смещение при сжатии", 94 | "1263": "Другие параметры: ", 95 | "1264": "Заполнение пропущенных сэмплов тишиной", 96 | "1265": "Удаление блоков с тишиной в начале и конце", 97 | "1266": "Нормализовать до ", 98 | "1267": "Встроенный Win32-интерфейс для Win NT/2000", 99 | "1268": "Установленный внешний ASPI-интерфейс", 100 | "1275": "AccurateRip: сводка", 101 | "1276": ": извлечено не полностью", 102 | "1277": ": извлечено точно (доверие ", 103 | "1278": ": извлечено неточно (доверие ", 104 | "1279": "отсутствует в базе данных", 105 | "1285": ", но должно быть", 106 | "1286": "Только тест извлечения", 107 | "1287": "Секторы", 108 | "1288": "Exact Audio Copy", 109 | "1289": "TOC извлечённого CD", 110 | "1290": "Трек", 111 | "1291": "Старт", 112 | "1292": "Длительность", 113 | "1293": "Начальный сектор", 114 | "1294": "Конечный сектор", 115 | "1295": "Достоверность", 116 | "1296": "Использование указателей C2", 117 | "1297": "Использование точного потока", 118 | "1298": "Отключение кэша аудио", 119 | "1305": "Интерфейс", 120 | "1306": "Утилита сжатия", 121 | "1307": "Выбранный битрейт", 122 | "1308": "Качество", 123 | "1328": "Высокое", 124 | "1329": "Низкое", 125 | "1309": [ 126 | "Добавление ID3-тега", 127 | "Добавление ID3-тэга" 128 | ], 129 | "1310": "Формат сэмплов", 130 | "1320": "Обработка зазоров", 131 | "1324": "Исключено", 132 | 133 | "81700": "MP3: L3Enc и совместимые", 134 | "81701": "MP3: Fraunhofer MP3Enc", 135 | "81702": "MP3: Xing X3Enc", 136 | "81703": "MP3: Xing ToMPG", 137 | "81704": "MP3: LAME", 138 | "81705": "MP3: GOGO", 139 | "81706": "MPC", 140 | "81707": "Ogg Vorbis", 141 | "81708": "Microsoft WMA 9", 142 | "81709": "AAC: FAAC", 143 | "81710": "AAC: Homeboy", 144 | "81711": "AAC: Quartex", 145 | "81712": "AAC: PsyTEL", 146 | "81713": "AAC: MBSoft", 147 | "81714": "VQF: Yamaha", 148 | "81715": "Real Audio", 149 | "81716": "Monkey's Audio (без потерь)", 150 | "81717": "Shorten (без потерь)", 151 | "81718": "RKAU (без потерь)", 152 | "81719": "LPAC (без потерь)", 153 | "81720": "Пользовательский кодировщик", 154 | 155 | "1000000": "для диска", 156 | 157 | "4270": "Низкий", 158 | "4271": "Средний", 159 | "4272": "Высокий", 160 | 161 | "1": "Русский", 162 | "2": "Russian", 163 | "5": "Ошибка", 164 | "6": "Внимание", 165 | "7": "Готово", 166 | 167 | "8": "Информация", 168 | "10": "OK", 169 | "11": "Отмена", 170 | "12": "Применить", 171 | "15": "Да", 172 | "16": "Нет" 173 | } -------------------------------------------------------------------------------- /src/Parser/EAC/languages/sk.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Názov súboru bude ignorovaný", 3 | "50": "Hodnota je mimo rozsah !", 4 | "51": "Nesprávne znaky !", 5 | "52": "Neplatný názov súboru !", 6 | 7 | "1200": "Správy o stave a chybách", 8 | 9 | "2501": "Stav a chyby stopy", 10 | "1203": "Možné chyby", 11 | "1204": "Vytvoriť log", 12 | "1210": "Stav a chyby rozsahu", 13 | "1211": "Vybraný rozsah", 14 | "1212": " Časový problém ", 15 | "1213": " Podozrivá pozícia ", 16 | "1214": " Chýbajúce vzorky", 17 | "1215": " Príliš veľa vzoriek", 18 | "1216": " Chyba zápisu súboru", 19 | "1217": " Špičková úroveň ", 20 | "1299": " Rýchlosť extrakcie ", 21 | "1218": " Kvalita rozsahu ", 22 | "1219": " CRC ", 23 | "1220": " Kópia OK", 24 | "1221": " Kopírovanie ukončené", 25 | "1227": " Kvalita stopy ", 26 | "1228": " Kopírovanie prerušené", 27 | "1269": " Názov súboru", 28 | "1270": " Dĺžka medzery pred stopou ", 29 | "1271": " CRC testu", 30 | "1272": " CRC kópie ", 31 | "1273": " Kompresia", 32 | "1280": " Stopa nebola kompletná extrahovaná pre kontrolu cez AccurateRip", 33 | "1281": " Extrahovaná presne (spoľahlivosť ", 34 | "1282": " Extrahovaná nepresne (spoľahlivosť ", 35 | "1283": " Stopa nie je v AccurateRip databáze", 36 | "1330": " Nedá sa overiť ako presná", 37 | "1337": "nedá sa overiť ako presná", 38 | "1331": ", AccurateRip vrátil", 39 | "1332": "(spoľahlivosť ", 40 | "1333": "Žiadne stopy nemohli byť overené ako presné", 41 | "1334": "Môžete mať iný výlisok než tie, ktoré sú uvedené v databáze", 42 | "1335": "Niektoré stopy nemôžu byť overené ako presné", 43 | "1336": "Všetky stopy boli extrahované presne", 44 | "1338": "Pri výpočte CRC boli použité nulové vzorky", 45 | "1339": "stopy sa nenachádzajú v AccurateRip databáze", 46 | "1340": "stopy extrahované presne", 47 | "1341": "stopy nemôžu byť overené ako presné", 48 | "1342": "Stopy neboli extrahované kompletné pre kontrolu cez AccurateRip", 49 | "1343": "stopy zrušené", 50 | "1344": "Žiadna zo stôp sa nenachádza v AccurateRip databáze", 51 | "1284": "Nie všetky stopy boli extrahované presne", 52 | "1222": "Neobjavili sa žiadne chyby", 53 | "1223": "Prezretie rozsahu", 54 | "1224": "Vyskytli sa chyby", 55 | "1225": "Koniec stavovej správy", 56 | "1321": "Nedetekované a pridané k predchádzajúcej stope", 57 | "1322": "Pridané k predchádzajúcej stope", 58 | "1323": "Pridané k nasledujúcej stope", 59 | "1325": "Kontrolný súčet logu", 60 | "1226": "Stopa", 61 | "1230": "Index", 62 | "1229": "Prezretie stôp", 63 | "1274": "EAC log súbor extrakcie z ", 64 | "1240": "Januára", 65 | "1241": "Februára", 66 | "1242": "Marca", 67 | "1243": "Apríla", 68 | "1244": "Mája", 69 | "1245": "Júna", 70 | "1246": "Júla", 71 | "1247": "Augusta", 72 | "1248": "Septembra", 73 | "1249": "Októbra", 74 | "1250": "Novembra", 75 | "1251": "Decembra", 76 | "1232": "EAC log súbor extrakcie", 77 | "1233": "Použitá mechanika : ", 78 | "1234": "Spôsob čítania ", 79 | "1235": "Burst", 80 | "1236": "Rýchly", 81 | "1237": "Paranoidný", 82 | "1238": "Bezpečný: C2 - nie, accurate stream - áno, cache vypnutá - nie", 83 | "1239": "Bezpečný: C2 - nie, accurate stream - nie, cache vypnutá - áno", 84 | "1252": "Bezpečný: C2 - áno, accurate stream - áno, cache vypnutá - nie", 85 | "1253": "Bezpečný: C2 - áno, accurate stream - áno, cache vypnutá - áno", 86 | "1254": "Bezpečný: C2 - nie, accurate stream - áno, cache vypnutá - áno", 87 | "1255": "Kombinovaná offsetová korekcia pre čítanie/zápis : ", 88 | "1256": "Offsetová korekcia pre čítanie : ", 89 | "1257": "Nadčítanie Lead-In a Lead-Out", 90 | "1258": "Použitý výstupný formát : ", 91 | "1259": "Dodatočné voľby príkazového riadku : ", 92 | "1260": "Interné WAV operácie", 93 | "1261": "44.100 Hz; 16 Bit; Stereo", 94 | "1262": "Použitý offset komprimácie : ", 95 | "1263": "Iné nastavenia : ", 96 | "1264": "Vyplniť chýbajúce vzorky offsetu tichom", 97 | "1265": "Zmazať bloky s tichom na začiatku a na konci", 98 | "1266": "Normalizovať na ", 99 | "1267": "Pôvodné rozhranie Win32 pre Win NT a 2000", 100 | "1268": "Nainštalované externé ASPI rozhranie", 101 | "1275": "AccurateRip súhrn", 102 | "1276": "extrahovaných nekompletne", 103 | "1277": "extrahovaných presne (spoľahlivosťt ", 104 | "1278": "extrahovaných nepresne (spoľahlivosť ", 105 | "1279": "nie je v databáze", 106 | "1285": ", ale malo by byť", 107 | "1286": "Prebieha len testovacia extrakcia", 108 | "1287": "Sektory", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC extrahovaného CD", 111 | "1290": "Stopa", 112 | "1291": "Začiatok", 113 | "1292": "Dĺžka", 114 | "1293": "Počiatočný sektor", 115 | "1294": "Koncový sektor", 116 | "1295": "Bezpečný", 117 | "1296": "Použiť C2 smerníky", 118 | "1297": "Použiť accurate stream", 119 | "1298": "Obísť zvukovú keš pamäť", 120 | "1305": "Použité rozhranie", 121 | "1306": "Kompresor pre príkazový riadok", 122 | "1307": "Zvolený bitrate", 123 | "1308": "Kvalita", 124 | "1328": "Vysoká", 125 | "1329": "Nízka", 126 | "1309": "Pridať ID3 tag", 127 | "1310": "Formát vzorkovania", 128 | "1320": "Spracovnie medzier", 129 | "1324": "Vynechané", 130 | 131 | "81700": "L3Enc MP3 kóder a kompatibilné", 132 | "81701": "Fraunhofer MP3Enc MP3 kóder", 133 | "81702": "Xing X3Enc MP3 kóder", 134 | "81703": "Xing ToMPG MP3 kóder", 135 | "81704": "LAME MP3 kóder", 136 | "81705": "GOGO MP3 kóder", 137 | "81706": "MPC kóder", 138 | "81707": "Ogg Vorbis kóder", 139 | "81708": "Microsoft WMA9 kóder", 140 | "81709": "FAAC AAC kóder", 141 | "81710": "Homeboy AAC kóder", 142 | "81711": "Quartex AAC kóder", 143 | "81712": "PsyTEL AAC kóder", 144 | "81713": "MBSoft AAC kóder", 145 | "81714": "Yamaha VQF kóder", 146 | "81715": "Real Audio kóder", 147 | "81716": "Monkey's Audio bezstratový kóder", 148 | "81717": "Shorten bezstratový kóder", 149 | "81718": "RKAU bezstratový kóder", 150 | "81719": "LPAC bezstratový kóder", 151 | "81720": "Používateľom definovaný kóder", 152 | 153 | 154 | "4270": "Nízka", 155 | "4271": "Stredná", 156 | "4272": "Vysoká", 157 | 158 | "1": "Slovenský", 159 | "2": "Slovak", 160 | 161 | "5": "Chyba", 162 | "6": "Varovanie", 163 | "7": "Úspech", 164 | "8": "Informácia", 165 | 166 | "10": "OK", 167 | "11": "Zrušiť", 168 | "12": "Použiť", 169 | "15": "Áno", 170 | "16": "Nie" 171 | } 172 | -------------------------------------------------------------------------------- /src/Parser/EAC/languages/sr.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "Ime datoteke se ignoriše", 3 | "50": "Vrednost van opsega !", 4 | "51": "Nedozvoljeni karakteri !", 5 | "52": "Nedozvoljeno ime datoteke !", 6 | 7 | "1200": "Statusne i poruke o greškama", 8 | 9 | "2501": "Track status i greške", 10 | "1203": "Moguće greške", 11 | "1204": "Kreiraj dnevnik", 12 | "1210": "Status i greške opsega", 13 | "1211": "Izabrani opseg", 14 | "1212": " Problem u tajmingu ", 15 | "1213": " Sumnjiva pozicija ", 16 | "1214": " Nedostaju semplovi", 17 | "1215": " Previše semplova", 18 | "1216": " Greška pri snimanju fajla", 19 | "1217": " Vršni nivo ", 20 | "1299": " Brzina ekstrakcije ", 21 | "1218": " Kvalitet opsega ", 22 | "1219": " CRC ", 23 | "1220": " Kopija OK", 24 | "1221": " Kopiranje završeno", 25 | "1227": " Kvalitet track-a ", 26 | "1228": " Kopiranje prekinuto", 27 | "1269": " Ime fajla ", 28 | "1270": " Pre-gap dužina ", 29 | "1271": " Testiran CRC ", 30 | "1272": " CRC kopije ", 31 | "1273": " Kompresovanje", 32 | "1280": " Track nije u potpunosti ripovan za AccurateRip upit", 33 | "1281": " Tačno ripovan (pouzdanost ", 34 | "1282": " Nije tačno ripovan (pouzdanost ", 35 | "1283": " Track nije u AccurateRip bazi podataka", 36 | "1330": " Ne može biti potvrđena tačnost", 37 | "1337": "ne može biti potvrđeno kao tačno", 38 | "1331": ", AccurateRip je vratio", 39 | "1332": "(pouzdanost ", 40 | "1333": "Nijedan track ne može biti potvrđen kao tačan", 41 | "1334": "Možda imate CD otisak (otiske) drugačiji od onoga u bazi podataka", 42 | "1335": "Neki track-ovi ne mogu biti potvrđeni kao tačni", 43 | "1336": "Svi track-ovi su tačno ripovani", 44 | "1338": "Null semplovi su korišćeni u CRC izračunavanjima", 45 | "1339": "track(ovi) se ne nalazi u AccurateRip bazi podataka", 46 | "1340": "track(ovi) tačno ripovan", 47 | "1341": "track(ovi) nije mogao biti verifikovan kao tačan", 48 | "1342": "track(ovi) nije potpuno ripovan za AccurateRip upit", 49 | "1343": "track(ovi) poništen", 50 | "1344": "Nijedan od track-ova nije prisutan u AccurateRip bazi podataka", 51 | "1284": "Nisu svi track-ovi ripovani tačno", 52 | "1222": "Nije bilo grešaka", 53 | "1223": "Preispitivanje opsega", 54 | "1224": "Bilo je grešaka", 55 | "1225": "Kraj statusnog izveštaja", 56 | "1321": "Nije detektovano, stoga pripojeno prethodnom track-u", 57 | "1322": "Pripojeno prethodnom track-u", 58 | "1323": "Pripojeno sledećem track-u", 59 | "1325": "Kontrolna suma log fajla", 60 | "1226": "Track", 61 | "1230": "Index", 62 | "1229": "Preispitivanje track-ova", 63 | "1274": "EAC-ov fajl dnevnika ekstrakcije iz ", 64 | "1240": "januara", 65 | "1241": "februara", 66 | "1242": "marta", 67 | "1243": "aprila", 68 | "1244": "maja", 69 | "1245": "juna", 70 | "1246": "jula", 71 | "1247": "avgusta", 72 | "1248": "septembra", 73 | "1249": "oktobra", 74 | "1250": "novembra", 75 | "1251": "decembra", 76 | "1232": "EAC-ov fajl dnevnika za CD", 77 | "1233": "Korišćen drajv : ", 78 | "1234": "Mod čitanja", 79 | "1235": "Burst", 80 | "1236": "Brzi", 81 | "1237": "Paranoid", 82 | "1238": "Sigurnosni BEZ C2, accurate stream, SA uključenim kešom", 83 | "1239": "Sigurnosni BEZ C2, BEZ accurate stream-a, isključen keš", 84 | "1252": "Sigurnosni sa C2, accurate stream, SA uključenim kešom", 85 | "1253": "Sigurnosni sa C2, accurate stream, isključen keš", 86 | "1254": "Sigurnosni BEZ C2, accurate stream, isključen keš", 87 | "1255": "Korekcija kombinovanog offset-a za čitanje/rezanje", 88 | "1256": "Korekcija offset-a kod čitanja", 89 | "1257": "Overread u Lead-In i Lead-Out", 90 | "1258": "Korišćen izlazni format", 91 | "1259": "Dodatne opcije komandne linije", 92 | "1260": "Interne WAV rutine", 93 | "1261": "44.100 Hz; 16 Bit; Stereo", 94 | "1262": "Koristi offset za kompresiju", 95 | "1263": "Ostale opcije : ", 96 | "1264": "Popuni nedostajuće offset semplove tišinom", 97 | "1265": "Obriši Blokove tišine na početku i kraju", 98 | "1266": "Normalizuj na", 99 | "1267": "Native Win32 interfejs za Win NT & 2000", 100 | "1268": "Instaliran eksterni ASPI interfejs", 101 | "1275": "AccurateRip izveštaj", 102 | "1276": "nije kompletno ripovano", 103 | "1277": "tačno ripovanih (pouzdanost ", 104 | "1278": "nije tačno ripovano (pouzdanost ", 105 | "1279": "nije u bazi podataka", 106 | "1285": ", ali bi trebalo", 107 | "1286": "Izvršavam samo test ekstrakciju", 108 | "1287": "Sektora", 109 | "1288": "Exact Audio Copy", 110 | "1289": "TOC ekstrahovanog CD", 111 | "1290": "Track", 112 | "1291": "Start", 113 | "1292": "Dužina", 114 | "1293": "Početni sektor", 115 | "1294": "Krajnji sektor", 116 | "1295": "Sigurno", 117 | "1296": "Koristi C2 pointere", 118 | "1297": "Koristi accurate stream", 119 | "1298": "Zaobiđi audio keš", 120 | "1305": "Korišćeni interfejs", 121 | "1306": "Kompresor iz komandne linije", 122 | "1307": "Izabrani bitski protok", 123 | "1308": "Kvalitet", 124 | "1328": "Visok", 125 | "1329": "Nizak", 126 | "1309": "Dodaj ID3 tag", 127 | "1310": "Format sempla", 128 | "1320": "Upravljanje pauzama", 129 | "1324": "Izostavljeno", 130 | 131 | "81700": "L3Enc MP3 Encoder & kompatibilni", 132 | "81701": "Fraunhofer MP3Enc MP3 Encoder", 133 | "81702": "Xing X3Enc MP3 Encoder", 134 | "81703": "Xing ToMPG MP3 Encoder", 135 | "81704": "LAME MP3 Encoder", 136 | "81705": "GOGO MP3 Encoder", 137 | "81706": "MPC Encoder", 138 | "81707": "Ogg Vorbis Encoder", 139 | "81708": "Microsoft WMA9 Encoder", 140 | "81709": "FAAC AAC Encoder", 141 | "81710": "Homeboy AAC Encoder", 142 | "81711": "Quartex AAC Encoder", 143 | "81712": "PsyTEL AAC Encoder", 144 | "81713": "MBSoft AAC Encoder", 145 | "81714": "Yamaha VQF Encoder", 146 | "81715": "Real Audio Encoder", 147 | "81716": "Monkey's Audio Lossless Encoder", 148 | "81717": "Shorten Lossless Encoder", 149 | "81718": "RKAU Lossless Encoder", 150 | "81719": "LPAC Lossless Encoder", 151 | "81720": "Korisnički definisan enkoder", 152 | 153 | "4270": "Nizak", 154 | "4271": "Srednji", 155 | "4272": "Visok", 156 | 157 | "1": "Srpski", 158 | "2": "Serbian", 159 | "5": "Poruka o greški", 160 | "6": "Upozorenje", 161 | "7": "Uspeh", 162 | "8": "Informacije", 163 | 164 | "10": "OK", 165 | "11": "Poništi", 166 | "12": "Primeni", 167 | "15": "Da", 168 | "16": "Ne" 169 | } -------------------------------------------------------------------------------- /src/Parser/EAC/languages/zh.json: -------------------------------------------------------------------------------- 1 | { 2 | "31": "文件名将被忽略", 3 | "50": "超出数值范围!", 4 | "51": "无效的字符!", 5 | "52": "无效的文件名!", 6 | 7 | "1200": "状态及错误信息", 8 | 9 | "2501": "音轨状态及错误", 10 | "1203": "可能的错误", 11 | "1204": "创建日志", 12 | "1210": [ 13 | "范围状态及错误", 14 | "===以下为抓取选定区域的结果报告===" 15 | ], 16 | "1211": [ 17 | "已选择范围", 18 | "选定区域为(空白为全盘镜像)" 19 | ], 20 | "1212": [ 21 | " 计时问题 ", 22 | " 计时问题" 23 | ], 24 | "1213": " 可疑位置 ", 25 | "1214": " 缺失采样", 26 | "1215": " 过多采样", 27 | "1216": " 文件写入错误", 28 | "1217": [ 29 | " 峰值电平 ", 30 | " 峰值电平" 31 | ], 32 | "1299": [ 33 | " 抓取速度 ", 34 | " 抓轨速度" 35 | ], 36 | "1218": " 范围质量 ", 37 | "1219": " CRC ", 38 | "1220": " 复制成功", 39 | "1221": " 复制结束", 40 | "1227": " 音轨质量 ", 41 | "1228": " 复制被中止", 42 | "1269": [ 43 | " 文件名 ", 44 | " 抓轨文件" 45 | ], 46 | "1270": " 前间隙长度 ", 47 | "1271": " 测试 CRC ", 48 | "1272": [ 49 | " 复制 CRC ", 50 | " 复制CRC" 51 | ], 52 | "1273": " 正在压缩", 53 | "1280": " 音轨未被完整抓取(经 AccurateRip 核查)", 54 | "1281": " 精确校准地抓取 ", 55 | "1282": " 无精确校准抓取 ", 56 | "1283": " 音轨在 AccurateRip 数据库中无记录", 57 | "1330": " 不能准确地校验", 58 | "1337": "不能准确地校验", 59 | "1331": ", 返回 AccurateRip", 60 | "1332": "(确认 ", 61 | "1333": "没有音轨被准确核实", 62 | "1334": "你的版本可能与数据库的版本不同", 63 | "1335": "一些音轨不能准确地校验", 64 | "1336": "所有音轨精确校准抓取", 65 | "1338": [ 66 | " 在CRC 计算中使用了空样本", 67 | "校验和计算中使用空白采样" 68 | ], 69 | "1339": "音轨在 AccurateRip 数据库中无记录", 70 | "1340": "音轨精确校准抓取", 71 | "1341": "音轨不能准确校验", 72 | "1342": "音轨未被完整抓取(经 AccurateRip 核查)", 73 | "1343": "音轨已取消", 74 | "1344": "没有任何音轨在 AccurateRip 数据库中有记录", 75 | "1284": "并非所有的音轨都准确地校准抓取", 76 | "1222": "没有错误发生", 77 | "1223": "重新检查范围", 78 | "1224": "出现错误", 79 | "1225": [ 80 | "状态报告结尾", 81 | "日志文件结束" 82 | ], 83 | "1321": "没检测到,因此追加到上一曲目", 84 | "1322": "追加到上一曲目", 85 | "1323": "追加到下一曲目", 86 | "1325": "记录校验日志", 87 | "1226": "音轨", 88 | "1230": "索引", 89 | "1229": "重新检查音轨", 90 | "1274": [ 91 | "EAC 抓取日志文件从", 92 | "EAC日志文件创建时间" 93 | ], 94 | "1251": "十二月", 95 | "1250": "十一月", 96 | "1240": "一月", 97 | "1241": "二月", 98 | "1242": "三月", 99 | "1243": "四月", 100 | "1244": "五月", 101 | "1245": "六月", 102 | "1246": "七月", 103 | "1247": "八月", 104 | "1248": "九月", 105 | "1249": "十月", 106 | "1232": "EAC 抓取日志文件", 107 | "1233": [ 108 | "使用驱动器 :", 109 | "光驱型号" 110 | ], 111 | "1234": [ 112 | "读取模式", 113 | "抓轨模式" 114 | ], 115 | "1235": "暴发", 116 | "1236": "快速", 117 | "1237": "过激", 118 | "1238": "不使用 C2, 使用精确流,不禁用缓存的安全模式", 119 | "1239": "不使用 C2, 不使用精确流,禁用缓存的安全模式", 120 | "1252": "使用 C2,使用精确流,不禁用缓存的安全模式", 121 | "1253": "使用 C2, 使用精确流,禁用缓存的安全模式", 122 | "1254": "不使用 C2,使用精确流, 禁用缓存的安全模式", 123 | "1255": "组合读写偏移校正:", 124 | "1256": [ 125 | "读取偏移校正:", 126 | "读取偏移校正" 127 | ], 128 | "1257": [ 129 | "读取 Lead-In 和 Lead-Out", 130 | "通读Lead-In和Lead-Out" 131 | ], 132 | "1258": [ 133 | "所用输出模式:", 134 | "输出格式" 135 | ], 136 | "1259": "附加命令行参数:", 137 | "1260": [ 138 | "内部 WAV 函数", 139 | "内部WAV例程" 140 | ], 141 | "1261": "44.100 Hz; 16 Bit; 立体声", 142 | "1262": "使用压缩偏移:", 143 | "1263": "其他选项 :", 144 | "1264": [ 145 | "用静音填充抓取中丢失偏移的采样", 146 | "用静音填充丢失的偏移采样" 147 | ], 148 | "1265": [ 149 | "去除首尾静音块", 150 | "删除开始与结尾的静音部分" 151 | ], 152 | "1266": "标准化至 ", 153 | "1267": [ 154 | "Win NT 及 2000 本地 Win32 接口", 155 | "Win NT & 2000 的本地Win32接口" 156 | ], 157 | "1268": "已安装外部 ASPI 接口", 158 | "1275": "AccurateRip 摘要", 159 | "1276": "未完整地校准抓取", 160 | "1277": "精确地校准抓取 ", 161 | "1278": "无精确地校准抓取 ", 162 | "1279": "在数据库中不存在", 163 | "1285": ",或可能", 164 | "1286": "只执行抓取测试", 165 | "1287": "扇区", 166 | "1288": "Exact Audio Copy", 167 | "1289": [ 168 | "已抓取 CD 的 TOC", 169 | "CD内容目录(TOC)" 170 | ], 171 | "1290": "音轨", 172 | "1291": "起始", 173 | "1292": "长度", 174 | "1293": "起始扇区", 175 | "1294": "结束扇区", 176 | "1295": "可靠Secure", 177 | "1296": "使用 C2 指示器", 178 | "1297": "使用精确流", 179 | "1298": "清空音频缓存", 180 | "1305": [ 181 | "已用接口", 182 | "使用的接口" 183 | ], 184 | "1306": "命令行压缩器", 185 | "1307": "已选比特率", 186 | "1308": "质量", 187 | "1328": "高", 188 | "1329": "低", 189 | "1309": "添加 ID3 标签", 190 | "1310": [ 191 | "样本格式", 192 | "采样格式" 193 | ], 194 | "1320": "间隙处理", 195 | "1324": "忽略", 196 | 197 | "81700": "L3Enc MP3 兼容编码器", 198 | "81701": "Fraunhofer MP3Enc MP3 编码器", 199 | "81702": "Xing X3Enc MP3 编码器", 200 | "81703": "Xing ToMPG MP3 编码器", 201 | "81704": "LAME MP3 编码器", 202 | "81705": "GOGO MP3 编码器", 203 | "81706": "MPC 编码器", 204 | "81707": "Ogg Vorbis 编码器", 205 | "81708": "Microsoft WMA9 编码器", 206 | "81709": "FAAC AAC 编码器", 207 | "81710": "Homeboy AAC 编码器", 208 | "81711": "Quartex AAC 编码器", 209 | "81712": "PsyTEL AAC 编码器", 210 | "81713": "MBSoft AAC 编码器", 211 | "81714": "Yamaha VQF 编码器", 212 | "81715": "Real Audio 编码器", 213 | "81716": "Monkey's Audio 无损编码器", 214 | "81717": "Shorten 无损编码器", 215 | "81718": "RKAU 无损编码器", 216 | "81719": "LPAC 无损编码器", 217 | "81720": "用户定义的编码器", 218 | 219 | "1": "中文", 220 | "2": "Chinese", 221 | 222 | "4270": "低", 223 | "4271": "中", 224 | "4272": "高", 225 | 226 | "5": "错误信息", 227 | "6": "警告", 228 | "7": "成功", 229 | "8": "信息", 230 | 231 | "10": "确定", 232 | "11": "取消", 233 | "12": "应用", 234 | "15": "是", 235 | "16": "否" 236 | } 237 | -------------------------------------------------------------------------------- /src/Util.php: -------------------------------------------------------------------------------- 1 | /dev/null", $output, $return_var); 12 | return $return_var === 0; 13 | } 14 | 15 | public static function decodeEncoding(string $log, string $logPath): string 16 | { 17 | try { 18 | $chardet = new Chardet(); 19 | } catch (\RuntimeException $exc) { 20 | $chardet = null; 21 | } 22 | /** @var Chardet $chardet */ 23 | 24 | // Whipper uses UTF-8 so we don't need to bother checking, especially as it's 25 | // possible a log may be falsely detected as a different encoding by chardet 26 | if (strpos($log, "Log created by: whipper") !== false) { 27 | return $log; 28 | } 29 | // To parse the log, we want to deal with the log in UTF-8. EAC by default should 30 | // always output to UTF-16 and XLD to UTF-8, but sometimes people view the log and 31 | // re-encode them to something else (like Windows-1251), and we need to use chardet 32 | // to detect this so we can then convert it to UTF-8. 33 | if (ord($log[0]) . ord($log[1]) == 0xFF . 0xFE) { 34 | $log = mb_convert_encoding(substr($log, 2), 'UTF-8', 'UTF-16LE'); 35 | } elseif (ord($log[0]) . ord($log[1]) == 0xFE . 0xFF) { 36 | $log = mb_convert_encoding(substr($log, 2), 'UTF-8', 'UTF-16BE'); 37 | } elseif (ord($log[0]) == 0xEF && ord($log[1]) == 0xBB && ord($log[2]) == 0xBF) { 38 | $log = substr($log, 3); 39 | } elseif ($chardet !== null) { 40 | $results = $chardet->analyze($logPath); 41 | if ($results['charset'] !== 'utf-8' && $results['confidence'] > 0.7) { 42 | // ideally we'd be able to use mb_convert_encoding as it has more widespread 43 | // support vs iconv, but it does not support as many encodings as iconv, such 44 | // as Windows-1250 (along with others) which is a common encoding for range logs 45 | // coming from rutracker 46 | // $log = mb_convert_encoding($log, 'UTF-8', $results['charset']); 47 | $tmp = @iconv($results['charset'], 'UTF-8', $log); 48 | 49 | // depending on your iconv version, some encodings may be represented 50 | // with prefix of mac-* or mac (like maccentraleurope vs mac-centraleurope) 51 | if ($tmp === false && substr($results['charset'], 0, 3) === 'mac') { 52 | $tmp = @iconv('mac-' . substr($results['charset'], 3), 'UTF-8', $log); 53 | } 54 | $log = $tmp; 55 | if ($log === false) { 56 | throw new \RuntimeException('Could not properly decode log encoding'); 57 | } 58 | } elseif ($results['charset'] !== 'utf-8' && $results['confidence'] > 0.3) { 59 | // If we've got a poor confidence on our decoding, we just use a generic 60 | // ISO-8859-1 as that covers a decent range of things that people would 61 | // inadvertently re-encode a log into. I seriously cannot express how 62 | // much I hate how EAC does not use always UTF-8. 63 | $log = iconv('ISO-8859-1', 'UTF-8', $log); 64 | } 65 | } 66 | 67 | return $log; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /tests/Check/ChecksumTest.php: -------------------------------------------------------------------------------- 1 | expectException(UnknownRipperException::class); 15 | $this->expectExceptionMessage('Unknown ripper: invalid'); 16 | Checksum::logcheckerExists('invalid'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Check/RipperTest.php: -------------------------------------------------------------------------------- 1 | assertSame($ripper, Ripper::getRipper($testString)); 45 | } 46 | 47 | public function testInvalidRipper() 48 | { 49 | $this->expectException(UnknownRipperException::class); 50 | $this->expectExceptionMessage('Could not determine ripper'); 51 | Ripper::getRipper('invalid invalid invalid'); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /tests/LogcheckerTest.php: -------------------------------------------------------------------------------- 1 | getPathname(), $entry->getFilename()]; 19 | } 20 | } 21 | return $return; 22 | } 23 | 24 | /** 25 | * @dataProvider logDataProvider 26 | */ 27 | public function testLogchecker(string $ripper, string $filePath, string $fileName): void 28 | { 29 | $basePath = implode(DIRECTORY_SEPARATOR, [__DIR__, 'logs', strtolower($ripper)]); 30 | if (!Checksum::logcheckerExists($ripper)) { 31 | $this->markTestSkipped("Need to install {$ripper} logchecker"); 32 | } 33 | 34 | $detailsFile = implode(DIRECTORY_SEPARATOR, [$basePath, 'details', str_replace('.log', '.json', $fileName)]); 35 | if (!file_exists($detailsFile)) { 36 | $this->markTestIncomplete("Missing details file:\n- " . $detailsFile . "\n- " . $filePath); 37 | } 38 | $htmlFile = implode(DIRECTORY_SEPARATOR, [$basePath, 'html', $fileName]); 39 | if (!file_exists($htmlFile)) { 40 | $this->markTestIncomplete("Missing html file:\n- " . $htmlFile . "\n- " . $filePath); 41 | } 42 | 43 | $logchecker = new Logchecker(); 44 | $logchecker->newFile($filePath); 45 | $logchecker->parse(); 46 | $actual = [ 47 | 'ripper' => $logchecker->getRipper(), 48 | 'version' => $logchecker->getRipperVersion(), 49 | 'language' => $logchecker->getLanguage(), 50 | 'combined' => $logchecker->isCombinedLog(), 51 | 'score' => $logchecker->getScore(), 52 | 'checksum' => $logchecker->getChecksumState(), 53 | 'details' => $logchecker->getDetails() 54 | ]; 55 | 56 | $this->assertEquals(json_decode(file_get_contents($detailsFile), true), $actual); 57 | $this->assertStringEqualsFile($htmlFile, $logchecker->getLog()); 58 | } 59 | 60 | public function testGetAcceptValues(): void 61 | { 62 | $this->assertSame(".txt,.TXT,.log,.LOG", Logchecker::getAcceptValues()); 63 | } 64 | 65 | public function testGetLogcheckerVersion(): void 66 | { 67 | $composer = json_decode( 68 | file_get_contents(implode(DIRECTORY_SEPARATOR, [__DIR__, '..', 'composer.json'])), 69 | true 70 | ); 71 | $this->assertSame($composer['version'], Logchecker::getLogcheckerVersion()); 72 | } 73 | 74 | public function testCheckUnknownLog(): void 75 | { 76 | $logchecker = new Logchecker(); 77 | $logchecker->newFile(implode(DIRECTORY_SEPARATOR, [__DIR__, 'LogcheckerTest.php'])); 78 | $logchecker->parse(); 79 | 80 | $this->assertSame(Ripper::UNKNOWN, $logchecker->getRipper()); 81 | $this->assertNull($logchecker->getRipperVersion()); 82 | $this->assertSame(0, $logchecker->getScore()); 83 | $this->assertSame('en', $logchecker->getLanguage()); 84 | $this->assertSame(['Unknown log file, could not determine ripper.'], $logchecker->getDetails()); 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /tests/Parser/EAC/TranslatorTest.php: -------------------------------------------------------------------------------- 1 | isFile()) { 20 | continue; 21 | } 22 | foreach (new FilesystemIterator($dir->getPathname(), FilesystemIterator::SKIP_DOTS) as $logFiles) { 23 | if (preg_match("/[0-9]+\.log/", $logFiles->getFilename())) { 24 | $logs[] = [$dir->getFilename(), $logFiles->getPathname()]; 25 | } 26 | } 27 | } 28 | return $logs; 29 | } 30 | 31 | /** 32 | * @dataProvider foreignLogDataProvider 33 | */ 34 | public function testTranslateLog($language, $logPath) 35 | { 36 | $log = file_get_contents($logPath); 37 | $translatedLogPath = str_replace('.log', '_en.log', $logPath); 38 | $langDetails = Translator::getLanguage($log); 39 | $this->assertSame($language, $langDetails['code']); 40 | $this->assertNotNull($langDetails['name']); 41 | $this->assertNotNull($langDetails['name_english']); 42 | $this->assertStringEqualsFile($translatedLogPath, Translator::translate($log, $language)); 43 | } 44 | 45 | public function testInvalidLanguage() 46 | { 47 | $this->expectException(UnknownLanguageException::class); 48 | $this->expectExceptionMessage('Could not determine language of EAC log'); 49 | Translator::getLanguage( 50 | file_get_contents( 51 | implode(DIRECTORY_SEPARATOR, [__DIR__, '..', '..', 'logs', 'xld', 'originals', 'xld_perfect.log']) 52 | ) 53 | ); 54 | } 55 | 56 | public static function englishLogProvider() 57 | { 58 | return array_map( 59 | function ($file) { 60 | return [$file]; 61 | }, 62 | array_filter( 63 | scandir(implode(DIRECTORY_SEPARATOR, [__DIR__, '..', '..', 'logs', 'eac', 'originals'])), 64 | function ($file) { 65 | return substr($file, 0, 2) === 'en'; 66 | } 67 | ) 68 | ); 69 | } 70 | 71 | /** 72 | * @dataProvider englishLogProvider 73 | */ 74 | public function testEnglishLanguage(string $file) 75 | { 76 | $logPath = implode(DIRECTORY_SEPARATOR, [__DIR__, '..', '..', 'logs', 'eac', 'originals', $file]); 77 | $log = file_get_contents($logPath); 78 | $log = Util::decodeEncoding($log, $logPath); 79 | $langDetails = Translator::getLanguage($log); 80 | $this->assertSame('en', $langDetails['code']); 81 | $this->assertSame('English', $langDetails['name']); 82 | $this->assertSame('English', $langDetails['name_english']); 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /tests/UtilTest.php: -------------------------------------------------------------------------------- 1 | assertSame($exists, Util::commandExists($command)); 26 | } 27 | 28 | public static function decodeLogDataProvider(): array 29 | { 30 | $logPath = implode(DIRECTORY_SEPARATOR, [__DIR__, 'logs', 'eac', 'originals']); 31 | $return = []; 32 | foreach (new FilesystemIterator($logPath) as $file) { 33 | [$language, $logName] = explode('_', $file->getFilename()); 34 | if (!file_exists(implode(DIRECTORY_SEPARATOR, [$logPath, '..', 'utf8', $language]))) { 35 | continue; 36 | } 37 | $return[] = [$file->getPathname(), $language, $logName]; 38 | } 39 | return $return; 40 | } 41 | 42 | /** 43 | * @dataProvider decodeLogDataProvider 44 | */ 45 | public function testDecodeLog(string $logPath, string $language, string $logName) 46 | { 47 | $testLog = implode(DIRECTORY_SEPARATOR, [__DIR__, 'logs', 'eac', 'utf8', $language, $logName]); 48 | $this->assertStringEqualsFile($testLog, Util::decodeEncoding(file_get_contents($logPath), $logPath)); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /tests/logs/eac/details/combined_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "0.99 prebeta 1", 4 | "language": "en", 5 | "combined": true, 6 | "score": 69, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "Combined Log (8)", 10 | "\"Defeat audio cache\" should be yes (-10 points)", 11 | "Could not verify null samples", 12 | "Gap handling should be appended to previous track (-10 points)", 13 | "Test and copy was not used (-10 points)", 14 | "Could not verify id3 tag setting (-1 point)", 15 | "Track 02 (1): Could not verify filename, too long", 16 | "Track 05 (1): Could not verify filename, too long", 17 | "Track 07 (1): Could not verify filename, too long" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /tests/logs/eac/details/combined_copy_aborted.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.6", 4 | "language": "en", 5 | "combined": true, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Combined Log (3)" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/logs/eac/details/combined_mp3_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.5", 4 | "language": "en", 5 | "combined": true, 6 | "score": 100, 7 | "checksum": "checksum_invalid", 8 | "details": [ 9 | "Combined Log (2)", 10 | "Skipping Log (2), MP3 Rip" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/logs/eac/details/combined_mp3_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.4", 4 | "language": "en", 5 | "combined": true, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Combined Log (2)", 10 | "Skipping Log (2), MP3 Rip" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/logs/eac/details/cs_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "0.99 prebeta 4", 4 | "language": "cs", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "[Notice] Translated log from Čeština (Czech) to English." 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/logs/eac/details/eac_95_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": null, 4 | "language": "en", 5 | "combined": false, 6 | "score": 59, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "EAC version older than 0.99 (-30 points)", 10 | "Could not verify null samples", 11 | "Could not verify gap handling (-10 points)", 12 | "Could not verify id3 tag setting (-1 point)" 13 | ] 14 | } -------------------------------------------------------------------------------- /tests/logs/eac/details/en_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": null, 4 | "language": "en", 5 | "combined": false, 6 | "score": 59, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "EAC version older than 0.99 (-30 points)", 10 | "Could not verify null samples", 11 | "Could not verify gap handling (-10 points)", 12 | "Could not verify id3 tag setting (-1 point)" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 89, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "\"Defeat audio cache\" should be yes (-10 points)", 10 | "ID3 tags should not be added to FLAC files - they are mainly for MP3 files. FLACs should have vorbis comments for tags instead. (-1 point)" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_4.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 6", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_5.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "0.99 prebeta 5", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_missing", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_6.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 59, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Could not verify gap handling (-10 points)", 10 | "Could not verify id3 tag setting (-1 point)", 11 | "Range rip detected (-30 points)" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_7.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_8_negative_offset.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "0.99 prebeta 4", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_missing", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_delete_leading_silent.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 95, 7 | "checksum": "checksum_invalid", 8 | "details": [ 9 | "Deletes leading and trailing silent blocks (-5 points)" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/logs/eac/details/en_normalization.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.6", 4 | "language": "en", 5 | "combined": false, 6 | "score": 0, 7 | "checksum": "checksum_invalid", 8 | "details": [ 9 | "Normalization should be not be active (-100 points)" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/logs/eac/details/encoding_maccentraleurope.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "0.99 prebeta 5", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /tests/logs/eac/details/file_write_error.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.6", 4 | "language": "en", 5 | "combined": false, 6 | "score": 80, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Track 14: File write error (-20 points)" 10 | ] 11 | } -------------------------------------------------------------------------------- /tests/logs/eac/details/gap_handling_left_out.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 3", 4 | "language": "en", 5 | "combined": true, 6 | "score": 90, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Combined Log (2)", 10 | "Gap handling should be appended to previous track (-10 points)" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/logs/eac/details/id3_tags.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 99, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "ID3 tags should not be added to FLAC files - they are mainly for MP3 files. FLACs should have vorbis comments for tags instead. (-1 point)" 10 | ] 11 | } -------------------------------------------------------------------------------- /tests/logs/eac/details/incorrect_offset.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": null, 4 | "language": "en", 5 | "combined": false, 6 | "score": 54, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "EAC version older than 0.99 (-30 points)", 10 | "Incorrect read offset for drive. Correct offsets are: 685 (Checked against the following drive(s): nec cd-rw nr-9300a) (-5 points)", 11 | "Could not verify null samples", 12 | "Could not verify gap handling (-10 points)", 13 | "Could not verify id3 tag setting (-1 point)" 14 | ] 15 | } -------------------------------------------------------------------------------- /tests/logs/eac/details/invalid_track_separator.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.6", 4 | "language": "en", 5 | "combined": false, 6 | "score": 0, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "Invalid log, no tracks!" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/logs/eac/details/long_filename.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.0 beta 3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 99, 7 | "checksum": "checksum_invalid", 8 | "details": [ 9 | "Track 01: Could not verify filename or file extension (-1 point)", 10 | "Track 11: Could not verify filename, too long" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/logs/eac/details/no_test_copy.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 79, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "Gap handling was not detected (-10 points)", 10 | "Could not verify id3 tag setting (-1 point)", 11 | "Test and copy was not used (-10 points)" 12 | ] 13 | } -------------------------------------------------------------------------------- /tests/logs/eac/details/pl_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": null, 4 | "language": "pl", 5 | "combined": false, 6 | "score": 4, 7 | "checksum": "checksum_missing", 8 | "details": [ 9 | "[Notice] Translated log from Polski (Polish) to English.", 10 | "EAC version older than 0.99 (-30 points)", 11 | "Audio cache not disabled (-10 points)", 12 | "Could not verify read offset (-1 point)", 13 | "Combined read/write offset cannot be verified (-4 points)", 14 | "Could not verify null samples", 15 | "Could not verify gap handling (-10 points)", 16 | "Could not verify id3 tag setting (-1 point)", 17 | "Range rip detected (-30 points)", 18 | "Test and copy was not used (-10 points)" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tests/logs/eac/details/range_rip_no_space_before_filename.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.6", 4 | "language": "en", 5 | "combined": false, 6 | "score": 50, 7 | "checksum": "checksum_invalid", 8 | "details": [ 9 | "Could not verify gap handling (-10 points)", 10 | "Range rip detected (-30 points)", 11 | "Test and copy was not used (-10 points)" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /tests/logs/eac/details/ru_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "EAC", 3 | "version": "1.5", 4 | "language": "ru", 5 | "combined": false, 6 | "score": 90, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "[Notice] Translated log from Русский (Russian) to English.", 10 | "Gap handling should be appended to previous track (-10 points)" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /tests/logs/eac/html/en_6.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.0 beta 3 from 29. August 2011 2 | 3 | EAC extraction logfile from 1. June 2014, 12:04 4 | 5 | Tears For Fears / Songs From The Big Chair PT-SHM 6 | 7 | Used Drive : PLEXTOR BD-R PX-B950SA Adapter: 6 ID: 0 8 | 9 | Read mode : Secure 10 | Utilize accurate stream : Yes 11 | Defeat audio cache : Yes 12 | Make use of C2 pointers : No 13 | 14 | Read offset correction : 6 15 | Overread into Lead-In and Lead-Out : No 16 | Fill up missing offset samples with silence : Yes 17 | Delete leading and trailing silent blocks : No 18 | Null samples used in CRC calculations : Yes 19 | Used interface : Native Win32 interface for Win NT & 2000 20 | 21 | Used output format : Internal WAV Routines 22 | Sample format : 44.100 Hz; 16 Bit; Stereo 23 | 24 | 25 | TOC of the extracted CD 26 | 27 | Track | Start | Length | Start sector | End sector 28 | --------------------------------------------------------- 29 | 1 | 0:00.00 | 6:33.37 | 0 | 29511 30 | 2 | 6:33.37 | 6:31.65 | 29512 | 58901 31 | 3 | 13:05.27 | 4:11.23 | 58902 | 77749 32 | 4 | 17:16.50 | 5:08.47 | 77750 | 100896 33 | 5 | 22:25.22 | 4:55.08 | 100897 | 123029 34 | 6 | 27:20.30 | 2:38.30 | 123030 | 134909 35 | 7 | 29:58.60 | 5:02.32 | 134910 | 157591 36 | 8 | 35:01.17 | 6:52.40 | 157592 | 188531 37 | 38 | 39 | Range status and errors 40 | 41 | Selected range 42 | 43 | Filename C:\Users\Meijin\Desktop\Lossless Galaxy ALLexxess\Tears For Fears\1985 Songs From The Big Chair (Mini LP PT-SHM Universal Japan 2014)\Tears For Fears - Songs From The Big Chair PT-SHM.wav 44 | 45 | Peak level 98.3 % 46 | Extraction speed 6.8 X 47 | Range quality 100.0 % 48 | Test CRC 38370991 49 | Copy CRC 38370991 50 | Copy OK 51 | 52 | No errors occurred 53 | 54 | 55 | AccurateRip summary 56 | 57 | Track 1 not present in database 58 | Track 2 not present in database 59 | Track 3 not present in database 60 | Track 4 not present in database 61 | Track 5 not present in database 62 | Track 6 not present in database 63 | Track 7 not present in database 64 | Track 8 not present in database 65 | 66 | None of the tracks are present in the AccurateRip database 67 | 68 | End of status report 69 | ==== Log checksum F413753BAB2A22283F8DF472091C272B4507C6908CC321D6FEA351BDD5D18E43 ==== -------------------------------------------------------------------------------- /tests/logs/eac/html/invalid_track_separator.log: -------------------------------------------------------------------------------- 1 | 2 | Exact Audio Copy V1.6 from 23. October 2020 3 | 4 | EAC extraction logfile from 5. October 2023, 12:20 5 | 6 | Neon Plastix / Dream , On Fire 7 | 8 | Used Drive : PLDS DVD+-RW DS-8ABSH Adapter: 1 ID: 0 9 | 10 | Read mode : Secure 11 | Utilize accurate stream : Yes 12 | Defeat audio cache : Yes 13 | Make use of C2 pointers : No 14 | 15 | Read offset correction : 6 16 | Overread into Lead-In and Lead-Out : No 17 | Fill up missing offset samples with silence : Yes 18 | Delete leading and trailing silent blocks : No 19 | Null samples used in CRC calculations : Yes 20 | Used interface : Native Win32 interface for Win NT & 2000 21 | Gap handling : Appended to previous user 22 | 23 | Used output format : User Defined Encoder 24 | Selected bitrate : 1024 kBit/s 25 | Quality : High 26 | Add ID3 tag : No 27 | Command line compressor : Z:\opt\exact-audio-copy\Flac\flac.exe 28 | Additional command line options : -8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T 29 | "userNUMBER=%usernr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALuserS=%numusers%" -T "COMMENT=%comment%" %source% -o %dest% 30 | 31 | 32 | TOC of the extracted CD 33 | 34 | user | Start | Length | Start sector | End sector 35 | --------------------------------------------------------- 36 | 1 | 0:00.00 | 3:13.29 | 0 | 14503 37 | 2 | 3:13.29 | 3:56.16 | 14504 | 32219 38 | 3 | 7:09.45 | 3:40.26 | 32220 | 48745 39 | 40 | 41 | user 1 42 | 43 | Filename Z:\home\LinkLucky\Music\Rips\Neon Plastix - Dream , On Fire [FLAC]\01 - Dream.wav 44 | 45 | Pre-gap length 0:00:02.00 46 | 47 | Peak level 99.8 % 48 | Extraction speed 2.7 X 49 | user quality 100.0 % 50 | Test CRC 814CB963 51 | Copy CRC 814CB963 52 | user not present in AccurateRip database 53 | Copy OK 54 | 55 | user 2 56 | 57 | Filename Z:\home\LinkLucky\Music\Rips\Neon Plastix - Dream , On Fire [FLAC]\02 - On Fire.wav 58 | 59 | Pre-gap length 0:00:01.60 60 | 61 | Peak level 99.8 % 62 | Extraction speed 3.0 X 63 | user quality 100.0 % 64 | Test CRC 6C24A712 65 | Copy CRC 6C24A712 66 | user not present in AccurateRip database 67 | Copy OK 68 | 69 | user 3 70 | 71 | Filename Z:\home\LinkLucky\Music\Rips\Neon Plastix - Dream , On Fire [FLAC]\03 - Halfway to Love.wav 72 | 73 | Pre-gap length 0:00:02.58 74 | 75 | Peak level 99.8 % 76 | Extraction speed 3.3 X 77 | user quality 100.0 % 78 | Test CRC DDE10390 79 | Copy CRC DDE10390 80 | user not present in AccurateRip database 81 | Copy OK 82 | 83 | 84 | None of the users are present in the AccurateRip database 85 | 86 | No errors occurred 87 | End of status report -------------------------------------------------------------------------------- /tests/logs/eac/html/pl_1.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 6. March 2005, 18:18 dla płyty 2 | 3 | Horace Tapscott / The Dark Tree, Vol 1 4 | 5 | Used Drive : TEAC CD-W54E Adapter: 0 ID: 1 6 | Read mode: Secure with NO C2, accurate stream, NO disable cache 7 | Combined read/write offset correction: 0 8 | Overread into Lead-In and Lead-Out : No 9 | 10 | Used output format: Internal WAV Routines 11 | 44.100 Hz; 16 Bit; Stereo 12 | 13 | Other options : 14 | Fill up missing offset samples with silence : Yes 15 | Delete leading and trailing silent blocks : No 16 | Installed external ASPI interface 17 | 18 | 19 | Range status and errors 20 | Selected range 21 | Filename E:\Moja muzyka\Horace Tapscott-The Dark Tree 1.EAC.flac\CDImage.wav 22 | 23 | Peak level 100.0 % 24 | Range quality 100.0 % 25 | CRC E6972C48 26 | Copy OK 27 | 28 | No errors occurred 29 | End of status report -------------------------------------------------------------------------------- /tests/logs/eac/html/range_rip_no_space_before_filename.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.6 from 23. October 2020 2 | 3 | EAC extraction logfile from 18. September 2021, 11:48 4 | 5 | 聖飢魔II / 空の雫 (BMG, BVDR-1213) 6 | 7 | Used Drive : _NEC DVD_RW ND-3550A Adapter: 1 ID: 0 8 | 9 | Read mode : Secure 10 | Utilize accurate stream : Yes 11 | Defeat audio cache : Yes 12 | Make use of C2 pointers : No 13 | 14 | Read offset correction : 48 15 | Overread into Lead-In and Lead-Out : No 16 | Fill up missing offset samples with silence : Yes 17 | Delete leading and trailing silent blocks : No 18 | Null samples used in CRC calculations : Yes 19 | Used interface : Native Win32 interface for Win NT & 2000 20 | 21 | Used output format : User Defined Encoder 22 | Selected bitrate : 1024 kBit/s 23 | Quality : High 24 | Add ID3 tag : No 25 | Command line compressor : C:\Program Files\Exact Audio Copy\Flac\flac.exe 26 | Additional command line options : -V -8 -T "Date=%year%" -T "Genre=%genre%" %source% 27 | 28 | 29 | TOC of the extracted CD 30 | 31 | Track | Start | Length | Start sector | End sector 32 | --------------------------------------------------------- 33 | 1 | 0:00.37 | 4:58.00 | 37 | 22386 34 | 2 | 4:58.37 | 4:46.00 | 22387 | 43836 35 | 3 | 9:44.37 | 4:55.00 | 43837 | 65961 36 | 37 | 38 | Range status and errors 39 | 40 | Selected range 41 | 42 | Filename C:\Dkogure\聖飢魔II - 空の雫 (BMG, BVDR-1213).wav 43 | 44 | Peak level 100.0 % 45 | Extraction speed 3.4 X 46 | Range quality 99.9 % 47 | Copy CRC 8CB5CC70 48 | Copy OK 49 | 50 | No errors occurred 51 | 52 | 53 | AccurateRip summary 54 | 55 | Track 1 not present in database 56 | Track 2 not present in database 57 | Track 3 not present in database 58 | 59 | None of the tracks are present in the AccurateRip database 60 | 61 | End of status report 62 | 63 | ---- CUETools DB Plugin V2.1.6 64 | 65 | [CTDB TOCID: nh8tQRWz5TKO_Z7CPWNNCPs3pHk-] found 66 | Submit result: already submitted 67 | Track | CTDB Status 68 | 1 | (2/2) Accurately ripped 69 | 2 | (2/2) Accurately ripped 70 | 3 | (1/2) Accurately ripped, or (1/2) differs in 1 samples @04:54:71 71 | 72 | ==== Log checksum 9187251CC813F706519EADCD5741514C2F7280BC14D54E2E74B2BC32B2D5C986 ==== -------------------------------------------------------------------------------- /tests/logs/eac/originals/combined_copy_aborted.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/combined_copy_aborted.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/combined_mp3_2.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/combined_mp3_2.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/cs_1.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/cs_1.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/eac_95_1.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 14. September 2006, 21:05 for CD 2 | 2 Unlimited / No Limits! 3 | 4 | Used drive : LITE-ON DVDRW SOHW-1633S Adapter: 3 ID: 1 5 | Read mode : Secure with NO C2, accurate stream, disable cache 6 | Read offset correction : 12 7 | Overread into Lead-In and Lead-Out : No 8 | 9 | Used output format : C:\Program Files\FLAC\flac.exe (User Defined Encoder) 10 | 192 kBit/s 11 | Additional command line options : -V -8 -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s 12 | 13 | Other options : 14 | Fill up missing offset samples with silence : Yes 15 | Delete leading and trailing silent blocks : No 16 | Installed external ASPI interface 17 | 18 | 19 | Track 1 20 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\01 - 2 Unlimited - No Limit.wav 21 | 22 | Pre-gap length 0:00:02.00 23 | 24 | Peak level 91.4 % 25 | Track quality 100.0 % 26 | Test CRC 18C66FA4 27 | Copy CRC 18C66FA4 28 | Copy OK 29 | 30 | Track 2 31 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\02 - 2 Unlimited - Tribal Dance.wav 32 | 33 | Peak level 100.0 % 34 | Track quality 100.0 % 35 | Test CRC 449F19DC 36 | Copy CRC 449F19DC 37 | Copy OK 38 | 39 | Track 3 40 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\03 - 2 Unlimited - Mysterious.wav 41 | 42 | Peak level 97.9 % 43 | Track quality 100.0 % 44 | Test CRC 54BC5922 45 | Copy CRC 54BC5922 46 | Copy OK 47 | 48 | Track 4 49 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\04 - 2 Unlimited - Faces.wav 50 | 51 | Peak level 97.0 % 52 | Track quality 100.0 % 53 | Test CRC 82C61D83 54 | Copy CRC 82C61D83 55 | Copy OK 56 | 57 | Track 5 58 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\05 - 2 Unlimited - Maximum Overdrive.wav 59 | 60 | Peak level 86.7 % 61 | Track quality 100.0 % 62 | Test CRC F5813958 63 | Copy CRC F5813958 64 | Copy OK 65 | 66 | Track 6 67 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\06 - 2 Unlimited - The Power Age.wav 68 | 69 | Peak level 93.4 % 70 | Track quality 100.0 % 71 | Test CRC 2AC2093D 72 | Copy CRC 2AC2093D 73 | Copy OK 74 | 75 | Track 7 76 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\07 - 2 Unlimited - Break The Chain.wav 77 | 78 | Peak level 100.0 % 79 | Track quality 100.0 % 80 | Test CRC C094A376 81 | Copy CRC C094A376 82 | Copy OK 83 | 84 | Track 8 85 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\08 - 2 Unlimited - Kiss Me Bliss Me.wav 86 | 87 | Peak level 92.6 % 88 | Track quality 100.0 % 89 | Test CRC EFDD7065 90 | Copy CRC EFDD7065 91 | Copy OK 92 | 93 | Track 9 94 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\09 - 2 Unlimited - Throw The Groove Down.wav 95 | 96 | Peak level 85.7 % 97 | Track quality 100.0 % 98 | Test CRC 78CEFB8C 99 | Copy CRC 78CEFB8C 100 | Copy OK 101 | 102 | Track 10 103 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\10 - 2 Unlimited - R.U.O.K.wav 104 | 105 | Peak level 100.0 % 106 | Track quality 100.0 % 107 | Test CRC A332AB49 108 | Copy CRC A332AB49 109 | Copy OK 110 | 111 | Track 11 112 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\11 - 2 Unlimited - Let The Beat Control Your Body.wav 113 | 114 | Peak level 93.6 % 115 | Track quality 100.0 % 116 | Test CRC C416AB93 117 | Copy CRC C416AB93 118 | Copy OK 119 | 120 | Track 12 121 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\12 - 2 Unlimited - Invite Me To Trance.wav 122 | 123 | Peak level 90.2 % 124 | Track quality 100.0 % 125 | Test CRC 416E262F 126 | Copy CRC 416E262F 127 | Copy OK 128 | 129 | Track 13 130 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\13 - 2 Unlimited - Where Are You Now.wav 131 | 132 | Peak level 95.8 % 133 | Track quality 99.9 % 134 | Test CRC 3EFA4349 135 | Copy CRC 3EFA4349 136 | Copy OK 137 | 138 | Track 14 139 | Filename F:\_OINK UPLOADS\2 Unlimited - No Limits!\14 - 2 Unlimited - Shelter For A Rainy Day.wav 140 | 141 | Peak level 95.8 % 142 | Track quality 100.0 % 143 | Test CRC 17EE74AD 144 | Copy CRC 17EE74AD 145 | Copy OK 146 | 147 | No errors occured 148 | 149 | 150 | End of status report 151 | -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_1.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 6. March 2007, 19:59 for CD 2 | Hijack the terrorist group / The Horns of Jericho 3 | 4 | Used drive : HL-DT-STDVD-RAM GSA-H20L Adapter: 2 ID: 0 5 | Read mode : Secure with NO C2, accurate stream, disable cache 6 | Read offset correction : 102 7 | Overread into Lead-In and Lead-Out : No 8 | 9 | Used output format : C:\Programme\Exact Audio Copy\flac.exe (User Defined Encoder) 10 | 128 kBit/s 11 | Additional command line options : -8 -A tukey(0.25) -A gauss(0.1875) -b 4096 -V -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s --sector-align 12 | 13 | Other options : 14 | Fill up missing offset samples with silence : Yes 15 | Delete leading and trailing silent blocks : No 16 | Installed external ASPI interface 17 | 18 | 19 | Track 1 20 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\01 - Hijack the terrorist group - Intro , Phantom of the Opera.wav 21 | 22 | Pre-gap length 0:00:02.00 23 | 24 | Peak level 99.4 % 25 | Track quality 99.9 % 26 | Test CRC 55A13DC8 27 | Copy CRC 55A13DC8 28 | Copy OK 29 | 30 | Track 2 31 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\02 - Hijack the terrorist group - The Syndicate Outta Jail.wav 32 | 33 | Peak level 100.0 % 34 | Track quality 99.9 % 35 | Test CRC 905EA1F7 36 | Copy CRC 905EA1F7 37 | Copy OK 38 | 39 | Track 3 40 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\03 - Hijack the terrorist group - Daddy Rich (Part 1).wav 41 | 42 | Peak level 99.0 % 43 | Track quality 100.0 % 44 | Test CRC C6686648 45 | Copy CRC C6686648 46 | Copy OK 47 | 48 | Track 4 49 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\04 - Hijack the terrorist group - Back to Brixton.wav 50 | 51 | Peak level 97.9 % 52 | Track quality 100.0 % 53 | Test CRC B7271123 54 | Copy CRC B7271123 55 | Copy OK 56 | 57 | Track 5 58 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\05 - Hijack the terrorist group - Airwave Hijack (Part 1).wav 59 | 60 | Peak level 100.0 % 61 | Track quality 100.0 % 62 | Test CRC 8D602E9E 63 | Copy CRC 8D602E9E 64 | Copy OK 65 | 66 | Track 6 67 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\06 - Hijack the terrorist group - Hijack the Terrorist Group.wav 68 | 69 | Pre-gap length 0:00:01.53 70 | 71 | Peak level 99.4 % 72 | Track quality 100.0 % 73 | Test CRC F8E38C25 74 | Copy CRC F8E38C25 75 | Copy OK 76 | 77 | Track 7 78 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\07 - Hijack the terrorist group - The Badman is Robbin.wav 79 | 80 | Peak level 84.8 % 81 | Track quality 99.9 % 82 | Test CRC D0ACE574 83 | Copy CRC D0ACE574 84 | Copy OK 85 | 86 | Track 8 87 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\08 - Hijack the terrorist group - I Had To Serve You.wav 88 | 89 | Peak level 99.9 % 90 | Track quality 100.0 % 91 | Test CRC 89F591B0 92 | Copy CRC 89F591B0 93 | Copy OK 94 | 95 | Track 9 96 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\09 - Hijack the terrorist group - Don't Go With Strangers.wav 97 | 98 | Pre-gap length 0:00:00.80 99 | 100 | Peak level 100.0 % 101 | Track quality 100.0 % 102 | Test CRC 8938C3AE 103 | Copy CRC 8938C3AE 104 | Copy OK 105 | 106 | Track 10 107 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\10 - Hijack the terrorist group - Brother Versus Brother.wav 108 | 109 | Peak level 99.0 % 110 | Track quality 100.0 % 111 | Test CRC 0FEAA8C7 112 | Copy CRC 0FEAA8C7 113 | Copy OK 114 | 115 | Track 11 116 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\11 - Hijack the terrorist group - The Paranoid Schizophrenic With Homicidal Tendencies.wav 117 | 118 | Peak level 99.0 % 119 | Track quality 100.0 % 120 | Test CRC C639CEB3 121 | Copy CRC C639CEB3 122 | Copy OK 123 | 124 | Track 12 125 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\12 - Hijack the terrorist group - The Contract.wav 126 | 127 | Peak level 99.5 % 128 | Track quality 99.9 % 129 | Test CRC 904B0457 130 | Copy CRC 904B0457 131 | Copy OK 132 | 133 | Track 13 134 | Filename C:\Dokumente und Einstellungen\Eigene Dateien\Musique\Neuer Ordner\13 - Hijack the terrorist group - Daddy Rich (Part 2).wav 135 | 136 | Pre-gap length 0:00:01.62 137 | 138 | Peak level 94.3 % 139 | Track quality 100.0 % 140 | Test CRC 989D6EA4 141 | Copy CRC 989D6EA4 142 | Copy OK 143 | 144 | No errors occured 145 | 146 | 147 | End of status report 148 | -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_2.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/en_2.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_3.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/en_3.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_4.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/en_4.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_6.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/en_6.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_7.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/en_7.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/en_normalization.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/en_normalization.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/encoding_maccentraleurope.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/encoding_maccentraleurope.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/file_write_error.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/file_write_error.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/gap_handling_left_out.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/gap_handling_left_out.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/id3_tags.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/id3_tags.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/incorrect_offset.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 11. December 2005, 11:19 for CD 2 | John Lennon / Imagine [MFSL Ultradisc II] 3 | 4 | Used drive : _NEC CD-RW NR-9300A Adapter: 0 ID: 1 5 | Read mode : Secure with NO C2, accurate stream, disable cache 6 | Read offset correction : 691 7 | Overread into Lead-In and Lead-Out : No 8 | 9 | Used output format : Internal WAV Routines 10 | 44.100 Hz; 16 Bit; Stereo 11 | 12 | Other options : 13 | Fill up missing offset samples with silence : Yes 14 | Delete leading and trailing silent blocks : No 15 | Installed external ASPI interface 16 | 17 | 18 | Track 1 19 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\01 - Imagine.wav 20 | 21 | Pre-gap length 0:00:02.00 22 | 23 | Peak level 100.0 % 24 | Track quality 100.0 % 25 | Test CRC EB4E6616 26 | Copy CRC EB4E6616 27 | Copy OK 28 | 29 | Track 2 30 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\02 - Crippled Inside.wav 31 | 32 | Pre-gap length 0:00:01.50 33 | 34 | Peak level 100.0 % 35 | Track quality 100.0 % 36 | Test CRC 7489FC46 37 | Copy CRC 7489FC46 38 | Copy OK 39 | 40 | Track 3 41 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\03 - Jealous Guy.wav 42 | 43 | Pre-gap length 0:00:02.12 44 | 45 | Peak level 100.0 % 46 | Track quality 100.0 % 47 | Test CRC 07F9B441 48 | Copy CRC 07F9B441 49 | Copy OK 50 | 51 | Track 4 52 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\04 - It's So Hard.wav 53 | 54 | Pre-gap length 0:00:01.12 55 | 56 | Peak level 100.0 % 57 | Track quality 100.0 % 58 | Test CRC 6BFC9089 59 | Copy CRC 6BFC9089 60 | Copy OK 61 | 62 | Track 5 63 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\05 - I Don't Wanna to Be a Soldier Mama.wav 64 | 65 | Pre-gap length 0:00:02.38 66 | 67 | Peak level 100.0 % 68 | Track quality 100.0 % 69 | Test CRC AF864D26 70 | Copy CRC AF864D26 71 | Copy OK 72 | 73 | Track 6 74 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\06 - Gimme Some Truth.wav 75 | 76 | Pre-gap length 0:00:03.00 77 | 78 | Peak level 100.0 % 79 | Track quality 100.0 % 80 | Test CRC 0F923F6F 81 | Copy CRC 0F923F6F 82 | Copy OK 83 | 84 | Track 7 85 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\07 - Oh My Love.wav 86 | 87 | Pre-gap length 0:00:01.00 88 | 89 | Peak level 83.9 % 90 | Track quality 99.9 % 91 | Test CRC BC0078C9 92 | Copy CRC BC0078C9 93 | Copy OK 94 | 95 | Track 8 96 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\08 - How Do You Sleep .wav 97 | 98 | Pre-gap length 0:00:02.12 99 | 100 | Peak level 100.0 % 101 | Track quality 100.0 % 102 | Test CRC 0A094DFC 103 | Copy CRC 0A094DFC 104 | Copy OK 105 | 106 | Track 9 107 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\09 - How .wav 108 | 109 | Peak level 93.6 % 110 | Track quality 100.0 % 111 | Test CRC 37D523AC 112 | Copy CRC 37D523AC 113 | Copy OK 114 | 115 | Track 10 116 | Filename C:\Documents and Settings\Kevin\My Documents\FLAC\MFSL\John Lennon - Imagine (1971)[flac](MFSL UDCD 759)\10 - Oh Yoko!.wav 117 | 118 | Pre-gap length 0:00:02.12 119 | 120 | Peak level 96.4 % 121 | Track quality 100.0 % 122 | Test CRC CC8565C8 123 | Copy CRC CC8565C8 124 | Copy OK 125 | 126 | No errors occured 127 | 128 | 129 | End of status report 130 | -------------------------------------------------------------------------------- /tests/logs/eac/originals/invalid_track_separator.log: -------------------------------------------------------------------------------- 1 | 2 | Exact Audio Copy V1.6 from 23. October 2020 3 | 4 | EAC extraction logfile from 5. October 2023, 12:20 5 | 6 | Neon Plastix / Dream , On Fire 7 | 8 | Used drive : PLDS DVD+-RW DS-8ABSH Adapter: 1 ID: 0 9 | 10 | Read mode : Secure 11 | Utilize accurate stream : Yes 12 | Defeat audio cache : Yes 13 | Make use of C2 pointers : No 14 | 15 | Read offset correction : 6 16 | Overread into Lead-In and Lead-Out : No 17 | Fill up missing offset samples with silence : Yes 18 | Delete leading and trailing silent blocks : No 19 | Null samples used in CRC calculations : Yes 20 | Used interface : Native Win32 interface for Win NT & 2000 21 | Gap handling : Appended to previous user 22 | 23 | Used output format : User Defined Encoder 24 | Selected bitrate : 1024 kBit/s 25 | Quality : High 26 | Add ID3 tag : No 27 | Command line compressor : Z:\opt\exact-audio-copy\Flac\flac.exe 28 | Additional command line options : -8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "userNUMBER=%usernr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALuserS=%numusers%" -T "COMMENT=%comment%" %source% -o %dest% 29 | 30 | 31 | TOC of the extracted CD 32 | 33 | user | Start | Length | Start sector | End sector 34 | --------------------------------------------------------- 35 | 1 | 0:00.00 | 3:13.29 | 0 | 14503 36 | 2 | 3:13.29 | 3:56.16 | 14504 | 32219 37 | 3 | 7:09.45 | 3:40.26 | 32220 | 48745 38 | 39 | 40 | user 1 41 | 42 | Filename Z:\home\LinkLucky\Music\Rips\Neon Plastix - Dream , On Fire [FLAC]\01 - Dream.wav 43 | 44 | Pre-gap length 0:00:02.00 45 | 46 | Peak level 99.8 % 47 | Extraction speed 2.7 X 48 | user quality 100.0 % 49 | Test CRC 814CB963 50 | Copy CRC 814CB963 51 | user not present in AccurateRip database 52 | Copy OK 53 | 54 | user 2 55 | 56 | Filename Z:\home\LinkLucky\Music\Rips\Neon Plastix - Dream , On Fire [FLAC]\02 - On Fire.wav 57 | 58 | Pre-gap length 0:00:01.60 59 | 60 | Peak level 99.8 % 61 | Extraction speed 3.0 X 62 | user quality 100.0 % 63 | Test CRC 6C24A712 64 | Copy CRC 6C24A712 65 | user not present in AccurateRip database 66 | Copy OK 67 | 68 | user 3 69 | 70 | Filename Z:\home\LinkLucky\Music\Rips\Neon Plastix - Dream , On Fire [FLAC]\03 - Halfway to Love.wav 71 | 72 | Pre-gap length 0:00:02.58 73 | 74 | Peak level 99.8 % 75 | Extraction speed 3.3 X 76 | user quality 100.0 % 77 | Test CRC DDE10390 78 | Copy CRC DDE10390 79 | user not present in AccurateRip database 80 | Copy OK 81 | 82 | 83 | None of the users are present in the AccurateRip database 84 | 85 | No errors occurred 86 | 87 | End of status report 88 | -------------------------------------------------------------------------------- /tests/logs/eac/originals/long_filename.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/long_filename.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/no_test_copy.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/no_test_copy.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/pl_1.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/pl_1.log -------------------------------------------------------------------------------- /tests/logs/eac/originals/range_rip_no_space_before_filename.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.6 from 23. October 2020 2 | 3 | EAC extraction logfile from 18. September 2021, 11:48 4 | 5 | 聖飢魔II / 空の雫 (BMG, BVDR-1213) 6 | 7 | Used drive : _NEC DVD_RW ND-3550A Adapter: 1 ID: 0 8 | 9 | Read mode : Secure 10 | Utilize accurate stream : Yes 11 | Defeat audio cache : Yes 12 | Make use of C2 pointers : No 13 | 14 | Read offset correction : 48 15 | Overread into Lead-In and Lead-Out : No 16 | Fill up missing offset samples with silence : Yes 17 | Delete leading and trailing silent blocks : No 18 | Null samples used in CRC calculations : Yes 19 | Used interface : Native Win32 interface for Win NT & 2000 20 | 21 | Used output format : User Defined Encoder 22 | Selected bitrate : 1024 kBit/s 23 | Quality : High 24 | Add ID3 tag : No 25 | Command line compressor : C:\Program Files\Exact Audio Copy\Flac\flac.exe 26 | Additional command line options : -V -8 -T "Date=%year%" -T "Genre=%genre%" %source% 27 | 28 | 29 | TOC of the extracted CD 30 | 31 | Track | Start | Length | Start sector | End sector 32 | --------------------------------------------------------- 33 | 1 | 0:00.37 | 4:58.00 | 37 | 22386 34 | 2 | 4:58.37 | 4:46.00 | 22387 | 43836 35 | 3 | 9:44.37 | 4:55.00 | 43837 | 65961 36 | 37 | 38 | Range status and errors 39 | 40 | Selected range 41 | 42 | Filename C:\Dkogure\聖飢魔II - 空の雫 (BMG, BVDR-1213).wav 43 | 44 | Peak level 100.0 % 45 | Extraction speed 3.4 X 46 | Range quality 99.9 % 47 | Copy CRC 8CB5CC70 48 | Copy OK 49 | 50 | No errors occurred 51 | 52 | 53 | AccurateRip summary 54 | 55 | Track 1 not present in database 56 | Track 2 not present in database 57 | Track 3 not present in database 58 | 59 | None of the tracks are present in the AccurateRip database 60 | 61 | End of status report 62 | 63 | ---- CUETools DB Plugin V2.1.6 64 | 65 | [CTDB TOCID: nh8tQRWz5TKO_Z7CPWNNCPs3pHk-] found 66 | Submit result: already submitted 67 | Track | CTDB Status 68 | 1 | (2/2) Accurately ripped 69 | 2 | (2/2) Accurately ripped 70 | 3 | (1/2) Accurately ripped, or (1/2) differs in 1 samples @04:54:71 71 | 72 | 73 | ==== Log checksum 9187251CC813F706519EADCD5741514C2F7280BC14D54E2E74B2BC32B2D5C986 ==== 74 | -------------------------------------------------------------------------------- /tests/logs/eac/originals/ru_1.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OPSnet/Logchecker/f02d02155a56725b9ef4e336baa6df40e41cbc68/tests/logs/eac/originals/ru_1.log -------------------------------------------------------------------------------- /tests/logs/eac/utf8/cs/1.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V0.99 prebeta 4 from 23. January 2008 2 | 3 | Záznam extrakce EAC z 5. Březen 2008, 12:41 4 | 5 | Thrushes / Sun Come Undone 6 | 7 | Použitá mechanika : HL-DT-STDVDRAM GSA-4167B Adapter: 0 ID: 0 8 | 9 | Režim čtení : Bezpečný 10 | Použít accurate stream : Ano 11 | Obejít zvukovou vyr. paměť : Ano 12 | Použít C2 ukazatele : Ne 13 | 14 | Korekce vychýlení čtení : 667 15 | Číst lead-in a lead-out : Ne 16 | Nahradit chybějící vzorky tichem : Ano 17 | Smazat ticho na začátku a na konci stop : Ne 18 | Při výpočtu CRC použity nulové vzorky : Ano 19 | Použité rozhraní : Extení ASPI rozhraní 20 | Nakládání s mezerami : Přidány k předchozí stopě 21 | 22 | Použitý výstupní formát : Uživatelsky definovaný encoder 23 | Zvolený bitrate : 128 kBit/s 24 | Kvalita : Vysoká 25 | Přidat ID3 tag : Ne 26 | Komprimační program pro příkazový řádek : C:\Program Files\Exact Audio Copy\Codecs\flac.exe 27 | Dodatečné parametry : -V -8 -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s 28 | 29 | 30 | TOC extrahovaného CD 31 | 32 | Stopa | Počátek | Délka | Počáteční sektor | Koncový sektor 33 | ----------------------------------------------------------------- 34 | 1 | 0:00.00 | 3:24.04 | 0 | 15303 35 | 2 | 3:24.04 | 4:17.21 | 15304 | 34599 36 | 3 | 7:41.25 | 4:43.67 | 34600 | 55891 37 | 4 | 12:25.17 | 2:43.71 | 55892 | 68187 38 | 5 | 15:09.13 | 3:30.54 | 68188 | 83991 39 | 6 | 18:39.67 | 3:46.46 | 83992 | 100987 40 | 7 | 22:26.38 | 3:09.52 | 100988 | 115214 41 | 8 | 25:36.15 | 2:42.43 | 115215 | 127407 42 | 9 | 28:18.58 | 3:32.36 | 127408 | 143343 43 | 10 | 31:51.19 | 5:00.25 | 143344 | 165868 44 | 11 | 36:51.44 | 4:12.49 | 165869 | 184817 45 | 46 | 47 | Stopa 1 48 | 49 | název souboru C:\Ripping\01 - Aidan Quinn.wav 50 | 51 | délka mezery 0:00:02.00 52 | 53 | špičková úrověň 97.7 % 54 | kvalita stopy 100.0 % 55 | CRC testu 194F7881 56 | CRC kopie 194F7881 57 | Stopa není v AccurateRip databázi 58 | kopie OK 59 | 60 | Stopa 2 61 | 62 | název souboru C:\Ripping\02 - Heartbeats.wav 63 | 64 | délka mezery 0:00:03.00 65 | 66 | špičková úrověň 97.7 % 67 | kvalita stopy 100.0 % 68 | CRC testu 255860D5 69 | CRC kopie 255860D5 70 | Stopa není v AccurateRip databázi 71 | kopie OK 72 | 73 | Stopa 3 74 | 75 | název souboru C:\Ripping\03 - Loyalty.wav 76 | 77 | délka mezery 0:00:03.00 78 | 79 | špičková úrověň 97.7 % 80 | kvalita stopy 99.9 % 81 | CRC testu 295CED49 82 | CRC kopie 295CED49 83 | Stopa není v AccurateRip databázi 84 | kopie OK 85 | 86 | Stopa 4 87 | 88 | název souboru C:\Ripping\04 - Into The Woods.wav 89 | 90 | délka mezery 0:00:03.00 91 | 92 | špičková úrověň 97.7 % 93 | kvalita stopy 100.0 % 94 | CRC testu D71CC2CA 95 | CRC kopie D71CC2CA 96 | Stopa není v AccurateRip databázi 97 | kopie OK 98 | 99 | Stopa 5 100 | 101 | název souboru C:\Ripping\05 - Flying.wav 102 | 103 | délka mezery 0:00:02.53 104 | 105 | špičková úrověň 97.7 % 106 | kvalita stopy 100.0 % 107 | CRC testu DD185584 108 | CRC kopie DD185584 109 | Stopa není v AccurateRip databázi 110 | kopie OK 111 | 112 | Stopa 6 113 | 114 | název souboru C:\Ripping\06 - Ghost Train.wav 115 | 116 | délka mezery 0:00:01.26 117 | 118 | špičková úrověň 95.5 % 119 | kvalita stopy 100.0 % 120 | CRC testu 6819C157 121 | CRC kopie 6819C157 122 | Stopa není v AccurateRip databázi 123 | kopie OK 124 | 125 | Stopa 7 126 | 127 | název souboru C:\Ripping\07 - Halloween.wav 128 | 129 | délka mezery 0:00:03.40 130 | 131 | špičková úrověň 97.7 % 132 | kvalita stopy 100.0 % 133 | CRC testu 91F94B3C 134 | CRC kopie 91F94B3C 135 | Stopa není v AccurateRip databázi 136 | kopie OK 137 | 138 | Stopa 8 139 | 140 | název souboru C:\Ripping\08 - New Years Kiss.wav 141 | 142 | délka mezery 0:00:02.53 143 | 144 | špičková úrověň 96.5 % 145 | kvalita stopy 100.0 % 146 | CRC testu 6F05A831 147 | CRC kopie 6F05A831 148 | Stopa není v AccurateRip databázi 149 | kopie OK 150 | 151 | Stopa 9 152 | 153 | název souboru C:\Ripping\09 - Wake Up.wav 154 | 155 | délka mezery 0:00:02.53 156 | 157 | špičková úrověň 97.7 % 158 | kvalita stopy 100.0 % 159 | CRC testu FB3C9F81 160 | CRC kopie FB3C9F81 161 | Stopa není v AccurateRip databázi 162 | kopie OK 163 | 164 | Stopa 10 165 | 166 | název souboru C:\Ripping\10 - Roy.wav 167 | 168 | délka mezery 0:00:01.40 169 | 170 | špičková úrověň 97.7 % 171 | kvalita stopy 100.0 % 172 | CRC testu AD3E1644 173 | CRC kopie AD3E1644 174 | Stopa není v AccurateRip databázi 175 | kopie OK 176 | 177 | Stopa 11 178 | 179 | název souboru C:\Ripping\11 - The Hardest Part.wav 180 | 181 | délka mezery 0:00:03.00 182 | 183 | špičková úrověň 97.7 % 184 | kvalita stopy 100.0 % 185 | CRC testu 1A1C92A3 186 | CRC kopie 1A1C92A3 187 | Stopa není v AccurateRip databázi 188 | kopie OK 189 | 190 | 191 | Ani jedna ze stop není v AccurateRip databázi 192 | 193 | Nedošlo k žádným chybám 194 | 195 | Konec stavového hlášení 196 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/cs/1_en.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V0.99 prebeta 4 from 23. January 2008 2 | 3 | EAC extraction logfile from 5. March 2008, 12:41 4 | 5 | Thrushes / Sun Come Undone 6 | 7 | Used drive : HL-DT-STDVDRAM GSA-4167B Adapter: 0 ID: 0 8 | 9 | Read mode : Secure 10 | Utilize accurate stream : Yes 11 | Defeat audio cache : Yes 12 | Make use of C2 pointers : No 13 | 14 | Read offset correction : 667 15 | Overread into Lead-In and Lead-Out : No 16 | Fill up missing offset samples with silence : Yes 17 | Delete leading and trailing silent blocks : No 18 | Null samples used in CRC calculations : Yes 19 | Used interface : Installed external ASPI interface 20 | Gap handling : Appended to previous track 21 | 22 | Used output format : User Defined Encoder 23 | Selected bitrate : 128 kBit/s 24 | Quality : High 25 | Add ID3 tag : No 26 | Command line compressor : C:\Program Files\Exact Audio Copy\Codecs\flac.exe 27 | Additional command line options : -V -8 -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s 28 | 29 | 30 | TOC of the extracted CD 31 | 32 | Track | Start | Length | Start sector | End sector 33 | ----------------------------------------------------------------- 34 | 1 | 0:00.00 | 3:24.04 | 0 | 15303 35 | 2 | 3:24.04 | 4:17.21 | 15304 | 34599 36 | 3 | 7:41.25 | 4:43.67 | 34600 | 55891 37 | 4 | 12:25.17 | 2:43.71 | 55892 | 68187 38 | 5 | 15:09.13 | 3:30.54 | 68188 | 83991 39 | 6 | 18:39.67 | 3:46.46 | 83992 | 100987 40 | 7 | 22:26.38 | 3:09.52 | 100988 | 115214 41 | 8 | 25:36.15 | 2:42.43 | 115215 | 127407 42 | 9 | 28:18.58 | 3:32.36 | 127408 | 143343 43 | 10 | 31:51.19 | 5:00.25 | 143344 | 165868 44 | 11 | 36:51.44 | 4:12.49 | 165869 | 184817 45 | 46 | 47 | Track 1 48 | 49 | Filename C:\Ripping\01 - Aidan Quinn.wav 50 | 51 | Pre-gap length 0:00:02.00 52 | 53 | Peak level 97.7 % 54 | Track quality 100.0 % 55 | Test CRC 194F7881 56 | Copy CRC 194F7881 57 | Track not present in AccurateRip database 58 | Copy OK 59 | 60 | Track 2 61 | 62 | Filename C:\Ripping\02 - Heartbeats.wav 63 | 64 | Pre-gap length 0:00:03.00 65 | 66 | Peak level 97.7 % 67 | Track quality 100.0 % 68 | Test CRC 255860D5 69 | Copy CRC 255860D5 70 | Track not present in AccurateRip database 71 | Copy OK 72 | 73 | Track 3 74 | 75 | Filename C:\Ripping\03 - Loyalty.wav 76 | 77 | Pre-gap length 0:00:03.00 78 | 79 | Peak level 97.7 % 80 | Track quality 99.9 % 81 | Test CRC 295CED49 82 | Copy CRC 295CED49 83 | Track not present in AccurateRip database 84 | Copy OK 85 | 86 | Track 4 87 | 88 | Filename C:\Ripping\04 - Into The Woods.wav 89 | 90 | Pre-gap length 0:00:03.00 91 | 92 | Peak level 97.7 % 93 | Track quality 100.0 % 94 | Test CRC D71CC2CA 95 | Copy CRC D71CC2CA 96 | Track not present in AccurateRip database 97 | Copy OK 98 | 99 | Track 5 100 | 101 | Filename C:\Ripping\05 - Flying.wav 102 | 103 | Pre-gap length 0:00:02.53 104 | 105 | Peak level 97.7 % 106 | Track quality 100.0 % 107 | Test CRC DD185584 108 | Copy CRC DD185584 109 | Track not present in AccurateRip database 110 | Copy OK 111 | 112 | Track 6 113 | 114 | Filename C:\Ripping\06 - Ghost Train.wav 115 | 116 | Pre-gap length 0:00:01.26 117 | 118 | Peak level 95.5 % 119 | Track quality 100.0 % 120 | Test CRC 6819C157 121 | Copy CRC 6819C157 122 | Track not present in AccurateRip database 123 | Copy OK 124 | 125 | Track 7 126 | 127 | Filename C:\Ripping\07 - Halloween.wav 128 | 129 | Pre-gap length 0:00:03.40 130 | 131 | Peak level 97.7 % 132 | Track quality 100.0 % 133 | Test CRC 91F94B3C 134 | Copy CRC 91F94B3C 135 | Track not present in AccurateRip database 136 | Copy OK 137 | 138 | Track 8 139 | 140 | Filename C:\Ripping\08 - Now Years Kiss.wav 141 | 142 | Pre-gap length 0:00:02.53 143 | 144 | Peak level 96.5 % 145 | Track quality 100.0 % 146 | Test CRC 6F05A831 147 | Copy CRC 6F05A831 148 | Track not present in AccurateRip database 149 | Copy OK 150 | 151 | Track 9 152 | 153 | Filename C:\Ripping\09 - Wake Up.wav 154 | 155 | Pre-gap length 0:00:02.53 156 | 157 | Peak level 97.7 % 158 | Track quality 100.0 % 159 | Test CRC FB3C9F81 160 | Copy CRC FB3C9F81 161 | Track not present in AccurateRip database 162 | Copy OK 163 | 164 | Track 10 165 | 166 | Filename C:\Ripping\10 - Roy.wav 167 | 168 | Pre-gap length 0:00:01.40 169 | 170 | Peak level 97.7 % 171 | Track quality 100.0 % 172 | Test CRC AD3E1644 173 | Copy CRC AD3E1644 174 | Track not present in AccurateRip database 175 | Copy OK 176 | 177 | Track 11 178 | 179 | Filename C:\Ripping\11 - The Hardest Part.wav 180 | 181 | Pre-gap length 0:00:03.00 182 | 183 | Peak level 97.7 % 184 | Track quality 100.0 % 185 | Test CRC 1A1C92A3 186 | Copy CRC 1A1C92A3 187 | Track not present in AccurateRip database 188 | Copy OK 189 | 190 | 191 | None of the tracks are present in the AccurateRip database 192 | 193 | No errors occurred 194 | 195 | End of status report 196 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/it/1.log: -------------------------------------------------------------------------------- 1 | Estrazione file di log EAC da 13. Giugno 2006, 12:34 per CD 2 | Cousteau / Cousteau 3 | 4 | Unità predefinita: HL-DT-STCD-RW GCE-8480B Adapter: 2 ID: 1 5 | Modalità di lettura: Sicuro con NO C2, Lettura Accurata, Disattiva Cache 6 | Correzione offset di lettura:6 7 | Sovrascrivi anche nel Lead-In e Lead-Out : No 8 | 9 | Formato di destinazione scelto: Routine interne WAV 10 | 44.100 Hz; 16 Bit; Stereo 11 | 12 | Altre opzioni : 13 | Riempi sample offset mancanti con silenzio : Sì 14 | Rimuovi blocchi di silezio ad inizio e fine : No 15 | Interfaccia esterna ASPI (installata) 16 | 17 | 18 | Stato intervallo ed errori 19 | Intervallo selezionato 20 | Nome file C:\Documents and Settings\maurizio\Desktop\Cousteau - Cousteau.wav 21 | 22 | Livello di picco 99.9 % 23 | Qualità intervallo 100.0 % 24 | CRC 5B545F17 25 | Copia corretta 26 | 27 | Non sono stati riscontrati errori 28 | 29 | Fine del resoconto di stato 30 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/it/1_en.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 13. June 2006, 12:34 per CD 2 | Cousteau / Cousteau 3 | 4 | Used drive : HL-DT-STCD-RW GCE-8480B Adapter: 2 ID: 1 5 | Read mode: Secure with NO C2, accurate stream, disable cache 6 | Read offset correction:6 7 | Overread into Lead-In and Lead-Out : No 8 | 9 | Used output format: Internal WAV Routines 10 | 44.100 Hz; 16 Bit; Stereo 11 | 12 | Other options : 13 | Fill up missing offset samples with silence : Yes 14 | Delete leading and trailing silent blocks : No 15 | Installed external ASPI interface 16 | 17 | 18 | Range status and errors 19 | Selected range 20 | Filename C:\Documents and Settings\maurizio\Desktop\Cousteau - Cousteau.wav 21 | 22 | Peak level 99.9 % 23 | Range quality 100.0 % 24 | CRC 5B545F17 25 | Copy OK 26 | 27 | No errors occurred 28 | 29 | End of status report 30 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/jp/1.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.0 beta 3 from 29. August 2011 2 | 3 | EAC 取り込みログファイル 日付 : 9. 1月 2012, 16:46 4 | 5 | ゴールデンボンバー / ゴールデン・アルバム 6 | 7 | 使用ドライブ : ATAPI iHAS324 B Adapter: 0 ID: 1 8 | 9 | 読み込みモード : セキュアモード 10 | ドライブが正確なデータ転送能力を持つ : はい 11 | オーディオキャッシュを使用できる : はい 12 | C2エラー情報を検出する : はい 13 | 14 | 読み込みサンプルオフセット訂正値 : 0 15 | リードイン・リードアウトをオーバーリードする : いいえ 16 | 欠落したオフセットサンプルを無音で補完する : はい 17 | 曲の先頭と末端の無音領域を削除する : いいえ 18 | CRC計算で無音のサンプルを使用するか : はい 19 | 使用インターフェース : XP/Vista/Win 7のWin32標準インターフェイス 20 | ギャップ情報を取得する : 検出されませんでした。前のトラックに追加します 21 | 22 | 使用出力モード : ユーザー定義のエンコーダ 23 | ビットレートの指定 : 896 kBit/s 24 | 品質 : 高 25 | ID3 タグを追加する : はい 26 | エンコーダ : C:\Program Files\Exact Audio Copy\Flac\flac.exe 27 | 追加コマンドラインオプション : -T "artist=%artist%" -T "title=%title%" -T "album=%albumtitle%" -T "date=%year%" -T "tracknumber=%tracknr%" -T "genre=%genre%" -5 %source% 28 | 29 | 30 | TOC情報を抜き出します 31 | 32 | トラック | スタート | 長さ | 始めのセクター | 最終セクター 33 | ----------------------------------------------- 34 | 1 | 0:00.00 | 0:50.69 | 0 | 3818 35 | 2 | 0:50.69 | 3:50.17 | 3819 | 21085 36 | 3 | 4:41.11 | 4:11.12 | 21086 | 39922 37 | 4 | 8:52.23 | 4:22.44 | 39923 | 59616 38 | 5 | 13:14.67 | 4:18.33 | 59617 | 78999 39 | 6 | 17:33.25 | 3:31.50 | 79000 | 94874 40 | 7 | 21:05.00 | 3:13.54 | 94875 | 109403 41 | 8 | 24:18.54 | 4:05.69 | 109404 | 127847 42 | 9 | 28:24.48 | 3:45.14 | 127848 | 144736 43 | 10 | 32:09.62 | 3:36.44 | 144737 | 160980 44 | 11 | 35:46.31 | 4:08.54 | 160981 | 179634 45 | 12 | 39:55.10 | 2:53.18 | 179635 | 192627 46 | 13 | 42:48.28 | 6:42.62 | 192628 | 222839 47 | 48 | 49 | トラック 1 50 | 51 | ファイル名 C:\Users\tomo\Desktop\music\01 パトス.wav 52 | 53 | ピークレベル 100.0 % 54 | 取り込みスピード 1.4 X 55 | トラック品質 100.0 % 56 | コピーCRC 60E2124E 57 | コピー OK 58 | 59 | トラック 2 60 | 61 | ファイル名 C:\Users\tomo\Desktop\music\02 デスメンタル.wav 62 | 63 | ピークレベル 100.0 % 64 | 取り込みスピード 2.5 X 65 | トラック品質 100.0 % 66 | コピーCRC 00CD3372 67 | コピー OK 68 | 69 | トラック 3 70 | 71 | ファイル名 C:\Users\tomo\Desktop\music\03 僕クエスト.wav 72 | 73 | ピークレベル 100.0 % 74 | 取り込みスピード 2.8 X 75 | トラック品質 100.0 % 76 | コピーCRC 87A7E922 77 | コピー OK 78 | 79 | トラック 4 80 | 81 | ファイル名 C:\Users\tomo\Desktop\music\04 夜汽車.wav 82 | 83 | ピークレベル 100.0 % 84 | 取り込みスピード 2.1 X 85 | トラック品質 99.9 % 86 | コピーCRC 0DF7E872 87 | コピー OK 88 | 89 | トラック 5 90 | 91 | ファイル名 C:\Users\tomo\Desktop\music\05 酔わせてモヒート.wav 92 | 93 | ピークレベル 100.0 % 94 | 取り込みスピード 2.3 X 95 | トラック品質 99.9 % 96 | コピーCRC 873318E7 97 | コピー OK 98 | 99 | トラック 6 100 | 101 | ファイル名 C:\Users\tomo\Desktop\music\06 成很酷.wav 102 | 103 | ピークレベル 100.0 % 104 | 取り込みスピード 3.4 X 105 | トラック品質 100.0 % 106 | コピーCRC 53D32BFE 107 | コピー OK 108 | 109 | トラック 7 110 | 111 | ファイル名 C:\Users\tomo\Desktop\music\07 さよなら冬美 -Euro Mix-.wav 112 | 113 | ピークレベル 100.0 % 114 | 取り込みスピード 3.5 X 115 | トラック品質 100.0 % 116 | コピーCRC 381984A2 117 | コピー OK 118 | 119 | トラック 8 120 | 121 | ファイル名 C:\Users\tomo\Desktop\music\08 今夜はトゥナイト.wav 122 | 123 | ピークレベル 100.0 % 124 | 取り込みスピード 3.9 X 125 | トラック品質 100.0 % 126 | コピーCRC 54BCF22A 127 | コピー OK 128 | 129 | トラック 9 130 | 131 | ファイル名 C:\Users\tomo\Desktop\music\09 もう会えなくなるなんて.wav 132 | 133 | ピークレベル 100.0 % 134 | 取り込みスピード 4.0 X 135 | トラック品質 100.0 % 136 | コピーCRC 32645380 137 | コピー OK 138 | 139 | トラック 10 140 | 141 | ファイル名 C:\Users\tomo\Desktop\music\10 今夜も眠れない (病的な意味で).wav 142 | 143 | ピークレベル 100.0 % 144 | 取り込みスピード 4.1 X 145 | トラック品質 100.0 % 146 | コピーCRC EB34FCEF 147 | コピー OK 148 | 149 | トラック 11 150 | 151 | ファイル名 C:\Users\tomo\Desktop\music\11 女々しくて -K-POPバージョン-.wav 152 | 153 | ピークレベル 100.0 % 154 | 取り込みスピード 4.4 X 155 | トラック品質 100.0 % 156 | コピーCRC 1C7E3C4C 157 | コピー OK 158 | 159 | トラック 12 160 | 161 | ファイル名 C:\Users\tomo\Desktop\music\12 愛なんていらねいよ.wav 162 | 163 | ピークレベル 100.0 % 164 | 取り込みスピード 4.1 X 165 | トラック品質 100.0 % 166 | コピーCRC CB81661A 167 | コピー OK 168 | 169 | トラック 13 170 | 171 | ファイル名 C:\Users\tomo\Desktop\music\13 広がる世界.wav 172 | 173 | ピークレベル 100.0 % 174 | 取り込みスピード 5.0 X 175 | トラック品質 100.0 % 176 | コピーCRC F5C76AE7 177 | コピー OK 178 | 179 | エラーは発生しませんでした 180 | 181 | ステータス報告完了 182 | 183 | ==== E8FB6FCD74B0C448C9083B6E5B0BB9D78632ACF824B5085A53B8E1DDE2484932 ==== 184 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/jp/1_en.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.0 beta 3 from 29. August 2011 2 | 3 | EAC extraction logfile from : 9. January 2012, 16:46 4 | 5 | ゴールデンボンバー / ゴールデン・アルバム 6 | 7 | Used drive : : ATAPI iHAS324 B Adapter: 0 ID: 1 8 | 9 | Read mode : Secure 10 | Utilize accurate stream : Yes 11 | Defeat audio cache : Yes 12 | Make use of C2 pointers : Yes 13 | 14 | Read offset correction : 0 15 | Overread into Lead-In and Lead-Out : No 16 | Fill up missing offset samples with silence : Yes 17 | Delete leading and trailing silent blocks : No 18 | Null samples used in CRC calculations : Yes 19 | Used interface : Native Win32 interface for XP/Vista/Win 7 20 | Gap handling : Not detected, thus appended to previous track 21 | 22 | Used output format : User Defined Encoder 23 | Selected bitrate : 896 kBit/s 24 | Quality : High 25 | Add ID3 tag : Yes 26 | Command line compressor : C:\Program Files\Exact Audio Copy\Flac\flac.exe 27 | Additional command line options : -T "artist=%artist%" -T "title=%title%" -T "album=%albumtitle%" -T "date=%year%" -T "Tracknumber=%Tracknr%" -T "genre=%genre%" -5 %source% 28 | 29 | 30 | TOC of the extracted CD 31 | 32 | Track | Start | Length | Start sector | End sector 33 | ----------------------------------------------- 34 | 1 | 0:00.00 | 0:50.69 | 0 | 3818 35 | 2 | 0:50.69 | 3:50.17 | 3819 | 21085 36 | 3 | 4:41.11 | 4:11.12 | 21086 | 39922 37 | 4 | 8:52.23 | 4:22.44 | 39923 | 59616 38 | 5 | 13:14.67 | 4:18.33 | 59617 | 78999 39 | 6 | 17:33.25 | 3:31.50 | 79000 | 94874 40 | 7 | 21:05.00 | 3:13.54 | 94875 | 109403 41 | 8 | 24:18.54 | 4:05.69 | 109404 | 127847 42 | 9 | 28:24.48 | 3:45.14 | 127848 | 144736 43 | 10 | 32:09.62 | 3:36.44 | 144737 | 160980 44 | 11 | 35:46.31 | 4:08.54 | 160981 | 179634 45 | 12 | 39:55.10 | 2:53.18 | 179635 | 192627 46 | 13 | 42:48.28 | 6:42.62 | 192628 | 222839 47 | 48 | 49 | Track 1 50 | 51 | Filename C:\Users\tomo\Desktop\music\01 パトス.wav 52 | 53 | Peak level 100.0 % 54 | Extraction speed 1.4 X 55 | Track Quality 100.0 % 56 | Copy CRC 60E2124E 57 | Copy OK 58 | 59 | Track 2 60 | 61 | Filename C:\Users\tomo\Desktop\music\02 デスメンタル.wav 62 | 63 | Peak level 100.0 % 64 | Extraction speed 2.5 X 65 | Track Quality 100.0 % 66 | Copy CRC 00CD3372 67 | Copy OK 68 | 69 | Track 3 70 | 71 | Filename C:\Users\tomo\Desktop\music\03 僕クエスト.wav 72 | 73 | Peak level 100.0 % 74 | Extraction speed 2.8 X 75 | Track Quality 100.0 % 76 | Copy CRC 87A7E922 77 | Copy OK 78 | 79 | Track 4 80 | 81 | Filename C:\Users\tomo\Desktop\music\04 夜汽車.wav 82 | 83 | Peak level 100.0 % 84 | Extraction speed 2.1 X 85 | Track Quality 99.9 % 86 | Copy CRC 0DF7E872 87 | Copy OK 88 | 89 | Track 5 90 | 91 | Filename C:\Users\tomo\Desktop\music\05 酔わせてモヒート.wav 92 | 93 | Peak level 100.0 % 94 | Extraction speed 2.3 X 95 | Track Quality 99.9 % 96 | Copy CRC 873318E7 97 | Copy OK 98 | 99 | Track 6 100 | 101 | Filename C:\Users\tomo\Desktop\music\06 成很酷.wav 102 | 103 | Peak level 100.0 % 104 | Extraction speed 3.4 X 105 | Track Quality 100.0 % 106 | Copy CRC 53D32BFE 107 | Copy OK 108 | 109 | Track 7 110 | 111 | Filename C:\Users\tomo\Desktop\music\07 さよなら冬美 -Euro Mix-.wav 112 | 113 | Peak level 100.0 % 114 | Extraction speed 3.5 X 115 | Track Quality 100.0 % 116 | Copy CRC 381984A2 117 | Copy OK 118 | 119 | Track 8 120 | 121 | Filename C:\Users\tomo\Desktop\music\08 今夜はトゥナイト.wav 122 | 123 | Peak level 100.0 % 124 | Extraction speed 3.9 X 125 | Track Quality 100.0 % 126 | Copy CRC 54BCF22A 127 | Copy OK 128 | 129 | Track 9 130 | 131 | Filename C:\Users\tomo\Desktop\music\09 もう会えなくなるなんて.wav 132 | 133 | Peak level 100.0 % 134 | Extraction speed 4.0 X 135 | Track Quality 100.0 % 136 | Copy CRC 32645380 137 | Copy OK 138 | 139 | Track 10 140 | 141 | Filename C:\Users\tomo\Desktop\music\10 今夜も眠れない (病的な意味で).wav 142 | 143 | Peak level 100.0 % 144 | Extraction speed 4.1 X 145 | Track Quality 100.0 % 146 | Copy CRC EB34FCEF 147 | Copy OK 148 | 149 | Track 11 150 | 151 | Filename C:\Users\tomo\Desktop\music\11 女々しくて -K-POPバージョン-.wav 152 | 153 | Peak level 100.0 % 154 | Extraction speed 4.4 X 155 | Track Quality 100.0 % 156 | Copy CRC 1C7E3C4C 157 | Copy OK 158 | 159 | Track 12 160 | 161 | Filename C:\Users\tomo\Desktop\music\12 愛なんていらねいよ.wav 162 | 163 | Peak level 100.0 % 164 | Extraction speed 4.1 X 165 | Track Quality 100.0 % 166 | Copy CRC CB81661A 167 | Copy OK 168 | 169 | Track 13 170 | 171 | Filename C:\Users\tomo\Desktop\music\13 広がる世界.wav 172 | 173 | Peak level 100.0 % 174 | Extraction speed 5.0 X 175 | Track Quality 100.0 % 176 | Copy CRC F5C76AE7 177 | Copy OK 178 | 179 | No errors occurred 180 | 181 | End of status report 182 | 183 | ==== E8FB6FCD74B0C448C9083B6E5B0BB9D78632ACF824B5085A53B8E1DDE2484932 ==== 184 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/ko/1.log: -------------------------------------------------------------------------------- 1 | EAC 추출 로그 파일 from 12. 10월 2011, 17:02 for CD 2 | Andr?Previn - London Symphony Orchestra / Rachmaninov: Symphony No.2, Vocalise, Aleko [EMI Classics] 3 | 4 | 사용된 드라이브 : ATAPI BD E DH6E2S Adapter: 0 ID: 1 5 | 읽기 방식 : 안전 (C2 가능, 정밀한 전송 가능, 캐쉬 무효 가능) 6 | 읽기 오프셋 교정 : 6 7 | 리드-인과 리드-아웃으로 오버리드 : 아니오 8 | 9 | 사용된 출력 형식 : C:\FLAC_frontend\FLAC frontend.exe (사용자 정의 인코더) 10 | 128 kBit/s 11 | 추가 명령줄 설정 : -V -8 -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s 12 | 13 | 그 밖의 설정 : 14 | 손실된 오프셋 샘플을 무음으로 대치 : 예 15 | 처음과 끝 부분의 무음 블락 삭제 : 아니오 16 | 윈도우즈 NT & 2000을 위한 표준 Win32 인터페이스 17 | 18 | 19 | 트랙 1 20 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\01 - Symphony No.2 in E minor, op.27 - 1. Largo - Allegro moderato.wav 21 | 22 | 이전 공간 길이 0:00:02.00 23 | 24 | 피크 레벨 88.7 % 25 | 트랙 품질 100.0 % 26 | 검사 CRC D511886D 27 | 복사 CRC D511886D 28 | 복사 OK 29 | 30 | 트랙 2 31 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\02 - 2. Scherzo. Allegro molto.wav 32 | 33 | 피크 레벨 89.5 % 34 | 트랙 품질 99.9 % 35 | 검사 CRC FBAF74F3 36 | 복사 CRC FBAF74F3 37 | 복사 OK 38 | 39 | 트랙 3 40 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\03 - 3. Adagio.wav 41 | 42 | 피크 레벨 80.2 % 43 | 트랙 품질 100.0 % 44 | 검사 CRC 493A7812 45 | 복사 CRC 493A7812 46 | 복사 OK 47 | 48 | 트랙 4 49 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\04 - 4. Finale. Allegro vivace.wav 50 | 51 | 피크 레벨 95.5 % 52 | 트랙 품질 100.0 % 53 | 검사 CRC 05227922 54 | 복사 CRC 05227922 55 | 복사 OK 56 | 57 | 트랙 5 58 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\05 - Vocalise, op.34 no.14.wav 59 | 60 | 이전 공간 길이 0:00:10.00 61 | 62 | 피크 레벨 74.0 % 63 | 트랙 품질 100.0 % 64 | 검사 CRC 58EDF22E 65 | 복사 CRC 58EDF22E 66 | 복사 OK 67 | 68 | 트랙 6 69 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\06 - 'Aleko' - Intermezzo.wav 70 | 71 | 이전 공간 길이 0:00:06.73 72 | 73 | 피크 레벨 69.5 % 74 | 트랙 품질 100.0 % 75 | 검사 CRC 757802C6 76 | 복사 CRC 757802C6 77 | 복사 OK 78 | 79 | 트랙 7 80 | 파일 이름 C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\07 - 'Aleko' - Woman's Dance.wav 81 | 82 | 이전 공간 길이 0:00:03.70 83 | 84 | 피크 레벨 77.8 % 85 | 트랙 품질 100.0 % 86 | 검사 CRC D1BBD9F7 87 | 복사 CRC D1BBD9F7 88 | 복사 OK 89 | 90 | 오류 발생 없었음 91 | 92 | 93 | 상태 보고서의 끝 94 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/ko/1_en.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 12. October 2011, 17:02 for disc 2 | Andr?Previn - London Symphony Orchestra / Rachmaninov: Symphony No.2, Vocalise, Aleko [EMI Classics] 3 | 4 | Used drive : ATAPI BD E DH6E2S Adapter: 0 ID: 1 5 | Read mode : Secure with C2, accurate stream, disable cache 6 | Read offset correction : 6 7 | Overread into Lead-In and Lead-Out : No 8 | 9 | Used output format : C:\FLAC_frontend\FLAC frontend.exe (User Defined Encoder) 10 | 128 kBit/s 11 | Additional command line options : -V -8 -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "Tracknumber=%n" -T "genre=%m" %s 12 | 13 | Other options : 14 | Fill up missing offset samples with silence : Yes 15 | Delete leading and trailing silent blocks : No 16 | Native Win32 interface for Win NT & 2000 17 | 18 | 19 | Track 1 20 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\01 - Symphony No.2 in E minor, op.27 - 1. Largo - Allegro moderato.wav 21 | 22 | Pre-gap Length 0:00:02.00 23 | 24 | Peak level 88.7 % 25 | Track Quality 100.0 % 26 | Test CRC D511886D 27 | Copy CRC D511886D 28 | Copy OK 29 | 30 | Track 2 31 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\02 - 2. Scherzo. Allegro molto.wav 32 | 33 | Peak level 89.5 % 34 | Track Quality 99.9 % 35 | Test CRC FBAF74F3 36 | Copy CRC FBAF74F3 37 | Copy OK 38 | 39 | Track 3 40 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\03 - 3. Adagio.wav 41 | 42 | Peak level 80.2 % 43 | Track Quality 100.0 % 44 | Test CRC 493A7812 45 | Copy CRC 493A7812 46 | Copy OK 47 | 48 | Track 4 49 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\04 - 4. Finale. Allegro vivace.wav 50 | 51 | Peak level 95.5 % 52 | Track Quality 100.0 % 53 | Test CRC 05227922 54 | Copy CRC 05227922 55 | Copy OK 56 | 57 | Track 5 58 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\05 - Vocalise, op.34 no.14.wav 59 | 60 | Pre-gap Length 0:00:10.00 61 | 62 | Peak level 74.0 % 63 | Track Quality 100.0 % 64 | Test CRC 58EDF22E 65 | Copy CRC 58EDF22E 66 | Copy OK 67 | 68 | Track 6 69 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\06 - 'Aleko' - Intermezzo.wav 70 | 71 | Pre-gap Length 0:00:06.73 72 | 73 | Peak level 69.5 % 74 | Track Quality 100.0 % 75 | Test CRC 757802C6 76 | Copy CRC 757802C6 77 | Copy OK 78 | 79 | Track 7 80 | Filename C:\M\Sergei Rachmaninoff\Symphony No.2\Andre Previn, LSO\07 - 'Aleko' - Woman's Dance.wav 81 | 82 | Pre-gap Length 0:00:03.70 83 | 84 | Peak level 77.8 % 85 | Track Quality 100.0 % 86 | Test CRC D1BBD9F7 87 | Copy CRC D1BBD9F7 88 | Copy OK 89 | 90 | No errors occurred 91 | 92 | 93 | End of status report 94 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/pl/1.log: -------------------------------------------------------------------------------- 1 | Plik sprawozdania ze zgrywania programem EAC z 6. Marca 2005, 18:18 dla płyty 2 | Horace Tapscott / The Dark Tree, Vol 1 3 | 4 | Użyty napęd: TEAC CD-W54E Adapter: 0 ID: 1 5 | Tryb odczytu: Pewny BEZ C2, z dokładnym strumieniem, BEZ wyłączenia buforowania 6 | Wspólna dla odczytu/zapisu korekta położenia: 0 7 | Nadczytywanie w obszarach LeadIn i LeadOut : Nie 8 | 9 | Użyty format wyjściowy: Wewnętrzne procedury WAV 10 | 44.100 Hz; 16 bitów; stereo 11 | 12 | Inne opcje: 13 | Dopełnienie ciszą brakujących przesuniętych próbek : Tak 14 | Usuwanie początkowych i końcowych bloków ciszy : Nie 15 | Zainstalowane zewnętrzne sterowniki ASPA 16 | 17 | 18 | Stan i błędy zakresu 19 | Wybrany zakres 20 | Ścieżka pliku E:\Moja muzyka\Horace Tapscott-The Dark Tree 1.EAC.flac\CDImage.wav 21 | 22 | Poziom wysterowania 100.0 % 23 | Jakość zakresu 100.0 % 24 | Suma kontrolna E6972C48 25 | Kopia doskonała 26 | 27 | Nie było błędów 28 | 29 | Koniec raportu 30 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/pl/1_en.log: -------------------------------------------------------------------------------- 1 | EAC extraction logfile from 6. March 2005, 18:18 dla płyty 2 | Horace Tapscott / The Dark Tree, Vol 1 3 | 4 | Used drive : TEAC CD-W54E Adapter: 0 ID: 1 5 | Read mode: Secure with NO C2, accurate stream, NO disable cache 6 | Combined read/write offset correction: 0 7 | Overread into Lead-In and Lead-Out : No 8 | 9 | Used output format: Internal WAV Routines 10 | 44.100 Hz; 16 Bit; Stereo 11 | 12 | Other options : 13 | Fill up missing offset samples with silence : Yes 14 | Delete leading and trailing silent blocks : No 15 | Installed external ASPI interface 16 | 17 | 18 | Range status and errors 19 | Selected range 20 | Filename E:\Moja muzyka\Horace Tapscott-The Dark Tree 1.EAC.flac\CDImage.wav 21 | 22 | Peak level 100.0 % 23 | Range quality 100.0 % 24 | CRC E6972C48 25 | Copy OK 26 | 27 | No errors occurred 28 | 29 | End of status report 30 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/zh/1.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.0 beta 2 from 29. April 2011 2 | 3 | EAC日志文件创建时间:8. 十二月 2015, 18:25 4 | 5 | 石川 綾子 / ANIME CLASSIC 6 | 7 | 光驱型号   ASUS BW-16D1HT Adapter: 0 ID: 0 8 | 9 | 抓轨模式   : 暴发 10 | 11 | 读取偏移校正             : 0 12 | 通读Lead-In和Lead-Out : 否 13 | 用静音填充丢失的偏移采样       : 是 14 | 删除开始与结尾的静音部分       : 否 15 | 校验和计算中使用空白采样       : 否 16 | 使用的接口              : Win NT & 2000 的本地Win32接口 17 | 18 | 输出格式    : 内部WAV例程 19 | 采样格式    : 44.100 Hz; 16 Bit; 立体声 20 | 21 | 22 | CD内容目录(TOC) 23 | 24 | Track | Start | Length | Start sector | End sector 25 | --------------------------------------------------------- 26 | 1 | 0:00.00 | 4:13.08 | 0 | 18982 27 | 2 | 4:13.08 | 4:23.63 | 18983 | 38770 28 | 3 | 8:36.71 | 5:04.11 | 38771 | 61581 29 | 4 | 13:41.07 | 4:14.28 | 61582 | 80659 30 | 5 | 17:55.35 | 3:51.24 | 80660 | 98008 31 | 6 | 21:46.59 | 5:20.39 | 98009 | 122047 32 | 7 | 27:07.23 | 4:35.46 | 122048 | 142718 33 | 8 | 31:42.69 | 4:57.57 | 142719 | 165050 34 | 9 | 36:40.51 | 3:50.67 | 165051 | 182367 35 | 10 | 40:31.43 | 3:06.48 | 182368 | 196365 36 | 11 | 43:38.16 | 4:45.22 | 196366 | 217762 37 | 12 | 48:23.38 | 3:40.60 | 217763 | 234322 38 | 39 | 40 | ===以下为抓取选定区域的结果报告=== 41 | 42 | 选定区域为(空白为全盘镜像): 43 | 44 | 抓轨文件 :C:\Users\Bravesong\Desktop\新建文件夹 (2)\石川 綾子 - ANIME CLASSIC.wav 45 | 46 | 计时问题 :0:00:20 - 0:00:21 47 | 48 | 峰值电平 :99.8 % 49 | 抓轨速度 :22.3 X 50 | 复制CRC:8B1C8B92 51 | 复制结束 ! 52 | 53 | 没有错误发生 54 | 55 | 日志文件结束 56 | -------------------------------------------------------------------------------- /tests/logs/eac/utf8/zh/1_en.log: -------------------------------------------------------------------------------- 1 | Exact Audio Copy V1.0 beta 2 from 29. April 2011 2 | 3 | EAC extraction logfile from :8. December 2015, 18:25 4 | 5 | 石川 綾子 / ANIME CLASSIC 6 | 7 | Used drive :    ASUS BW-16D1HT Adapter: 0 ID: 0 8 | 9 | Read mode   : Burst 10 | 11 | Read offset correction             : 0 12 | Overread into Lead-In and Lead-Out : No 13 | Fill up missing offset samples with silence       : Yes 14 | Delete leading and trailing silent blocks       : No 15 | Null samples used in CRC calculations       : No 16 | Used interface              : Native Win32 interface for Win NT & 2000 17 | 18 | Used output format    : Internal WAV Routines 19 | Sample format    : 44.100 Hz; 16 Bit; Stereo 20 | 21 | 22 | TOC of the extracted CD 23 | 24 | Track | Start | Length | Start sector | End sector 25 | --------------------------------------------------------- 26 | 1 | 0:00.00 | 4:13.08 | 0 | 18982 27 | 2 | 4:13.08 | 4:23.63 | 18983 | 38770 28 | 3 | 8:36.71 | 5:04.11 | 38771 | 61581 29 | 4 | 13:41.07 | 4:14.28 | 61582 | 80659 30 | 5 | 17:55.35 | 3:51.24 | 80660 | 98008 31 | 6 | 21:46.59 | 5:20.39 | 98009 | 122047 32 | 7 | 27:07.23 | 4:35.46 | 122048 | 142718 33 | 8 | 31:42.69 | 4:57.57 | 142719 | 165050 34 | 9 | 36:40.51 | 3:50.67 | 165051 | 182367 35 | 10 | 40:31.43 | 3:06.48 | 182368 | 196365 36 | 11 | 43:38.16 | 4:45.22 | 196366 | 217762 37 | 12 | 48:23.38 | 3:40.60 | 217763 | 234322 38 | 39 | 40 | Range status and errors 41 | 42 | Selected range: 43 | 44 | Filename  :C:\Users\Bravesong\Desktop\新建文件夹 (2)\石川 綾子 - ANIME CLASSIC.wav 45 | 46 | Timing problem  :0:00:20 - 0:00:21 47 | 48 | Peak level  :99.8 % 49 | Extraction speed  :22.3 X 50 | Copy CRC :8B1C8B92 51 | Copy finished ! 52 | 53 | No errors occurred 54 | 55 | End of status report 56 | -------------------------------------------------------------------------------- /tests/logs/whipper/details/1.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "whipper", 3 | "version": "0.7.4.dev76+g57d386e", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/whipper/details/4.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "whipper", 3 | "version": "0.7.3", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/whipper/details/invalid_hash.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "whipper", 3 | "version": "0.7.4.dev76+g57d386e", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_invalid", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/whipper/details/missing_hash.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "whipper", 3 | "version": "0.7.4.dev76+g57d386e", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_missing", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/whipper/details/whipper_0_9_0.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "whipper", 3 | "version": "0.9.0", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/xld/details/angle_bracket.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "XLD", 3 | "version": "20181001", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/xld/details/null_drive.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "XLD", 3 | "version": "20191004", 4 | "language": "en", 5 | "combined": false, 6 | "score": 80, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Null drive used (-20 points)" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/logs/xld/details/old_no_checksum.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "XLD", 3 | "version": "20100711", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_missing", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/xld/details/range-vbox.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "XLD", 3 | "version": "20170729", 4 | "language": "en", 5 | "combined": false, 6 | "score": 70, 7 | "checksum": "checksum_ok", 8 | "details": [ 9 | "Range rip detected (-30 points)" 10 | ] 11 | } -------------------------------------------------------------------------------- /tests/logs/xld/details/xld_perfect.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "XLD", 3 | "version": "20161007", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/xld/details/xld_perfect_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "ripper": "XLD", 3 | "version": "20181019", 4 | "language": "en", 5 | "combined": false, 6 | "score": 100, 7 | "checksum": "checksum_ok", 8 | "details": [] 9 | } 10 | -------------------------------------------------------------------------------- /tests/logs/xld/originals/range-vbox.log: -------------------------------------------------------------------------------- 1 | X Lossless Decoder version 20170729 (150.3) 2 | 3 | XLD extraction logfile from 2017-08-01 14:56:16 -0300 4 | 5 | KARA / ジャンピン 6 | 7 | Used drive : VBOX CD-ROM (revision 1.0) 8 | Media type : Pressed CD 9 | 10 | Ripper mode : XLD Secure Ripper 11 | Disable audio cache : OK for the drive with a cache less than 1375KiB 12 | Make use of C2 pointers : NO 13 | Read offset correction : 6 14 | Max retry count : 20 15 | Gap status : Analyzed, Appended 16 | 17 | TOC of the extracted CD 18 | Track | Start | Length | Start sector | End sector 19 | --------------------------------------------------------- 20 | 1 | 00:00:00 | 03:00:27 | 0 | 13526 21 | 2 | 03:00:27 | 03:32:48 | 13527 | 29474 22 | 3 | 06:33:00 | 02:59:05 | 29475 | 42904 23 | 24 | AccurateRip Summary (DiscID: 00014f93-0004617c-1e023c03) 25 | Track 01 : OK (v1+v2, confidence 11/11) 26 | Track 02 : OK (v1+v2, confidence 9/9) 27 | Track 03 : OK (v1+v2, confidence 9/9) 28 | ->All tracks accurately ripped. 29 | 30 | All Tracks 31 | Filename : /Users/dubious/xld rips/01. ジャンピン.flac 32 | Album gain : -11.92 dB 33 | Peak : 1.000000 34 | CRC32 hash (test run) : F55D3134 35 | CRC32 hash : F55D3134 36 | CRC32 hash (skip zero) : 2154552F 37 | Statistics 38 | Read error : 0 39 | Jitter error (maybe fixed) : 0 40 | Retry sector count : 0 41 | Damaged sector count : 0 42 | 43 | Track 01 44 | Pre-gap length : 00:02:00 45 | 46 | Track gain : -11.95 dB 47 | Peak : 1.000000 48 | CRC32 hash (test run) : 0248840B 49 | CRC32 hash : 0248840B 50 | CRC32 hash (skip zero) : 8DAB64A0 51 | AccurateRip v1 signature : AB11CF3F 52 | AccurateRip v2 signature : 0021EFA8 53 | ->Accurately ripped (v1+v2, confidence 5+6/11) 54 | Statistics 55 | Read error : 0 56 | Jitter error (maybe fixed) : 0 57 | Retry sector count : 0 58 | Damaged sector count : 0 59 | 60 | Track 02 61 | 62 | Track gain : -12.51 dB 63 | Peak : 1.000000 64 | CRC32 hash (test run) : DB57CD66 65 | CRC32 hash : DB57CD66 66 | CRC32 hash (skip zero) : 15D163C0 67 | AccurateRip v1 signature : D627D9F5 68 | AccurateRip v2 signature : 689E1528 69 | ->Accurately ripped (v1+v2, confidence 3+6/9) 70 | Statistics 71 | Read error : 0 72 | Jitter error (maybe fixed) : 0 73 | Retry sector count : 0 74 | Damaged sector count : 0 75 | 76 | Track 03 77 | 78 | Track gain : -9.38 dB 79 | Peak : 1.000000 80 | CRC32 hash (test run) : 07AB8339 81 | CRC32 hash : 07AB8339 82 | CRC32 hash (skip zero) : 73FCDD4A 83 | AccurateRip v1 signature : A61A5EA8 84 | AccurateRip v2 signature : 7081171C 85 | ->Accurately ripped (v1+v2, confidence 4+5/9) 86 | Statistics 87 | Read error : 0 88 | Jitter error (maybe fixed) : 0 89 | Retry sector count : 0 90 | Damaged sector count : 0 91 | 92 | No errors occurred 93 | 94 | End of status report 95 | 96 | -----BEGIN XLD SIGNATURE----- 97 | 9NvFdxRPNWm8G8dJyzLLbEkLcpVqzExZwC1NJ6OKyjUQNpvIZZ24MD3aoglPsjyU28tRYNsxO11FjHIvl3E1vavNwxiVZ1gT_RhqPDq 98 | -----END XLD SIGNATURE----- 99 | --------------------------------------------------------------------------------