• v0.1.0-dev9 183602a302

    Add drag-and-drop, fix cover art encoding, extract embedded thumbnails (v0.1.0-dev9)

    Ghost released this 2025-11-23 23:46:51 +00:00 | 548 commits to master since this release

    Drag-and-Drop on Main Menu:

    • Implemented position-based drop detection on main menu module tiles
    • Added detectModuleTileAtPosition() to calculate which tile receives the drop
    • Modified window drop handler to pass position and route to appropriate module
    • Bypasses Fyne's drop event hierarchy limitation where window-level handlers
      intercept drops before widgets can receive them
    • Only enabled tiles (currently Convert) respond to drops
    • Loads video and switches to module automatically

    Cover Art Embedding Fixes:

    • Fixed FFmpeg exit code 234 error when embedding cover art
    • Added explicit PNG codec specification for cover art streams
    • Snippet generation: Added -c:v:1 png after mapping cover art stream
    • Full conversion: Added -c:v:1 png for proper MP4 thumbnail encoding
    • MP4 containers require attached pictures to be PNG or MJPEG encoded

    Embedded Cover Art Extraction:

    • Added EmbeddedCoverArt field to videoSource struct
    • Extended ffprobe parsing to detect attached_pic disposition
    • Automatically extracts embedded thumbnails when loading videos
    • Extracted cover art displays in metadata section (168x168)
    • Enables round-trip workflow: generate snippet with thumbnail, load snippet
      and see the embedded thumbnail displayed

    Technical Details:

    • Modified handleDrop to accept position parameter
    • Added Index and Disposition fields to ffprobe stream parsing
    • Cover art streams now excluded from main video stream detection
    • Grid layout: 3 columns, ~302px per column, ~122px per row, starts at y=100
    • Embedded thumbnails extracted to /tmp/videotools-embedded-cover-*.png

    🤖 Generated with Claude Code

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

    Downloads