Commit Graph

7 Commits

Author SHA1 Message Date
Stu
5e902262c5 Improve build script: remove aggressive cache cleaning and add auto dependency check
Changes:
- Removed -modcache flag that was deleting Go modules unnecessarily
- Changed from -cache -modcache -testcache to just go clean
- Added automatic system dependency detection (X11 libs)
- Will attempt to install missing deps automatically if found
- Keeps Go module cache intact between builds for faster compilation

This fixes the issue where builds would fail after cache cleaning due to
missing Go modules, while still checking for required system libraries.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-09 12:08:58 -05:00
Stu
b73beb1fef Add fullscreen mode with F11 and ESC keyboard shortcuts
Implements basic fullscreen toggle functionality for immersive video playback.

Fullscreen Features:
- F11 key toggles fullscreen on/off
- ESC key exits fullscreen mode
- Window.SetFullScreen() for native fullscreen
- isFullscreen state tracking in appState

Keyboard Shortcuts:
- F11: Toggle fullscreen (globally available)
- ESC: Exit fullscreen (only when in fullscreen mode)
- Shortcuts work from any screen in the app

Implementation:
- Added isFullscreen bool to appState
- Created toggleFullscreen() method
- Global keyboard handler in runGUI()
- SetOnTypedKey handles F11 and ESC

Usage:
1. Load a video in VT_Player
2. Press F11 to enter fullscreen
3. Press F11 or ESC to exit fullscreen

Next Steps:
- Add fullscreen button to player controls
- Auto-hide controls after 3 seconds in fullscreen
- Show controls on mouse movement in fullscreen
- Double-click video to toggle fullscreen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:19:44 -05:00
Stu
30899b3512 Add Windows 11 compatibility and cross-platform build system
Ports Windows compatibility improvements from VideoTools to enable
VT_Player to build and run on Windows 11 alongside VideoTools.

Build System Enhancements:
- Universal build script auto-detects platform (Linux/macOS/Windows)
- Platform-specific build routing (build-linux.sh for Unix)
- Windows: Builds vt_player.exe with GUI flags (-H windowsgui)
- Windows: Automatic FFmpeg PATH detection
- Shares dependencies with VideoTools installation

Windows Console Hiding:
- Created internal/utils/proc_windows.go (Windows-specific)
- Created internal/utils/proc_other.go (Linux/macOS no-op)
- ApplyNoWindow() hides FFmpeg/ffprobe console windows on Windows
- Provides clean GUI experience without console popups

Cross-Platform Support:
- Build flags adapt to target platform automatically
- Go build tags for platform-specific code
- CGO enabled for all platforms (required by Fyne)
- Tested on Linux, ready for Windows 11

Documentation:
- WINDOWS_COMPATIBILITY.md: Complete Windows setup guide
- Explains dependency sharing with VideoTools
- Troubleshooting section for common issues
- Platform-specific build flag documentation

Benefits for Jake's Windows 11 Environment:
- Uses same MinGW-w64 toolchain as VideoTools
- Uses same FFmpeg installation (already on PATH)
- No additional dependency installation needed
- Build process identical to VideoTools

Technical Details:
- Windows GUI binary: vt_player.exe (~45MB)
- Linux/macOS binary: vt_player (~32MB)
- All platforms use CGO for Fyne OpenGL bindings
- syscall.SysProcAttr{HideWindow: true} for Windows processes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 11:10:57 -05:00
Stu
eaea93e0e6 Initial import for VT Player 2025-12-04 05:03:02 -05:00
292da5c59e Add cross-platform dependency installation and build scripts
Linux:
- install-deps-linux.sh: Auto-detect distro and install dependencies
  - Supports Fedora, Ubuntu, Arch, openSUSE
  - Installs Go, GCC, OpenGL, X11, ALSA, ffmpeg
  - Verification checks after installation

Windows:
- install-deps-windows.ps1: PowerShell dependency installer
  - Supports Chocolatey and Scoop package managers
  - Installs Go, MinGW (GCC), ffmpeg, Git
  - Admin and user-level installation options
  - GPU detection for NVIDIA/Intel/AMD

- build.ps1: Windows build script with error handling
  - Clean build option
  - Dependency verification
  - GPU detection and NVENC notification
  - File size reporting

Documentation:
- scripts/README.md: Comprehensive guide for both platforms
  - Installation instructions
  - Build commands and options
  - Troubleshooting section
  - GPU encoding setup
  - Development workflow

Prepares VideoTools for Windows users (Jake!) in dev14
2025-12-02 18:19:33 -05:00
1187a77f43 Fix convert layout stacking and cgo build 2025-11-30 00:01:06 -05:00
ce60508480 Add build/run scripts and fix DVD options visibility
Added scripts folder with three convenience scripts:
  • scripts/build.sh - Clean build with dependency verification
  • scripts/run.sh - Run application (auto-builds if needed)
  • scripts/alias.sh - Create 'VideoTools' command alias

Usage:
  source scripts/alias.sh
  VideoTools              # Run app
  VideoToolsRebuild       # Force rebuild
  VideoToolsClean         # Clean artifacts

Fixed main.go DVD options:
  • Fixed callback ordering so updateDVDOptions is called on format selection
  • DVD aspect ratio selector now appears when DVD format is selected
  • DVD info display shows specs for NTSC and PAL formats
  • Works in both Simple and Advanced tabs

DVD options are now fully functional in the UI.
2025-11-29 19:53:47 -05:00