Skip to content

Various enhancements for ripping TV shows#71

Draft
chris-peterson wants to merge 1 commit intomapitman:mainfrom
chris-peterson:cpeterson-tv-features
Draft

Various enhancements for ripping TV shows#71
chris-peterson wants to merge 1 commit intomapitman:mainfrom
chris-peterson:cpeterson-tv-features

Conversation

@chris-peterson
Copy link

@chris-peterson chris-peterson commented Feb 23, 2026

Summary

This release improves the ripping and encoding pipeline with better error handling, a new interactive preview mode, and several quality-of-life features for TV series workflows.

Features

  • Interactive preview mode shows a detailed rip plan before starting, with options to edit title, rename output files, change episode start, and select/deselect individual titles
  • Auto-detect season number from the output directory name (e.g., Season 2 or S02)
  • Auto-detect episode start number from existing files in the output directory, so multi-disc TV series continue numbering automatically
  • Encoding failures now turn the progress bar red and freeze elapsed/remaining timers
  • Failed encoding log file paths are shown alongside error details for easier debugging
  • Retrying failed encodes now displays a new progress session instead of running silently
  • Original language audio track is now preserved alongside English audio (first track heuristic), so foreign-language discs retain their primary audio

Fixes

  • Fix intermittent ffprobe JSON parse errors caused by a process stdout race condition — Process.Exited event fired before all OutputDataReceived events were delivered; now uses the two-call WaitForExitAsync + WaitForExit drain pattern
  • Add ffprobe retry logic (3 attempts with 1s delay) as a safety net for transient read failures

Testing

Error Details

image

Preview

image

@mapitman mapitman marked this pull request as draft February 23, 2026 18:42
@chris-peterson chris-peterson force-pushed the cpeterson-tv-features branch 11 times, most recently from 4e03233 to 1c10826 Compare March 2, 2026 15:09
…ncoding

- --preview: show rip plan table and confirm before proceeding
- --error prompt|ignore: retry/continue/abort on failures (default: prompt)
- Error prompts now display stderr details and log file paths for both
  ffmpeg and MakeMKV failures (previously just "encoding failed")
- ffmpeg stderr captured to log files in temp directory for post-mortem
- EncodeAsync returns EncodeOutcome (exit code, error lines, log path)
  instead of bare bool
- TV mode auto-detects season from output directory or disc name
- TV mode auto-detects episode start from existing files in output dir
- --concurrency N: run multiple encode workers in parallel (1-8)
- Extract TitlePlan to shared model
@chris-peterson chris-peterson force-pushed the cpeterson-tv-features branch from 1c10826 to 6813d05 Compare March 3, 2026 17:10
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