File dialog improvements:
- Add video file filters (*.mp4, *.mkv, etc.) so files are visible
- Add "All Files" filter as fallback
- Make dialog modal with Cancel button
- Improve usability with proper MIME type filtering
Drag-and-drop improvements:
- Use net/url.Parse for proper URL decoding (%20 for spaces, etc.)
- Handle file:// URIs correctly with localhost stripping
- Add comprehensive debug logging throughout load chain
Debug logging added to:
- uriToPath() - shows URI parsing
- loadIntoPane() - tracks load progress and MPV errors
- drag-data-received - shows received URIs
- file dialog - logs selected files
These changes should fix both file navigation in dialogs and
drag-and-drop video loading from file managers.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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>
Vendor gotk3 library to ensure consistent GTK3 bindings across
environments and simplify dependency management.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Fix render.go CGO type assignments using plain uint32 casts
- Add video playlist tracking with unique IDs
- Improve drag-and-drop: assign to first available pane
- Add parseURIs with crash protection for drag data
- Improve mpv initialization handling
- Update .gitignore for build artifacts (.cache, gtkplayer binary)
- Improve GDK_BACKEND handling in run script
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created render.go with CGO bindings for mpv_render_context:
- NewRenderContext: Create render context with parameters
- SetUpdateCallback: Register frame update callbacks
- Render: Issue render calls with FBO/dimension params
- Fixed CGO type conversions (int vs mpv_render_param_type)
This enables hardware-accelerated OpenGL rendering of MPV video
frames in the GTK player.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Changed playlist visibility from auto-showing when multiple videos
to hidden by default. Users can toggle it with the menu (☰) button.
This gives a cleaner video player experience without the playlist
taking up screen space.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The TappableOverlay was added to the entire stage container, which
made it cover the video AND all control buttons below. This invisible
overlay intercepted all mouse events, preventing buttons from working.
Temporarily disabled the overlay to restore button functionality.
Will need to reimplement properly as floating controls that only
overlay the video area, not the UI controls.
Fixes:
- Play/pause button now clickable
- Volume controls now work
- All other UI buttons functional
- Keyboard shortcuts (Space, F11, ESC) still work
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>