dart_rip_log library
A pure Dart library that parses CD rip log files from EAC, XLD, and other rippers into structured, JSON-serialisable quality data.
Entry points:
- parseRipLog — parse from a String.
- parseRipLogFile — parse from a file path (async).
- detectLogFormat — identify the format without a full parse.
- isFullyVerified, tracksWithErrors, tracksWithArMismatch — convenience queries over a parsed RipLog.
- toJson — JSON-compatible
Map<String, dynamic>for any RipLog.
Quick start
import 'package:dart_rip_log/dart_rip_log.dart';
void main() async {
final log = await parseRipLogFile('my_rip.log');
print(log.logFormat); // RipLogFormat.eac
print(log.tracks.length); // number of tracks
print(isFullyVerified(log)); // true / false
}
See the package README for the full JSON shape, the riplog CLI, and
supported log-format details.
Classes
- DriveInfo
- Drive information extracted from the log header.
- RipLog
- Top-level result from parsing a complete log file.
- RipLogDiff
- Structured diff between two parsed rip logs.
- RipLogDiffEntry
- One change between two RipLogs.
- RipLogTrack
- Per-track quality data — unified across all log formats.
- TrackErrors
- Per-track error statistics reported by the ripper.
Enums
- AccurateRipStatus
- AccurateRip verification result for a single track.
- RipLogDiffKind
- Classification of a single RipLogDiffEntry.
- RipLogFormat
- Which CD-ripping tool generated the log.
Functions
-
compareRipLogs(
RipLog left, RipLog right) → RipLogDiff - Compare two RipLogs and return a structured RipLogDiff.
-
detectLogFormat(
String content) → RipLogFormat -
Detect which tool generated
contentwithout performing a full parse. -
isFullyVerified(
RipLog log) → bool -
Returns
trueif every track inlogwas accurately ripped. -
parseRipLog(
String content) → RipLog -
Parse a rip log from its string
content. -
parseRipLogFile(
String filePath) → Future< RipLog> -
Parse a rip log from a file at
filePath. -
toJson(
RipLog log) → Map< String, dynamic> -
Convert
logto a JSON-compatible map. -
tracksWithArMismatch(
RipLog log) → List< RipLogTrack> -
Returns the subset of tracks in
logwhose AccurateRip status is AccurateRipStatus.mismatch. -
tracksWithErrors(
RipLog log) → List< RipLogTrack> -
Returns the subset of tracks in
logthat have any non-zero error counts.