diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fb1e80..6a4a014 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to MakeMKV Auto Rip will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Added + +- **Maximum title length** - New optional `ripping.max_title_length_minutes` setting skips titles longer than the limit, such as "play all" titles on TV discs + - With `rip_all_titles: true`, every title within the limit is ripped; otherwise the longest title within the limit is ripped + - Discs with no title within the limit are skipped + - Configurable from the web UI config page + ## [1.0.0] - 2025-08-12 ### Added diff --git a/README.md b/README.md index fe815bc..64fdcc7 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,9 @@ ripping: # Rip all titles from disc instead of just the main title (true/false) rip_all_titles: false + # Optional maximum title duration in minutes; titles longer than this are skipped + # max_title_length_minutes: 60 + # Ripping mode - async for parallel processing, sync for sequential (async/sync) mode: "async" @@ -279,6 +282,7 @@ makemkv: - **`drives.auto_eject`** - Auto-eject drives after ripping completion (`true` or `false`) - **`drives.load_delay`** - Delay time (in seconds) when loading drives, allows time for manual drive closing (`0` to disable, default: `0`) - **`ripping.rip_all_titles`** - Rip all titles that are above MakeMKV min length (`true`) or longest title only (`false`) +- **`ripping.max_title_length_minutes`** - Optional maximum duration for selected titles; titles over this limit are skipped. Omit or comment out to disable. - **`ripping.mode`** - Ripping mode (`"async"` for parallel processing or `"sync"` for sequential processing) - **`mount_detection.wait_timeout`** - Maximum time (in seconds) to wait for drives to mount media before starting rip (`0` to disable, default: `10`) - **`mount_detection.poll_interval`** - Polling interval (in seconds) to check for newly mounted drives (default: `1`) diff --git a/config.yaml b/config.yaml index 6ee46bf..335a022 100644 --- a/config.yaml +++ b/config.yaml @@ -40,6 +40,8 @@ mount_detection: ripping: # Rip all titles (over the MakeMKV minimum length) from disc instead of just the longest title (true/false) rip_all_titles: false + # Optional maximum title duration in minutes; titles longer than this are skipped (uncomment to enable) + # max_title_length_minutes: 60 # Ripping mode - async for parallel processing, sync for sequential (async/sync) mode: "async" diff --git a/public/config.html b/public/config.html index 79cdc33..4c49aba 100644 --- a/public/config.html +++ b/public/config.html @@ -337,6 +337,24 @@

🎯 Ripping Behavior

+
+ + + + Skip titles longer than this, e.g. a "play all" title on a + TV disc (leave empty for no limit) + +
+