• v0.1.0-dev18 4616dee10a

    Release v0.1.0-dev18 - History Sidebar & Command Preview

    stu released this 2025-12-18 15:34:11 +00:00 | 229 commits to master since this release

    Major 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