Add animated transition preview support

Technical Implementation Details

  • Added TransitionIconDelegate class for rendering animated GIF previews in QListView

    • Handles both animated GIF and static PNG previews
    • Implements custom painting with proper scaling and centering
    • Manages QMovie instances with frame change notifications
  • Integrated preview generation system

    • Added Python script (generate_transition_previews.py) for MLT-based preview generation
    • Script uses melt command to create GIF previews between colored clips
    • Supports parallel generation with configurable dimensions
  • Enhanced TransitionListWidget functionality

    • Added "Generate Previews" button to toolbar
    • Implemented preview directory management using QStandardPaths
    • Added debug logging for preview loading and generation
  • Improved UI/UX

    • Added fallback static previews when GIFs aren't available
    • Implemented proper view refresh on preview generation
    • Added progress feedback during preview generation

Technical Notes

  • For now if you look at the transitionlistwidget.cpp, the script path is hardcoded, needs to be changed
  • Preview GIFs are stored in ~/.local/share/kdenlive/transitions/previews/
  • Default preview size: 320x180 pixels
  • Uses MLT's built-in transitions for preview generation

Merge request reports

Loading