Replace VideoTools-focused docs with VT Player GTK/MPV documentation: - TODO.md: Comprehensive roadmap for GTK player features - DONE.md: Detailed v0.2.0-dev1 completion summary Includes: - High/medium/low priority features - Technical debt tracking - Known issues - Complete implementation details - Code metrics and performance data - Platform support matrix 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
6.6 KiB
6.6 KiB
VT Player TODO
This file tracks upcoming features, improvements, and known issues for the GTK/MPV-based dual-pane video player.
Current Focus: GTK Player with MPV
High Priority Features
Playback Controls
- Add seek bar/slider for timeline scrubbing
- Add current time / duration display
- Add playback speed control (0.25x, 0.5x, 1x, 2x, etc.)
- Add volume controls (currently no UI for volume)
- Add mute toggle button
- Add fullscreen mode toggle
- Keyboard shortcuts for playback control
- Space: Play/Pause
- Left/Right arrows: Seek backward/forward
- Up/Down arrows: Volume
- F: Fullscreen
- 0: Seek to start
- , and .: Frame step backward/forward
Video Management
- Add "Clear Left" and "Clear Right" buttons
- Add video swap button (swap left and right panes)
- Add playlist panel showing loaded videos
- Add "Remove from playlist" option
- Save/load playlist functionality
- Remember last loaded videos on startup
Drag & Drop Improvements
- Show visual feedback during drag hover
- Support dropping onto specific pane (left or right)
- Support dropping video onto empty space to open file dialog
- Handle multiple files dropped simultaneously (load into queue)
Sync Features
- Add sync lock toggle (when enabled, both videos seek/play together)
- Add offset adjustment (sync videos with time offset)
- Visual indicator when videos are synced
- Smart sync based on similar durations
Display & Layout
- Add video zoom controls (fit, fill, actual size)
- Add aspect ratio override options
- Add grid overlay option for alignment checking
- Add split position slider (adjust left/right pane sizes)
- Add vertical split mode option
- Add single-pane mode (hide one side)
- Dark theme refinements and color scheme options
File Information
- Show more video metadata in info label
- Codec details
- Bitrate
- File size
- Frame rate
- Add tooltip on hover showing full file path
- Add metadata panel (collapsible)
Medium Priority Features
Export & Comparison
- Screenshot capture for current frame (both panes or individual)
- Export comparison frame (side-by-side screenshot)
- Export difference map (visual difference between frames)
- Frame-by-frame comparison mode with metrics (SSIM, PSNR)
Performance
- Hardware decoding options (VA-API, VDPAU, NVDEC)
- Configurable preview quality (for smoother playback on slower systems)
- Memory usage optimization for long videos
- Cache recently viewed frames
Settings & Configuration
- Settings dialog
- Default window size
- Default playback behavior (auto-pause on load, etc.)
- Hardware acceleration preferences
- Preview thumbnail settings
- Auto-sync settings
- Save/restore window position and size
- Remember last used pane assignments
Audio
- Audio track selection (for multi-track videos)
- Audio visualization (waveform or spectrum)
- Audio sync offset adjustment
- Independent audio muting per pane
Low Priority / Future Features
Advanced Playback
- A-B loop (repeat between two points)
- Slow-motion playback with frame interpolation
- Chapter support (if video has chapters)
- Bookmark/marker system for quick navigation
Video Analysis
- Histogram display
- Vectorscope display
- Waveform monitor
- Scopes in separate window or overlay
Filters & Effects
- Real-time color adjustment (brightness, contrast, saturation)
- Deinterlacing toggle
- Rotate/flip controls
- Crop preview
Batch Operations
- Batch screenshot export (every N frames)
- Batch comparison report generation
- Export comparison video (both videos side-by-side in single file)
File Management
- Recent files list
- Favorite files/folders
- File browser panel
- Watch folder (auto-load new videos from folder)
Collaboration Features
- Export playback session (timestamps, notes)
- Import playback session
- Notes/comments system with timestamps
- Export comparison report (PDF/HTML)
Technical Debt & Improvements
Code Quality
- Add unit tests for core functionality
- Add integration tests for mpv wrapper
- Improve error handling and user feedback
- Add comprehensive logging system
- Refactor main.go into multiple files/packages
- Split UI code from logic
- Separate pane management
- Separate playlist management
- Separate mpv wrapper improvements
Build & Distribution
- Create proper installation script
- Create .desktop file for Linux
- Add to Linux app stores (Flathub, Snap Store)
- Package as AppImage
- Create .deb and .rpm packages
- Test on different Linux distributions
- Test on different desktop environments (GNOME, KDE, XFCE)
Documentation
- User guide with screenshots
- Keyboard shortcuts reference card
- Video tutorial (getting started)
- Contributing guide
- Architecture documentation
- API documentation for mpvembed package
Platform Support
- Test Wayland compatibility (currently uses X11)
- Test on macOS (via XQuartz)
- Windows support evaluation
- Test GTK3 on Windows
- Test MPV embedding on Windows
- Create Windows installer
Known Issues
Critical
- None currently
Minor
- No visual feedback when drag-and-drop is active
- Window title doesn't update with loaded video names
- No warning when closing with videos loaded
- Metadata display truncates long filenames
Enhancement Needed
- Better error messages when MPV fails to load video
- Improve startup time for large video files
- Add progress indicator for video loading
- Better handling of unsupported video formats
Research & Investigation
- Investigate MPV render API for better integration
- Research best practices for video sync across players
- Explore frame-accurate seeking optimizations
- Investigate color management and HDR support
- Research subtitle rendering options
- Evaluate audio normalization for comparison mode
Completed (See DONE.md)
- ✅ Basic GTK player with MPV embedding
- ✅ Dual-pane layout with independent playback
- ✅ Drag-and-drop file loading
- ✅ Basic playback controls (play, pause, seek, frame step)
- ✅ Video playlist tracking with IDs
- ✅ Metadata display (resolution, duration, position)
- ✅ CGO/MPV render context implementation
Last Updated: 2025-12-15