• v0.1.0-dev10 103d8ded83

    Add comprehensive encoder settings and fix window layout (v0.1.0-dev10)

    Ghost released this 2025-11-24 01:17:17 +00:00 | 510 commits to master since this release

    Advanced Mode Encoder Settings:

    • Added full video encoding controls: codec (H.264/H.265/VP9/AV1), encoder preset,
      manual CRF, bitrate modes (CRF/CBR/VBR), target resolution, frame rate,
      pixel format, hardware acceleration (nvenc/vaapi/qsv/videotoolbox), two-pass
    • Added audio encoding controls: codec (AAC/Opus/MP3/FLAC), bitrate, channels
    • Created organized UI sections in Advanced tab with 13 new control widgets
    • Simple mode remains minimal with just Format, Output Name, and Quality preset

    Snippet Generation Improvements:

    • Optimized snippet generation to use stream copy for fast 2-second processing
    • Added WMV detection to force re-encoding (WMV codecs can't stream-copy to MP4)
    • Fixed FFmpeg argument order: moved -t 20 after codec/mapping options
    • Added progress dialog for snippets requiring re-encoding (WMV files)
    • Snippets now skip deinterlacing for speed (full conversions still apply filters)

    Window Layout Fixes:

    • Fixed window jumping to second screen when loading videos
    • Increased window size from 920x540 to 1120x640 to accommodate content
    • Removed hardcoded background minimum size that conflicted with window size
    • Wrapped main content in scroll container to prevent content from forcing resize
    • Changed left column from VBox to VSplit (65/35 split) for proper vertical expansion
    • Reduced panel minimum sizes from 520px to 400px to reduce layout pressure
    • UI now fills workspace properly whether video is loaded or not
    • Window allows manual resizing while preventing auto-resize from content changes

    Technical Changes:

    • Extended convertConfig struct with 14 new encoding fields
    • Added determineVideoCodec() and determineAudioCodec() helper functions
    • Updated buildConversionCommand() to use new encoder settings
    • Updated generateSnippet() with WMV handling and optimized stream copy logic
    • Modified buildConvertView() to use VSplit for flexible vertical layout

    🤖 Generated with Claude Code

    Co-Authored-By: Claude noreply@anthropic.com

    Downloads