Compare commits

..
11 Commits
16 changed files with 837 additions and 58 deletions

No files matched your search

+2 -1
View File
@@ -45,10 +45,11 @@ before_deploy:
deploy:
provider: releases
api_key:
secure: jlvbD7nzOz/8vssSI75loBMJE9OosAofTu1IDMc3bfxfRaPT6c2duebJF7Bm0VCTGYWK3Wc+19wwyLpCMoueUUEtKqi6RGIUQyboQvbSEe/cje7/9PgqmFstV8LdBLNOwRVj01YcmGw/iMVc+GxPTtDZtcwVU9bzlMCwXFAlggeId0Qw6KgxN+wTbm+oS3zrIh+TnWhgeWhmMYn0/UAEUEQCsYDI+UJjGWStWdpdJqdMhidg5GQyVtomFg82ZjIw+ywYGMGgq38S4PMRBLoqbxuWs++9LPblWboxtktb4+U0xUMdHfrv/r94b8+nI2SJ1xzzUKTXS/glkk0lJAovSYew6jJiu+gsejiNyR89WNgRGwnWAUA8ZBptrM2b3sxLuZ6RuxQXP3TMpxhQQE/3aodOrACPOHa8uuct0JAj/a2p0WCIj4r76McHrXTjFzDPsbdxD1GwOQmFJGqY5EV7Vez6q++Erp/64JEZJk9/jieTv0arLe76VZPQcZ6TB488tH699MvK7Gg1cc4114FbKIEZrOKF2FOrMAZJ3husjELN0zJYeRPZUy6Y7A2PAWsqfdswlxjP9IxuDFVE/3TW8O1sVItWo4+SSkKTILzsC0qgxVL2lW9WDmyka8U5T2SAa8ye/RRZ3FJYugep49wjUsfLraRdA+Lj7KQXSaMlFa8=
secure: fsMbI9nYrxmSQRXNjNPqd7Oxdnnv5HyKPd2Va7AqQzbOsdTTPY5tz3/6RdeaG2cPjG19qxbWu/g21ysb/hWWeVyFpmIc8pl4TZcJTOrv28VNJiru87ynjjCKbP5N0AD6pnaVs3A6u8zjVZy2vlW1eOXU18xgTgA+yk/IoZX2AChItXdphgVI0rd941d/hkrnMj5shzy1Uv6wgbJSpD27UQ4d3zgGAgc6gteuXGRy0dizo4g0VrvQ21rpezLAgT0e1cefjIqAYwLFP2tm/Nsi5QLLYhSsQptkCUto+gFeGCLBgIMV5dz2IWIkFXQOdiVYjIGmT86GFN32bMLMDpO0ppTc8NPDjnni1cnM6/N/gMm/JvmLzGHMMEGYMgO+Yg1qgQi8MwjTk5twklsiJSUHIsa1WWo1+uj1rO5TQ8CzgajmNr5upJ9PI75rbOw+cn2DzR8UBPVDl+1YxJfz4XhmRgSdF98s+7kGS3Ehaby+gXnH76m2dU43CWukaz9hwGvDdG4nc0C7XDtLq15vbKcK5BywI0pCJRVwa81KBrt9mP4CU1hY2VidS1iQubegJ59bNN/B+xBW92i4AmBd1QhbBnExQ05xFpusIxjSx/7ty9GNTqm3P5JDRQUj+dgNGNgfoaq/ACkWfd68W/IHqPLnh6saReQd2mrTBKtoDs0Atik=
file: logchecker.phar
skip_cleanup: true
on:
tags: true
repo: OPSnet/Logchecker
php: '7.2'
condition: $PREFER_LOWEST != 1 && $Lint != 1
+10 -8
View File
@@ -93,8 +93,8 @@ list($score, $details, $checksum_state, $log_text) = $logchecker->parse();
### Installation
```
$ composer require orpheusnet/logchecker
```bash
composer require orpheusnet/logchecker
```
### Usage
@@ -107,15 +107,17 @@ require __DIR__ . '/vendor/autoload.php';
use OrpheusNET\Logchecker\Logchecker;
$logchecker = new Logchecker();
$logchecker->new_file('/path/to/log/file');
list($score, $details, $checksum_state, $log_text) = $logchecker->parse();
print('Score: ' . $score . "\n");
print('Checksum: ' . $checksum_state . "\n");
$logchecker->newFile('/path/to/log/file');
$logchecker->parse();
print('Ripper : ' . $logchecker->getRipper() . "\n");
print('Version : ' . $logchecker->getRipperVersion() . "\n");
print('Score : ' . $logchecker->getScore() . "\n");
print('Checksum : ' . $logchecker->getChecksumState() . "\n");
print("\nDetails:\n");
foreach ($details as $detail) {
foreach ($logchecker->getDetails() as $detail) {
print(" {$detail}\n");
}
print("\nLog Text:\n{$log_text}");
print("\nLog Text:\n\n{$logchecker->getLog()}");
```
## Building
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "orpheusnet/logchecker",
"description": "Logchecker for validating logs generated from supported ripping programs (like EAC and XLD)",
"version": "0.9.0",
"version": "0.9.3",
"license": "Unlicense",
"type": "library",
"authors": [
Generated
+93 -41
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "ee60272068de4ef2fea35d003f31be8d",
"content-hash": "cf86be9f969915a6352efc74903d5f86",
"packages": [
{
"name": "psr/container",
@@ -57,7 +57,7 @@
},
{
"name": "symfony/console",
"version": "v5.0.7",
"version": "v5.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
@@ -129,6 +129,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-03-30T11:42:42+00:00"
},
{
@@ -350,16 +364,16 @@
},
{
"name": "symfony/process",
"version": "v5.0.7",
"version": "v5.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e"
"reference": "3179f68dff5bad14d38c4114a1dab98030801fd7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e",
"reference": "c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e",
"url": "https://api.github.com/repos/symfony/process/zipball/3179f68dff5bad14d38c4114a1dab98030801fd7",
"reference": "3179f68dff5bad14d38c4114a1dab98030801fd7",
"shasum": ""
},
"require": {
@@ -395,7 +409,21 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2020-03-27T16:56:45+00:00"
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-04-15T15:59:10+00:00"
},
{
"name": "symfony/service-contracts",
@@ -457,16 +485,16 @@
},
{
"name": "symfony/yaml",
"version": "v5.0.7",
"version": "v5.0.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "ad5e9c83ade5bbb3a96a3f30588a0622708caefd"
"reference": "482fb4e710e5af3e0e78015f19aa716ad953392f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/ad5e9c83ade5bbb3a96a3f30588a0622708caefd",
"reference": "ad5e9c83ade5bbb3a96a3f30588a0622708caefd",
"url": "https://api.github.com/repos/symfony/yaml/zipball/482fb4e710e5af3e0e78015f19aa716ad953392f",
"reference": "482fb4e710e5af3e0e78015f19aa716ad953392f",
"shasum": ""
},
"require": {
@@ -526,7 +554,7 @@
"type": "tidelift"
}
],
"time": "2020-03-30T11:42:42+00:00"
"time": "2020-04-28T17:58:55+00:00"
}
],
"packages-dev": [
@@ -807,24 +835,21 @@
},
{
"name": "phpdocumentor/reflection-common",
"version": "2.0.0",
"version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
"reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a"
"reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a",
"reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b",
"reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "~6"
},
"type": "library",
"extra": {
"branch-alias": {
@@ -855,7 +880,7 @@
"reflection",
"static analysis"
],
"time": "2018-08-07T13:53:10+00:00"
"time": "2020-04-27T09:25:28+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
@@ -1021,21 +1046,24 @@
},
{
"name": "phpstan/phpstan",
"version": "0.12.18",
"version": "0.12.19",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "1ce27fe29c8660a27926127d350d53d80c4d4286"
"reference": "054f6d76b12ba9a6c13a5a8d5fcdf51219615f4d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/1ce27fe29c8660a27926127d350d53d80c4d4286",
"reference": "1ce27fe29c8660a27926127d350d53d80c4d4286",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/054f6d76b12ba9a6c13a5a8d5fcdf51219615f4d",
"reference": "054f6d76b12ba9a6c13a5a8d5fcdf51219615f4d",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"conflict": {
"phpstan/phpstan-shim": "*"
},
"bin": [
"phpstan",
"phpstan.phar"
@@ -1056,7 +1084,21 @@
"MIT"
],
"description": "PHPStan - PHP Static Analysis Tool",
"time": "2020-03-22T16:51:47+00:00"
"funding": [
{
"url": "https://github.com/ondrejmirtes",
"type": "github"
},
{
"url": "https://www.patreon.com/phpstan",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
"type": "tidelift"
}
],
"time": "2020-04-19T20:35:10+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -1312,16 +1354,16 @@
},
{
"name": "phpunit/phpunit",
"version": "8.5.3",
"version": "8.5.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "67750516bc02f300e2742fed2f50177f8f37bedf"
"reference": "8474e22d7d642f665084ba5ec780626cbd1efd23"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/67750516bc02f300e2742fed2f50177f8f37bedf",
"reference": "67750516bc02f300e2742fed2f50177f8f37bedf",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8474e22d7d642f665084ba5ec780626cbd1efd23",
"reference": "8474e22d7d642f665084ba5ec780626cbd1efd23",
"shasum": ""
},
"require": {
@@ -1391,7 +1433,17 @@
"testing",
"xunit"
],
"time": "2020-03-31T08:52:04+00:00"
"funding": [
{
"url": "https://phpunit.de/donate.html",
"type": "custom"
},
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-04-23T04:39:42+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -2010,16 +2062,16 @@
},
{
"name": "squizlabs/php_codesniffer",
"version": "3.5.4",
"version": "3.5.5",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
"reference": "dceec07328401de6211037abbb18bda423677e26"
"reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/dceec07328401de6211037abbb18bda423677e26",
"reference": "dceec07328401de6211037abbb18bda423677e26",
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6",
"reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6",
"shasum": ""
},
"require": {
@@ -2057,7 +2109,7 @@
"phpcs",
"standards"
],
"time": "2020-01-30T22:20:29+00:00"
"time": "2020-04-17T01:09:41+00:00"
},
{
"name": "theseer/tokenizer",
@@ -2101,16 +2153,16 @@
},
{
"name": "webmozart/assert",
"version": "1.7.0",
"version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/webmozart/assert.git",
"reference": "aed98a490f9a8f78468232db345ab9cf606cf598"
"reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598",
"reference": "aed98a490f9a8f78468232db345ab9cf606cf598",
"url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
"reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6",
"shasum": ""
},
"require": {
@@ -2118,7 +2170,7 @@
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"vimeo/psalm": "<3.6.0"
"vimeo/psalm": "<3.9.1"
},
"require-dev": {
"phpunit/phpunit": "^4.8.36 || ^7.5.13"
@@ -2145,7 +2197,7 @@
"check",
"validate"
],
"time": "2020-02-14T12:15:55+00:00"
"time": "2020-04-18T12:12:48+00:00"
}
],
"aliases": [],
+1 -1
View File
@@ -8,7 +8,7 @@ use OrpheusNET\Logchecker\Exception\UnknownRipperException;
class Ripper
{
public const UNKNOWN = 'unknown';
public const WHIPPER = 'whipper';
public const XLD = 'XLD';
public const EAC = 'EAC';
+4
View File
@@ -20,6 +20,7 @@ class AnalyzeCommand extends Command
->setDescription('analyze log file')
->setHelp('This command analyzes a log file')
->addOption('html', null, InputOption::VALUE_NONE, 'Print the HTML version of log, without color')
->addOption('no_text', null, InputOption::VALUE_NONE, 'Do not print log text to console')
->addArgument('file', InputArgument::REQUIRED, 'Log file to analyze')
->addArgument('out_file', InputArgument::OPTIONAL, 'Write HTML log to outfile');
}
@@ -55,6 +56,9 @@ class AnalyzeCommand extends Command
}
}
if ($input->getOption('no_text')) {
return 0;
}
$output->writeln('');
$output->writeln('Log Text:');
$output->writeln('');
+24 -6
View File
@@ -3,10 +3,15 @@
namespace OrpheusNET\Logchecker;
use OrpheusNET\Logchecker\Check\Ripper;
use OrpheusNET\Logchecker\Exception\UnknownRipperException;
use OrpheusNET\Logchecker\Parser\EAC\Translator;
use Symfony\Component\Yaml\Yaml;
use Symfony\Component\Yaml\Exception\ParseException;
if (!defined('LOGCHECKER_LEVENSTEIN_DISTANCE')) {
define('LOGCHECKER_LEVENSTEIN_DISTANCE', 0);
}
/*******************************************************************
* Automated EAC/XLD log checker *
********************************************************************/
@@ -104,9 +109,18 @@ class Logchecker
} catch (\Exception $exc) {
$this->Score = 0;
$this->account('Could not detect log encoding, log is corrupt.');
return;
}
try {
$this->ripper = Ripper::getRipper($this->log);
} catch (UnknownRipperException $exc) {
$this->Score = 0;
$this->account('Unknown log file, could not determine ripper.');
$this->ripper = Ripper::UNKNOWN;
return;
}
$this->ripper = Ripper::getRipper($this->log);
if ($this->ripper === Ripper::WHIPPER) {
$this->whipperParse();
} else {
@@ -522,14 +536,18 @@ class Logchecker
}
$Class = $this->checksumStatus === Check\Checksum::CHECKSUM_OK ? 'good' : 'bad';
$Log = preg_replace('/(\=+\s+Log checksum.*)/i', "<span class='{$Class}'>$1</span>", $Log, 1, $Count);
$Log = preg_replace('/(\=+\s+Log checksum.*)/i', "<span class='{$Class}'>$1</span>", $Log, 1, $eacCount);
$Log = preg_replace(
'/([\-]+BEGIN XLD SIGNATURE[\S\n\-]+END XLD SIGNATURE[\-]+)/i',
"<span class='{$Class}'>$1</span>",
$Log,
1,
$Count
$xldCount
);
// EAC will at least output "no checksum" for some malformed logs with checksums
if (($eacCount > 0 || $xldCount > 0) && $this->checksumStatus === Check\Checksum::CHECKSUM_MISSING) {
$this->checksumStatus = Check\Checksum::CHECKSUM_INVALID;
}
$Log = preg_replace_callback("/Used drive( *): (.+)/i", array(
$this,
@@ -1433,16 +1451,16 @@ class Logchecker
$DriveName = preg_replace('/\s+/', ' ', $DriveName);
$DriveName = preg_replace('/\(revision [a-zA-Z0-9\.\,\-]*\)/', '', $DriveName);
$DriveName = preg_replace('/ Adapter.*$/', '', $DriveName);
$DriveName = strtolower($DriveName);
$DriveName = trim(strtolower($DriveName));
$MatchedDrives = [];
for ($i = 0; $i < 5; $i++) {
for ($i = 0; $i < LOGCHECKER_LEVENSTEIN_DISTANCE + 1; $i++) {
$MatchedDrives[$i] = ['drives' => [], 'offsets' => []];
}
foreach ($this->AllDrives as [$Drive, $Offset]) {
$Distance = levenshtein($Drive, $DriveName);
if ($Distance < 5) {
if ($Distance < LOGCHECKER_LEVENSTEIN_DISTANCE + 1) {
$MatchedDrives[$Distance]['drives'][] = $Drive;
$MatchedDrives[$Distance]['offsets'][] = preg_replace('/[^0-9]/s', '', (string) $Offset);
}
+1
View File
@@ -54,6 +54,7 @@ class Translator
file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'languages' . DIRECTORY_SEPARATOR . 'master.json'),
true
);
foreach ($languages as $code => $lang) {
foreach ($lang['eac_strings'] as $eac_string) {
if (preg_match('/' . preg_quote($eac_string, "/") . '/ui', $log) === 1) {
+6
View File
@@ -41,6 +41,12 @@ class Util
if ($results['charset'] !== 'utf-8' && $results['confidence'] > 0.7) {
// $log = mb_convert_encoding($log, 'UTF-8', $results['charset']);
$log = iconv($results['charset'], 'UTF-8', $log);
} elseif ($results['charset'] !== 'utf-8' && $results['confidence'] > 0.3) {
// If we've got a poor confidence on our decoding, we just use a generic
// ISO-8859-1 as that covers a decent range of things that people would
// inadvertently re-encode a log into. I seriously cannot express how
// much I hate how EAC does not use always UTF-8.
$log = iconv('ISO-8859-1', 'UTF-8', $log);
}
}
return $log;
+13
View File
@@ -70,4 +70,17 @@ class LogcheckerTest extends TestCase
);
$this->assertSame($composer['version'], Logchecker::getLogcheckerVersion());
}
public function testCheckUnknownLog(): void
{
$logchecker = new Logchecker();
$logchecker->newFile(implode(DIRECTORY_SEPARATOR, [__DIR__, 'LogcheckerTest.php']));
$logchecker->parse();
$this->assertSame(Ripper::UNKNOWN, $logchecker->getRipper());
$this->assertNull($logchecker->getRipperVersion());
$this->assertSame(0, $logchecker->getScore());
$this->assertSame('en', $logchecker->getLanguage());
$this->assertSame(['Unknown log file, could not determine ripper.'], $logchecker->getDetails());
}
}
+30
View File
@@ -6,6 +6,7 @@ namespace OrpheusNET\Logchecker\Parser\EAC;
use FilesystemIterator;
use OrpheusNET\Logchecker\Exception\UnknownLanguageException;
use OrpheusNET\Logchecker\Util;
use PHPUnit\Framework\TestCase;
class TranslatorTest extends TestCase
@@ -51,4 +52,33 @@ class TranslatorTest extends TestCase
)
);
}
public function englishLogProvider()
{
return array_map(
function ($file) {
return [$file];
},
array_filter(
scandir(implode(DIRECTORY_SEPARATOR, [__DIR__, '..', '..', 'logs', 'eac', 'originals'])),
function ($file) {
return substr($file, 0, 2) === 'en';
}
)
);
}
/**
* @dataProvider englishLogProvider
*/
public function testEnglishLanguage(string $file)
{
$logPath = implode(DIRECTORY_SEPARATOR, [__DIR__, '..', '..', 'logs', 'eac', 'originals', $file]);
$log = file_get_contents($logPath);
$log = Util::decodeEncoding($log, $logPath);
$langDetails = Translator::getLanguage($log);
$this->assertSame('en', $langDetails['code']);
$this->assertSame('English', $langDetails['name']);
$this->assertSame('English', $langDetails['name_english']);
}
}
@@ -0,0 +1,12 @@
{
"ripper": "EAC",
"version": "1.5",
"language": "en",
"combined": true,
"score": 99,
"checksum": "checksum_invalid",
"details": [
"Combined Log (2)",
"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)"
]
}
+223
View File
@@ -0,0 +1,223 @@
Exact Audio Copy <span class="log1">V1.5</span> from <span class="log1">20. February 2020</span>
<span class='good'>EAC extraction logfile from <span class='log5'>17. April 2020, 19:35</span></span>
<span class="log4">John Coltrane / A Love Supreme</span>
<span class="log5">Used Drive </span>: <span class="good">HL-DT-STDVDRAM GH24NSB0 Adapter: 1 ID: 0</span>
<span class="log5">Read mode </span>: <span class="good">Secure</span>
<span class="log5">Utilize accurate stream </span>: <span class="good">Yes</span>
<span class="log5">Defeat audio cache </span>: <span class="good">Yes</span>
<span class="log5">Make use of C2 pointers </span>: <span class="good">No</span>
<span class="log5">Read offset correction </span>: <span class="good">6</span>
<span class="log5">Overread into Lead-In and Lead-Out </span>: <span class="log4">No</span>
<span class="log5">Fill up missing offset samples with silence </span>: <span class="good">Yes</span>
<span class="log5">Delete leading and trailing silent blocks </span>: <span class="good">No</span>
<span class="log5">Null samples used in CRC calculations </span>: <span class="good">Yes</span>
<span class="log5">Used interface </span>: <span class="log4">Native Win32 interface for Win NT & 2000</span>
<span class="log5">Gap handling </span>: <span class="good">Appended to previous track</span>
<span class="log5">Used output format </span>: <span class="log4">User Defined Encoder</span>
<span class="log5">Selected bitrate </span>: <span class="log4">768 kBit/s</span>
<span class="log5">Quality </span>: <span class="log4">High</span>
<span class="log5">Add ID3 tag </span>: <span class="good">No</span>
<span class="log5">Command line compressor </span>: <span class="log4">C:\Program Files (x86)\Exact Audio Copy\FLAC\FLAC.EXE</span>
<span class="log5">Additional command line options </span>: <span class="log4">-8 -e -p -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T
"TRACKNUMBER=%tracknr%" -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 "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" %source% -o %dest%</span>
<span class="log4 log5">TOC of the extracted CD</span>
<strong> Track | Start | Length | Start sector | End sector </strong>
<strong>---------------------------------------------------------</strong>
<span class="log4">1</span> <strong>|</strong> <span class="log1">0:00.00</span> <strong>|</strong> <span class="log1">7:42.65</span> <strong>|</strong> <span class="log1">0</span> <strong>|</strong> <span class="log1">34714</span>
<span class="log4">2</span> <strong>|</strong> <span class="log1">7:42.65</span> <strong>|</strong> <span class="log1">7:19.34</span> <strong>|</strong> <span class="log1">34715</span> <strong>|</strong> <span class="log1">67673</span>
<span class="log4">3</span> <strong>|</strong> <span class="log1">15:02.24</span> <strong>|</strong> <span class="log1">10:42.38</span> <strong>|</strong> <span class="log1">67674</span> <strong>|</strong> <span class="log1">115861</span>
<span class="log4">4</span> <strong>|</strong> <span class="log1">25:44.62</span> <strong>|</strong> <span class="log1">7:02.68</span> <strong>|</strong> <span class="log1">115862</span> <strong>|</strong> <span class="log1">147579</span>
<span class="log5">Track</span> <span class="log4 log1">1</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\01 Acknowledgement.wav</span></span>
<span class="log4">Pre-gap length <span class="log3">0:00:02.00</span></span>
<span class="log4">Peak level <span class="log3">97.6 %</span></span>
<span class="log4">Extraction speed <span class="log3">5.3 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">322247B3</span></span>
<span class="log4">Copy CRC <span class="good">322247B3</span></span>
<span class="good">Accurately ripped (confidence 200) [FB072CAB]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="log5">Track</span> <span class="log4 log1">2</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\02 Resolution.wav</span></span>
<span class="log4">Peak level <span class="log3">97.6 %</span></span>
<span class="log4">Extraction speed <span class="log3">6.1 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">4732C420</span></span>
<span class="log4">Copy CRC <span class="good">4732C420</span></span>
<span class="good">Accurately ripped (confidence 200) [F8254929]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="log5">Track</span> <span class="log4 log1">3</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\03 Pursuance.wav</span></span>
<span class="log4">Pre-gap length <span class="log3">0:00:01.46</span></span>
<span class="log4">Peak level <span class="log3">97.6 %</span></span>
<span class="log4">Extraction speed <span class="log3">7.1 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">71958F92</span></span>
<span class="log4">Copy CRC <span class="good">71958F92</span></span>
<span class="good">Accurately ripped (confidence 200) [4FC2DCC6]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="log5">Track</span> <span class="log4 log1">4</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\04 Psalm.wav</span></span>
<span class="log4">Peak level <span class="log3">95.7 %</span></span>
<span class="log4">Extraction speed <span class="log3">7.6 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">0C8D6B7E</span></span>
<span class="log4">Copy CRC <span class="good">0C8D6B7E</span></span>
<span class="good">Accurately ripped (confidence 200) [36EF184C]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="good">All tracks accurately ripped</span>
<span class="good">No errors occurred</span>
<span class="good">End of status report</span>
---- CUETools DB Plugin V2.1.6
[CTDB TOCID: 3Ymtej0heE3Qv3LM2ZTKNGwiRV8-] found
Submit result: already submitted
Track | CTDB Status
1 | (961/1326) Accurately ripped
2 | (966/1326) Accurately ripped
3 | (961/1326) Accurately ripped
4 | (963/1326) Accurately ripped
<span class='bad'>==== Log checksum 5168768818AD8271F9E33889E0FF7123188A08EB490B3FD922F4335E1C74BEDC ====</span>
<strong>------------------------------------------------------------</strong>
Exact Audio Copy <span class="log1">V1.5</span> from <span class="log1">20. February 2020</span>
<span class='good'>EAC extraction logfile from <span class='log5'>17. April 2020, 19:35</span></span>
<span class="log4">John Coltrane / A Love Supreme</span>
<span class="log5">Used Drive </span>: <span class="good">HL-DT-STDVDRAM GH24NSB0 Adapter: 1 ID: 0</span>
<span class="log5">Read mode </span>: <span class="good">Secure</span>
<span class="log5">Utilize accurate stream </span>: <span class="good">Yes</span>
<span class="log5">Defeat audio cache </span>: <span class="good">Yes</span>
<span class="log5">Make use of C2 pointers </span>: <span class="good">No</span>
<span class="log5">Read offset correction </span>: <span class="good">6</span>
<span class="log5">Overread into Lead-In and Lead-Out </span>: <span class="log4">No</span>
<span class="log5">Fill up missing offset samples with silence </span>: <span class="good">Yes</span>
<span class="log5">Delete leading and trailing silent blocks </span>: <span class="good">No</span>
<span class="log5">Null samples used in CRC calculations </span>: <span class="good">Yes</span>
<span class="log5">Used interface </span>: <span class="log4">Native Win32 interface for Win NT & 2000</span>
<span class="log5">Gap handling </span>: <span class="good">Appended to previous track</span>
<span class="log5">Used output format </span>: <span class="log4">User Defined Encoder</span>
<span class="log5">Selected bitrate </span>: <span class="log4">320 kBit/s</span>
<span class="log5">Quality </span>: <span class="log4">High</span>
<span class="log5">Add ID3 tag </span>: <span class="badish">Yes</span>
<span class="log5">Command line compressor </span>: <span class="log4">E:\Tools\lame.exe</span>
<span class="log5">Additional command line options </span>: <span class="log4">-V0 --vbr-new --tt "%title%" --ta "%artist%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr%" %source%
%dest%</span>
<span class="log4 log5">TOC of the extracted CD</span>
<strong> Track | Start | Length | Start sector | End sector </strong>
<strong>---------------------------------------------------------</strong>
<span class="log4">1</span> <strong>|</strong> <span class="log1">0:00.00</span> <strong>|</strong> <span class="log1">7:42.65</span> <strong>|</strong> <span class="log1">0</span> <strong>|</strong> <span class="log1">34714</span>
<span class="log4">2</span> <strong>|</strong> <span class="log1">7:42.65</span> <strong>|</strong> <span class="log1">7:19.34</span> <strong>|</strong> <span class="log1">34715</span> <strong>|</strong> <span class="log1">67673</span>
<span class="log4">3</span> <strong>|</strong> <span class="log1">15:02.24</span> <strong>|</strong> <span class="log1">10:42.38</span> <strong>|</strong> <span class="log1">67674</span> <strong>|</strong> <span class="log1">115861</span>
<span class="log4">4</span> <strong>|</strong> <span class="log1">25:44.62</span> <strong>|</strong> <span class="log1">7:02.68</span> <strong>|</strong> <span class="log1">115862</span> <strong>|</strong> <span class="log1">147579</span>
<span class="log5">Track</span> <span class="log4 log1">1</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\01 Acknowledgement.wav</span></span>
<span class="log4">Pre-gap length <span class="log3">0:00:02.00</span></span>
<span class="log4">Peak level <span class="log3">97.6 %</span></span>
<span class="log4">Extraction speed <span class="log3">5.3 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">322247B3</span></span>
<span class="log4">Copy CRC <span class="good">322247B3</span></span>
<span class="good">Accurately ripped (confidence 200) [FB072CAB]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="log5">Track</span> <span class="log4 log1">2</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\02 Resolution.wav</span></span>
<span class="log4">Peak level <span class="log3">97.6 %</span></span>
<span class="log4">Extraction speed <span class="log3">6.1 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">4732C420</span></span>
<span class="log4">Copy CRC <span class="good">4732C420</span></span>
<span class="good">Accurately ripped (confidence 200) [F8254929]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="log5">Track</span> <span class="log4 log1">3</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\03 Pursuance.wav</span></span>
<span class="log4">Pre-gap length <span class="log3">0:00:01.46</span></span>
<span class="log4">Peak level <span class="log3">97.6 %</span></span>
<span class="log4">Extraction speed <span class="log3">7.1 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">71958F92</span></span>
<span class="log4">Copy CRC <span class="good">71958F92</span></span>
<span class="good">Accurately ripped (confidence 200) [4FC2DCC6]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="log5">Track</span> <span class="log4 log1">4</span>
<span class="log4">Filename <span class="log3">E:\Test Rip\04 Psalm.wav</span></span>
<span class="log4">Peak level <span class="log3">95.7 %</span></span>
<span class="log4">Extraction speed <span class="log3">7.6 X</span></span>
<span class="log4">Track quality <span class="log3">100.0 %</span></span>
<span class="log4">Test CRC <span class="good">0C8D6B7E</span></span>
<span class="log4">Copy CRC <span class="good">0C8D6B7E</span></span>
<span class="good">Accurately ripped (confidence 200) [36EF184C]</span> (AR v2)
<span class="good">Copy OK</span>
<span class="good">All tracks accurately ripped</span>
<span class="good">No errors occurred</span>
<span class="good">End of status report</span>
---- CUETools DB Plugin V2.1.6
[CTDB TOCID: 3Ymtej0heE3Qv3LM2ZTKNGwiRV8-] found
Submit result: already submitted
Track | CTDB Status
1 | (961/1326) Accurately ripped
2 | (966/1326) Accurately ripped
3 | (961/1326) Accurately ripped
4 | (963/1326) Accurately ripped
<span class='bad'>==== Log checksum 9FE4FA4CE31EF3C9B70A448AFA4B9E5862E040593FE0673DC1C8A4BA257D9E97 ====</span>
+223
View File
@@ -0,0 +1,223 @@
Exact Audio Copy V1.5 from 20. February 2020
EAC extraction logfile from 17. April 2020, 19:35
John Coltrane / A Love Supreme
Used drive : HL-DT-STDVDRAM GH24NSB0 Adapter: 1 ID: 0
Read mode : Secure
Utilize accurate stream : Yes
Defeat audio cache : Yes
Make use of C2 pointers : No
Read offset correction : 6
Overread into Lead-In and Lead-Out : No
Fill up missing offset samples with silence : Yes
Delete leading and trailing silent blocks : No
Null samples used in CRC calculations : Yes
Used interface : Native Win32 interface for Win NT & 2000
Gap handling : Appended to previous track
Used output format : User Defined Encoder
Selected bitrate : 768 kBit/s
Quality : High
Add ID3 tag : No
Command line compressor : C:\Program Files (x86)\Exact Audio Copy\FLAC\FLAC.EXE
Additional command line options : -8 -e -p -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -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 "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" %source% -o %dest%
TOC of the extracted CD
Track | Start | Length | Start sector | End sector
---------------------------------------------------------
1 | 0:00.00 | 7:42.65 | 0 | 34714
2 | 7:42.65 | 7:19.34 | 34715 | 67673
3 | 15:02.24 | 10:42.38 | 67674 | 115861
4 | 25:44.62 | 7:02.68 | 115862 | 147579
Track 1
Filename E:\Test Rip\01 Acknowledgement.wav
Pre-gap length 0:00:02.00
Peak level 97.6 %
Extraction speed 5.3 X
Track quality 100.0 %
Test CRC 322247B3
Copy CRC 322247B3
Accurately ripped (confidence 200) [FB072CAB] (AR v2)
Copy OK
Track 2
Filename E:\Test Rip\02 Resolution.wav
Peak level 97.6 %
Extraction speed 6.1 X
Track quality 100.0 %
Test CRC 4732C420
Copy CRC 4732C420
Accurately ripped (confidence 200) [F8254929] (AR v2)
Copy OK
Track 3
Filename E:\Test Rip\03 Pursuance.wav
Pre-gap length 0:00:01.46
Peak level 97.6 %
Extraction speed 7.1 X
Track quality 100.0 %
Test CRC 71958F92
Copy CRC 71958F92
Accurately ripped (confidence 200) [4FC2DCC6] (AR v2)
Copy OK
Track 4
Filename E:\Test Rip\04 Psalm.wav
Peak level 95.7 %
Extraction speed 7.6 X
Track quality 100.0 %
Test CRC 0C8D6B7E
Copy CRC 0C8D6B7E
Accurately ripped (confidence 200) [36EF184C] (AR v2)
Copy OK
All tracks accurately ripped
No errors occurred
End of status report
---- CUETools DB Plugin V2.1.6
[CTDB TOCID: 3Ymtej0heE3Qv3LM2ZTKNGwiRV8-] found
Submit result: already submitted
Track | CTDB Status
1 | (961/1326) Accurately ripped
2 | (966/1326) Accurately ripped
3 | (961/1326) Accurately ripped
4 | (963/1326) Accurately ripped
==== Log checksum 5168768818AD8271F9E33889E0FF7123188A08EB490B3FD922F4335E1C74BEDC ====
------------------------------------------------------------
Exact Audio Copy V1.5 from 20. February 2020
EAC extraction logfile from 17. April 2020, 19:35
John Coltrane / A Love Supreme
Used drive : HL-DT-STDVDRAM GH24NSB0 Adapter: 1 ID: 0
Read mode : Secure
Utilize accurate stream : Yes
Defeat audio cache : Yes
Make use of C2 pointers : No
Read offset correction : 6
Overread into Lead-In and Lead-Out : No
Fill up missing offset samples with silence : Yes
Delete leading and trailing silent blocks : No
Null samples used in CRC calculations : Yes
Used interface : Native Win32 interface for Win NT & 2000
Gap handling : Appended to previous track
Used output format : User Defined Encoder
Selected bitrate : 320 kBit/s
Quality : High
Add ID3 tag : Yes
Command line compressor : E:\Tools\lame.exe
Additional command line options : -V0 --vbr-new --tt "%title%" --ta "%artist%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr%" %source% %dest%
TOC of the extracted CD
Track | Start | Length | Start sector | End sector
---------------------------------------------------------
1 | 0:00.00 | 7:42.65 | 0 | 34714
2 | 7:42.65 | 7:19.34 | 34715 | 67673
3 | 15:02.24 | 10:42.38 | 67674 | 115861
4 | 25:44.62 | 7:02.68 | 115862 | 147579
Track 1
Filename E:\Test Rip\01 Acknowledgement.wav
Pre-gap length 0:00:02.00
Peak level 97.6 %
Extraction speed 5.3 X
Track quality 100.0 %
Test CRC 322247B3
Copy CRC 322247B3
Accurately ripped (confidence 200) [FB072CAB] (AR v2)
Copy OK
Track 2
Filename E:\Test Rip\02 Resolution.wav
Peak level 97.6 %
Extraction speed 6.1 X
Track quality 100.0 %
Test CRC 4732C420
Copy CRC 4732C420
Accurately ripped (confidence 200) [F8254929] (AR v2)
Copy OK
Track 3
Filename E:\Test Rip\03 Pursuance.wav
Pre-gap length 0:00:01.46
Peak level 97.6 %
Extraction speed 7.1 X
Track quality 100.0 %
Test CRC 71958F92
Copy CRC 71958F92
Accurately ripped (confidence 200) [4FC2DCC6] (AR v2)
Copy OK
Track 4
Filename E:\Test Rip\04 Psalm.wav
Peak level 95.7 %
Extraction speed 7.6 X
Track quality 100.0 %
Test CRC 0C8D6B7E
Copy CRC 0C8D6B7E
Accurately ripped (confidence 200) [36EF184C] (AR v2)
Copy OK
All tracks accurately ripped
No errors occurred
End of status report
---- CUETools DB Plugin V2.1.6
[CTDB TOCID: 3Ymtej0heE3Qv3LM2ZTKNGwiRV8-] found
Submit result: already submitted
Track | CTDB Status
1 | (961/1326) Accurately ripped
2 | (966/1326) Accurately ripped
3 | (961/1326) Accurately ripped
4 | (963/1326) Accurately ripped
==== Log checksum 9FE4FA4CE31EF3C9B70A448AFA4B9E5862E040593FE0673DC1C8A4BA257D9E97 ====
Binary file not shown.
+194
View File
@@ -0,0 +1,194 @@
EAC extraction logfile from 20. November 2006, 20:20 for CD
Banco del Mutuo Soccorso / Seguendo le Tracce
Used drive : _NEC DVD+-RW ND-6450A Adapter: 1 ID: 0
Read mode : Secure with NO C2, accurate stream, disable cache
Read offset correction : 594
Overread into Lead-In and Lead-Out : No
Used output format : Internal WAV Routines
44.100 Hz; 16 Bit; Stereo
Other options :
Fill up missing offset samples with silence : Yes
Delete leading and trailing silent blocks : No
Installed external ASPI interface
Track 1
Filename C:\Documents and Settings\user\Documenti\file flac\01R.I.P. (english version).wav
Pre-gap length 0:00:02.00
Peak level 97.7 %
Track quality 100.0 %
Test CRC EC43BAD3
Copy CRC EC43BAD3
Copy OK
Track 2
Filename C:\Documents and Settings\user\Documenti\file flac\02L'albero del pane.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC 70584B1D
Copy CRC 70584B1D
Copy OK
Track 3
Filename C:\Documents and Settings\user\Documenti\file flac\03La danza dei grandi rettili.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC 4E17BAEF
Copy CRC 4E17BAEF
Copy OK
Track 4
Filename C:\Documents and Settings\user\Documenti\file flac\04Passaggio.wav
Peak level 44.4 %
Track quality 100.0 %
Test CRC D76BE99A
Copy CRC D76BE99A
Copy OK
Track 5
Filename C:\Documents and Settings\user\Documenti\file flac\05Non mi rompete.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC 826A9F81
Copy CRC 826A9F81
Copy OK
Track 6
Filename C:\Documents and Settings\user\Documenti\file flac\06Dopo... niente più è lo stesso.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC CFB6C6BA
Copy CRC CFB6C6BA
Copy OK
Track 7
Filename C:\Documents and Settings\user\Documenti\file flac\07Traccia II.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC D7BAF9A2
Copy CRC D7BAF9A2
Copy OK
Track 8
Filename C:\Documents and Settings\user\Documenti\file flac\08Metamorfosi.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC BBB2254A
Copy CRC BBB2254A
Copy OK
No errors occured
End of status report
------------------------------------------------------------
EAC extraction logfile from 20. November 2006, 21:08 for CD
Banco del Mutuo Soccorso / Seguendo le Tracce
Used drive : _NEC DVD+-RW ND-6450A Adapter: 1 ID: 0
Read mode : Secure with NO C2, accurate stream, disable cache
Read offset correction : 594
Overread into Lead-In and Lead-Out : No
Used output format : C:\Programmi\FLAC\flac.exe (User Defined Encoder)
320 kBit/s
Additional command line options : -V --replay-gain -8 -T "artist=%a" -T "title=%t" -T "album=%g" -T "date=%y" -T "tracknumber=%n" -T "genre=%m" %s
Other options :
Fill up missing offset samples with silence : Yes
Delete leading and trailing silent blocks : No
Installed external ASPI interface
Track 1
Filename C:\Documents and Settings\user\Documenti\file flac\01R.I.P. (english version).wav
Pre-gap length 0:00:02.00
Peak level 97.7 %
Track quality 100.0 %
Test CRC EC43BAD3
Copy CRC EC43BAD3
Copy OK
Track 2
Filename C:\Documents and Settings\user\Documenti\file flac\02L'albero del pane.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC 70584B1D
Copy CRC 70584B1D
Copy OK
Track 3
Filename C:\Documents and Settings\user\Documenti\file flac\03La danza dei grandi rettili.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC 4E17BAEF
Copy CRC 4E17BAEF
Copy OK
Track 4
Filename C:\Documents and Settings\user\Documenti\file flac\04Passaggio.wav
Peak level 44.4 %
Track quality 100.0 %
Test CRC D76BE99A
Copy CRC D76BE99A
Copy OK
Track 5
Filename C:\Documents and Settings\user\Documenti\file flac\05Non mi rompete.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC 826A9F81
Copy CRC 826A9F81
Copy OK
Track 6
Filename C:\Documents and Settings\user\Documenti\file flac\06Dopo... niente più è lo stesso.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC CFB6C6BA
Copy CRC CFB6C6BA
Copy OK
Track 7
Filename C:\Documents and Settings\user\Documenti\file flac\07Traccia II.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC D7BAF9A2
Copy CRC D7BAF9A2
Copy OK
Track 8
Filename C:\Documents and Settings\user\Documenti\file flac\08Metamorfosi.wav
Peak level 97.7 %
Track quality 100.0 %
Test CRC BBB2254A
Copy CRC BBB2254A
Copy OK
No errors occured
End of status report