Add maximum chapter duration cap when splitting by chapter (#1680)#1808
Add maximum chapter duration cap when splitting by chapter (#1680)#1808CryptoJones wants to merge 4 commits into
Conversation
|
Thank you for the PR. The feature is scoped well: persistence, pipeline placement after Please address before merge
|
|
After making the layout fixes, please run classic (winforms) and chardonnay (avalonia) locally to get human eyes on it. AI can sometimes have a hard time getting visual/layout stuff correct. |
|
This pull request has been automatically marked as stale because it has not had any activity for 30 days. It will be closed in 14 days if no further activity occurs. If you're still working on this PR, please leave a comment to keep it open. |
|
Apologies for the delay — I've pushed a fix commit that addresses all three items: WinForms layout: Moved Help text units: Both User-facing accuracy: Verifying the layout visually now and will report back. |
|
Please hold this merge until human verification has been completed. |
Baseline main/master, original PR layout (broken), and fixed layout screenshots taken from a Windows 11 QEMU VM to verify the audiobook fix-ups layout change. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Visual verification complete — ran all three builds on a Windows 11 QEMU VM. Baseline Main/Master(no Max File Duration field — clean reference) Smoothbrain Claude's Original PR(Max File Duration field overlapping the Strip checkboxes — the layout bug) Slightly Less Smooth-Brained PR (mine)(fixed: checkboxes pushed down, no overlap) The layout is correct. All three reviewer requests (layout, help text units, behavioral accuracy wording) are addressed in commit |
|
Now manually testing Chardonnay. |
|
Chardonnay (Avalonia) visual verification — same Windows 11 QEMU VM. Note: the Avalonia UI uses Chardonnay — Baseline Main/Master(no Max File Duration field) Chardonnay — Fixed PR(Max File Duration in its own row, no overlap) |
|
Sorry for all the hassle with this PR. I have locked that Claude instance into a virtual environment where it plays Maria Carry's "All I want for Christmas" on a loop for eternity. |
|
I've sworn like a sailor to Gemini myself. :-D Lately to Claude as well, I've noticed the quality went down on it's coding lately. |
Adds a MaximumFileDuration setting: when splitting audiobooks by chapter, any chapter longer than the configured limit is divided into equal-length parts titled "Chapter (Part N of M)". Wired up in WinForms and Avalonia UIs, persisted in Configuration, and covered by unit tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Move stripUnabridgedCbox (Y 63→92) and stripAudibleBrandingCbox (Y 88→118) below the max-duration row so controls no longer overlap - Fix MinimumFileDuration help text: "minutes" → "seconds" - Fix MaximumFileDuration help text: "minutes" → "seconds"; replace "equal-length parts" with accurate description (last segment is shorter when chapter doesn't divide evenly) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Baseline main/master, original PR layout (broken), and fixed layout screenshots taken from a Windows 11 QEMU VM to verify the audiobook fix-ups layout change. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Audio File Settings tab screenshots from the Windows 11 QEMU VM: baseline upstream/master and fixed PR build. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
12cc143 to
32759be
Compare
|
Thank you for all the effort you put into this one. Heads up that I don't know when I'll be able to give it a proper review. I spent a lot of time on Libation last week so I'm falling behind on some stuff. It's my own fault. Now I need to play catch-up for a bit before doing the next big Libation thing. |
|
Does this change increase the minimum screen height? This Settings window cannot be resized beyond a certain point, we don't want to make it worse than it is. |
|
@wtanksleyjr Valid concern. I don't want to derail his work-in-progress. Would it be acceptable if I:
|
|
That's the ideal solution I think. |





Summary
MaximumFileDurationconfiguration setting (in seconds, default 0 = disabled)MaximumFileDuration > 0, any chapter longer than the limit is divided into equal-length parts(Part N of M)— e.g.Chapter 3 (Part 1 of 2)Changes
Configuration.PersistentSettings.cs— newMaximumFileDurationpropertyConfiguration.HelpText.cs— help/tooltip text for the new settingDownloadOptions.Factory.cs— newsplitLongChapters()method; called aftercombineShortChapters()in the split-by-chapter pipelineSettingsDialog.Designer.cs/SettingsDialog.AudioSettings.cs— WinForms UI: label + NumericUpDown in the audiobook fixups group, enabled/disabled with the Split by chapter checkboxAudioSettingsVM.cs/Audio.axaml— Avalonia MVVM binding and NumericUpDown row in the split-by-chapter gridDownloadDecryptBookTests.cs— 6 new unit tests forsplitLongChaptersTest plan
splitLongChaptersunit tests pass (no chapter split, exact limit, even split, uneven split, offset preservation, mixed-length list)Closes #1680
🤖 Generated with Claude Code