Phase 03 functional tools - #8
Merged
Merged
Conversation
- Create SplitPanel with media player-like interface - Add timeline scrubber with frame navigation - Implement play/pause controls with speed adjustment - Add visual frame selection with start/end markers - Create interactive timeline with drag-and-drop selection - Add frame preview with canvas display - Implement split options (format, quality, naming pattern) - Add auto-loading of GIF from main dashboard - Update main.py to handle split tool with directory output - Fix ttk.Frame inheritance and grid layout issues Features: - Professional media player interface - Timeline with visual frame selection - Play/pause with speed control (0.1x to 3.0x) - Frame-by-frame navigation - Start/end marker selection - Real-time selection info display - Multiple output formats (PNG, JPG, BMP, TIFF) - Quality control for lossy formats - Custom naming patterns - Auto-loading from main dashboard The split tool now provides a professional video editor-like experience for selecting and extracting specific frame ranges from GIFs.
- Fix naming pattern format from 'frame_{:04d}' to 'frame_{index:04d}'
- Remove invalid 'quality' parameter from split_gif function call
- Add progress callback support to split_gif function
- Update GifSplitter.split method to accept progress_callback
- Add progress updates in _split_frames method
- Fix split tool to output individual image files instead of GIF
The split tool now correctly outputs individual PNG/JPG/BMP/TIFF files
with proper naming patterns and progress tracking.
- Remove popup message when loading GIF in split tool - Remove unused 'Batch Process' button from main toolbar - Remove unused 'Process' button from main toolbar - Remove unused batch processing methods (open_batch_dialog, process_file, etc.) - Remove 'Batch Process' from File menu - Keep functional buttons in split tool (Play/Pause, Stop, Load GIF) - Streamline interface to focus on working tools The interface is now cleaner with only functional elements visible.
- Remove create_batch_tools_tab method entirely - Remove call to create_batch_tools_tab in main content - Fix 'GifToolsApp' object has no attribute 'open_batch_resize_dialog' error - Simplify interface to only show working tools The application now starts without errors and only shows functional tools.
Split Modes: 1. Split into Two GIFs - Creates two separate GIF files at selected frame 2. Extract Selected Region - Creates new GIF with only selected frames 3. Remove Selected Region - Creates new GIF with everything except selected frames Features: - Radio button selection for split modes - Dynamic UI that shows/hides format options based on mode - Split into Two GIFs: Outputs 2 GIF files (part1.gif, part2.gif) - Extract Selected Region: Outputs 1 GIF file with selected frames - Remove Selected Region: Outputs 1 GIF file without selected frames - Progress tracking for all modes - Proper GIF preservation with durations and disposal Technical Implementation: - Added split_into_two, extract_region, remove_region methods to GifSplitter - Updated split panel UI with mode selection - Modified main.py to handle different split modes - Added proper GIF saving with disposal=2, transparency=0 - Progress callbacks for all operations The split tool now provides professional video editor-like functionality for creating multiple GIFs or extracting/removing specific regions.
Split into Two GIFs Mode: - Show single split point instead of region selection - Orange split line with 'SPLIT' label on timeline - Display 'Part 1: X frames | Part 2: Y frames' info - Click timeline to set split point - No format options (always outputs GIF) Extract/Remove Selected Region Modes: - Show region selection with green/red markers - Display 'Selected: X frames' info - Show format options (GIF, PNG, JPG, etc.) - Drag to select frame ranges UI Improvements: - Dynamic timeline display based on selected mode - Smart selection info updates - Proper mode-specific settings handling - Fixed process_btn reference errors The split tool now provides intuitive interfaces for each mode: - Simple split point for dividing GIFs - Region selection for extracting/removing parts
- Implement split tool with media player interface and timeline - Add three split modes: Split into Two GIFs, Extract Selected Region, Remove Selected Region - Fix string division error in split tool execution - Remove output format options, always output GIF files - Update README.md with latest progress and correct repository URL - Update project status with current phase completion - Fix Path object handling in split tool functions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.