VideoTools/internal
Stu Leak 86d2f2b835 Add progress bars to In Progress tab and fix lossless quality compatibility
In Progress Tab Enhancements:
- Added animated striped progress bars to in-progress jobs
- Exported ModuleColor function for reuse across modules
- Shows real-time progress (0-100%) with module-specific colors
- Progress updates automatically as jobs run
- Maintains consistent visual style with queue view

Lossless Quality Preset Improvements:
- H.265 and AV1 now support all bitrate modes with lossless quality
- Lossless with Target Size mode now works for H.265/AV1
- H.264 and MPEG-2 no longer show "Lossless" option (codec limitation)
- Dynamic quality dropdown updates based on selected codec
- Automatic fallback to "Near-Lossless" when switching from lossless-capable
  codec to non-lossless codec

Quality Options Logic:
- Base options: Draft, Standard, Balanced, High, Near-Lossless
- "Lossless" only appears for H.265 and AV1
- codecSupportsLossless() helper function checks compatibility
- updateQualityOptions() refreshes dropdown when codec changes

Lossless + Bitrate Mode Combinations:
- Lossless + CRF: Forces CRF 0 for perfect quality
- Lossless + CBR: Constant bitrate with lossless quality
- Lossless + VBR: Variable bitrate with lossless quality
- Lossless + Target Size: Calculates bitrate for exact file size with
  best possible quality (now allowed for H.265/AV1)

Technical Implementation:
- Added Progress field to ui.HistoryEntry struct
- Exported StripedProgress widget and ModuleColor function
- updateQualityOptions() function dynamically filters quality presets
- updateEncodingControls() handles lossless modes per codec
- Descriptive hints explain each lossless+bitrate combination

This allows professional workflows where lossless quality is desired
but file size constraints still need to be met using Target Size mode.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 18:27:24 -05:00
..
app Remove unused import in dvd adapter 2025-12-09 11:41:07 -05:00
benchmark Fix benchmark progress bar percentage calculation 2025-12-13 14:04:20 -05:00
convert Normalize MP4 format label, improve log readability, and prep reduction display 2025-12-08 18:46:34 -05:00
interlace Add interlacing analysis UI to Convert module 2025-12-13 16:43:05 -05:00
logging Refactor to modular architecture with rainbow UI (v0.1.0-dev8) 2025-11-23 14:56:37 -05:00
metadata Add queue error copy, auto naming helper, and metadata templating 2025-12-07 12:03:21 -05:00
modules Complete dev18: Thumbnail enhancements, Player/Filters/Upscale modules, and precise snippet generation 2025-12-15 15:36:24 -05:00
player Improve queue system reliability and add auto-resolution for DVD formats 2025-11-29 20:07:35 -05:00
queue Fix queue stats to properly distinguish cancelled from failed jobs 2025-12-17 14:25:18 -05:00
thumbnail Import json/strconv for thumbnail ffprobe parsing 2025-12-17 19:09:43 -05:00
ui Add progress bars to In Progress tab and fix lossless quality compatibility 2025-12-18 18:27:24 -05:00
utils Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00