Tags: iTroy0/WebP-Converter
Tags
v2.1: bug fixes, UX overhaul, drop moviepy for direct ffmpeg Bug fixes: - Fix thread-safety: snapshot all tkinter vars on main thread before dispatching to worker threads - Fix video clip resource leak (ffmpeg process not closed on error) - Fix GIF export leaking file handles - Fix progress bar inaccuracy in combine mode - Fix preview compositing ignoring disposal methods - Clamp custom resolution to 7680px max to prevent memory exhaustion - Validate and sanitize all values loaded from settings.json - Move settings file to platform config dir (%APPDATA% / ~/.config) - Pin dependency versions in requirements.txt UX improvements: - Add cancel button (Escape) that kills ffmpeg instantly mid-encode - Add per-file status indicators in queue (converting/done/error) - Add keyboard shortcuts: Ctrl+O add files, Delete remove, Escape cancel - Click-to-toggle preview playback (replaces undiscoverable hover) - Show file count in queue header - Hide custom resolution fields when not in Custom mode - Lock add/clear controls during conversion - Clamp toast notifications to screen bounds - Clickable empty queue state opens file picker Architecture: - Replace moviepy with direct ffmpeg subprocess via imageio-ffmpeg (instant cancel, smaller build, fewer dependencies) - Remove ThreadPoolExecutor (PIL resize is GIL-bound, no benefit) - Cross-platform fonts (Segoe UI / SF Pro / sans-serif) - Guard private customtkinter API with try/except - Deduplicate aspect_fit / make_even logic - Remove dead code (_resume_preview) New files: - start.sh: Linux/macOS interactive launcher/builder - app_icon.ico: app icon matching the cyan/dark theme
Update webp_converter_gui.py 1.Enhanced Progress Bar a. Implemented a smooth, animated progress bar that updates in b. real-time during the conversion process. c. Displays detailed status messages, such as "Extracting frames" and "Encoding video," to inform users of the current operation. 2.Custom Resolution Support a. Added the ability for users to specify custom output resolutions. b. Users can input desired width and height values for the output video or GIF.
Update webp_converter_gui.py. features, improvements and bug fixes ✅ 1. Added GIF Export Support Your app can now export to .gif format, not just .mp4, .mkv, .webm. adjusted arguments for best possible quality for .gif files ✅ 2. Adjustment to UI You can now resize the window (both width and height freely). Minimized restriction on minimum size. Adjust spacings Set some order into the UI ✅ 3. Widened the Animation Preview Previews of selected WebPs are now bigger (400x400 instead of 300x300). ✅ 4. Multithreaded Frame Extraction Frame saving during extraction now happens with multi-core (ThreadPoolExecutor). Speeds up frame extraction dramatically for big WebPs. ✅ 5. Resolution Preset Dropdown A new dropdown was added to the settings panel with the label: “Resolution Preset:” The options in the dropdown are: "Same Resolution" (default) "480p" "720p" "1080p" "4K" ✅ 6. Compression Quality Setting (CRF Slider) Added a CRF slider: range from 18 (high quality) to 30 (more compression) defaults 22 ✅ 7. FPS Slider range from 1 to 60 defaults 16 ✅ 8. Bug fixes Make open_output_folder() cross-platform it was windows only
Update webp_converter_gui.py. features, improvements and bug fixes ✅ 1. Added GIF Export Support Your app can now export to .gif format, not just .mp4, .mkv, .webm. adjusted arguments for best possible quality for .gif files ✅ 2. Adjustment to UI You can now resize the window (both width and height freely). Minimized restriction on minimum size. Adjust spacings Set some order into the UI ✅ 3. Widened the Animation Preview Previews of selected WebPs are now bigger (400x400 instead of 300x300). ✅ 4. Multithreaded Frame Extraction Frame saving during extraction now happens with multi-core (ThreadPoolExecutor). Speeds up frame extraction dramatically for big WebPs. ✅ 5. Resolution Preset Dropdown A new dropdown was added to the settings panel with the label: “Resolution Preset:” The options in the dropdown are: "Same Resolution" (default) "480p" "720p" "1080p" "4K" ✅ 6. Compression Quality Setting (CRF Slider) Added a CRF slider: range from 18 (high quality) to 30 (more compression) defaults 22 ✅ 7. FPS Slider range from 1 to 60 defaults 16 ✅ 8. Bug fixes Make open_output_folder() cross-platform it was windows only