-
Release v0.1.0-dev18 - History Sidebar & Command Preview
released this
2025-12-18 15:34:11 +00:00 | 229 commits to master since this releaseMajor Features:
- History sidebar with completed/failed job tracking
- FFmpeg command preview throughout the application
- Improved bitrate controls with better VBR/CBR accuracy
- Additional codec format options (AV1, WebM, MOV variants)
History Sidebar:
- Persistent job history with completion status tracking
- Tabbed interface: Completed vs Failed jobs
- Click entries to view full job details with FFmpeg command
- Color-coded status indicators
- Module badges for job type identification
- Timestamp display (Jan 2, 15:04 format)
- Toggle button in main menu (☰ History)
- Resizable split view with 20% default width
- Stored in ~/.videotools/history.json
Command Preview & Copy:
- Collapsible FFmpeg command preview in Convert module
- "Command Preview" toggle button to show/hide preview
- Real-time live updates as settings change
- Shows actual file paths instead of INPUT/OUTPUT placeholders
- Copy Command buttons in queue view (running/pending jobs)
- Copy Command in history details dialog
- Copy to clipboard with user feedback
Format & Codec Enhancements:
- MP4 (AV1): Modern efficient codec for MP4
- MKV (AV1): AV1 in flexible MKV container
- WebM (VP9): Google's VP9 codec for WebM
- WebM (AV1): AV1 in WebM container
- MOV (H.264): Compressed H.264 in QuickTime container
- MOV (H.265): Compressed H.265 in QuickTime container
Bitrate Control Improvements:
- Hide unused controls based on selected mode (CRF/CBR/VBR/Target Size)
- CBR: Set bufsize to 2x bitrate for better encoder handling
- VBR: Increased maxrate cap from 1.5x to 2x target bitrate
- VBR: Added bufsize at 4x target to enforce caps and prevent runaway bitrates
- VBR: Forced 2-pass encoding for accuracy
- Descriptive hints for each encoding mode
- Clean UI with only relevant controls visible
UI Improvements:
- History details dialog: Job info scrollable at top, FFmpeg command fixed at bottom
- Increased history dialog size to 750x650 for better visibility
- Removed standalone Logs button from main menu (accessible via queue)
- Module badges in history entries for quick identification
Bug Fixes:
- Fixed log viewer crash (panic: close of closed channel)
- Fixed duplicate close handlers in log viewer dialog
- Improved dialog layout preventing content overflow
Technical Implementation:
- HistoryEntry struct with comprehensive job metadata
- History persistence with JSON serialization
- BuildHistorySidebar with tabbed filtering
- Command preview with forward declaration pattern
- Live update hooks on all Convert module controls
- Container visibility management (Show/Hide pattern)
- Proper Fyne threading with closures
Use Cases:
- Track all completed and failed conversions
- Review exact FFmpeg commands used for jobs
- Copy commands for manual execution or debugging
- Preview commands before queuing jobs
- Fine-tune bitrate settings with confidence
This release focuses on transparency (command visibility), tracking (history), and reliability (better bitrate controls). Ready for Convert module cleanup in dev19.
🤖 Generated with Claude Code
Downloads