Skip to content

Add --no-htoa option to skip Hidden Track One Audio ripping - #695

Open
mkoester wants to merge 1 commit into
whipper-team:developfrom
mkoester:feature/no-htoa
Open

mkoester wants to merge 1 commit into
whipper-team:developfrom
mkoester:feature/no-htoa

Conversation

@mkoester

Copy link
Copy Markdown

Summary

Adds a --no-htoa option to whipper cd rip that skips ripping Hidden Track
One Audio (HTOA) even when it is detected.

Motivation

On some drives, reading the pregap where HTOA lives is extremely slow, so a rip
that detects HTOA stalls on "track 0" and makes little to no progress —
effectively never finishing. This has been reported in #281 (rip stuck at
"track 0 of N", 0%) and is related to the drive-dependent pregap-reading
behaviour in #75. There is currently no way to opt out of HTOA ripping, so the
only workaround is to use a different drive or ripper for those discs.

--no-htoa lets users skip HTOA on such drives while still ripping the rest of
the disc normally. It defaults to off, so existing behaviour is unchanged
unless the flag is passed.

Behaviour

When HTOA is detected and --no-htoa is given, whipper logs that it is skipping
it and continues straight to track 1:

INFO:whipper.command.cd:found Hidden Track One Audio from frame 0 to 17481
INFO:whipper.command.cd:skipping Hidden Track One Audio (--no-htoa)

Without the flag, behaviour is unchanged (HTOA is ripped as before).

Testing

  • Full test suite passes: python3 -m unittest discover → Ran 117 tests ... OK.
  • Manually verified on a disc with HTOA: without --no-htoa the rip stalls
    indefinitely on "track 0"; with the flag it logs the skip, rips all remaining
    tracks, and they AccurateRip-verify clean.

I did not add an automated test for the flag itself: the option only gates the
HTOA branch inside Rip.rip(), which drives the full cdparanoia pipeline and
has no existing unit-test harness (no rip-flow or rip-option is currently
covered). Happy to add coverage if you can point me at the preferred approach.

Docs

man/whipper-cd-rip.rst documents the new option. CHANGELOG.md is left
untouched as it is generated at release time.

Signed-off-by: Mirko Köster git@mirkokoester.de
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Signed-off-by: Mirko Köster <git@mirkokoester.de>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mkoester
mkoester marked this pull request as ready for review July 21, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant