Commit Graph

142 Commits

Author SHA1 Message Date
d6c4f5da29 Do not change aspect on snippets unless user explicitly sets it 2025-12-09 01:16:53 -05:00
d1ba052a6d Apply current convert settings to snippets (scale/aspect/fps/bitrate/preset) 2025-12-09 01:13:21 -05:00
e4c09b15b3 Add VT helper scripts for 4K/1440p 60fps and smoothing 2025-12-09 00:57:48 -05:00
d9fa6f77f6 Add one-click AV1/HEVC helper scripts (sh/bat) 2025-12-09 00:53:56 -05:00
6ce55ec638 Add Windows clear-go-cache.bat helper 2025-12-09 00:51:11 -05:00
9dac96e7c7 Fix quoting in build-linux help line 2025-12-09 00:48:06 -05:00
7fea0da127 Mention clear-go-cache helper in build scripts 2025-12-09 00:43:00 -05:00
50fe10d9b3 Fix config reload and inspect status ticker build errors 2025-12-09 00:40:52 -05:00
048c906321 Add config load/save, queue/status in inspect, keep aspect default 2025-12-09 00:16:56 -05:00
c9a377e041 Fallback to software when auto hardware accel fails 2025-12-09 00:06:51 -05:00
44795b6951 Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
973df686f9 Update documentation 2025-12-08 23:33:31 -05:00
aff598c8b5 Default hardware accel to auto with helper selection 2025-12-08 23:28:47 -05:00
35a90bdcd6 Add simple bitrate/resolution/aspect controls and cache helper 2025-12-08 23:22:28 -05:00
a35049a6d8 Fallback bitrate uses source bitrate; add size/bitrate delta helpers 2025-12-08 22:26:06 -05:00
ffecea253f Remove regex warning in build script version detection 2025-12-08 20:51:40 -05:00
9d53f7b795 Remove unused origBytes to fix Windows build 2025-12-08 20:51:29 -05:00
9271f32376 Remove unused origBytes placeholder in compare metadata 2025-12-08 20:48:05 -05:00
d49c75ebf5 Suppress unused variable warning in compare metadata 2025-12-08 20:45:28 -05:00
674c1cd509 Fix formatting helpers: add math import and self-contained reduction formatting 2025-12-08 20:43:17 -05:00
9502722906 Ignore logs and cache directories 2025-12-08 20:39:46 -05:00
a61c75d477 Add default bitrate fallback for CBR and format family labeling 2025-12-08 20:36:37 -05:00
14d3959f4e Normalize MP4 format label, improve log readability, and prep reduction display 2025-12-08 18:46:34 -05:00
fed4139183 Shorten queue descriptions and wrap text to keep controls visible 2025-12-08 18:13:18 -05:00
8b75158923 Fix feedback bundler export and use utils.NewFeedbackBundler 2025-12-08 16:06:58 -05:00
009a5574fb Add metadata map to VideoSource and add MP4 H.265 preset 2025-12-08 16:02:53 -05:00
e0f5c1fca3 Show app version and diagnostics in build scripts 2025-12-08 16:00:02 -05:00
0e900e7ccb Fix feedback bundler import to restore build 2025-12-08 15:13:24 -05:00
03137bba29 Fix forward declarations for encoding/quality control helpers 2025-12-08 13:35:49 -05:00
7d9941745f Fix imports for grouped main menu build 2025-12-08 12:26:01 -05:00
a00fffd345 Add sort import for grouped main menu 2025-12-08 12:18:17 -05:00
2d0a865bc1 Group main menu by category and add logs access 2025-12-08 12:07:58 -05:00
c7690f7f61 Add log viewer buttons and live log refresh for conversions 2025-12-08 12:02:25 -05:00
8b872672f3 Move conversion logs to logs/ directory and surface logs in queue UI 2025-12-08 11:33:58 -05:00
6684052585 Add per-conversion logs and surface them in queue UI 2025-12-08 11:31:12 -05:00
cd71f39c53 Hide ffmpeg console windows on Windows and fix inspect clear button 2025-12-08 11:26:14 -05:00
04fc954be9 Make Windows build skip ffmpeg download when already on PATH 2025-12-07 12:41:46 -05:00
aa0c1959f6 Add queue error copy, auto naming helper, and metadata templating 2025-12-07 12:03:21 -05:00
9015ad7bab Add Windows helper scripts and conversion questionnaire 2025-12-07 11:37:45 -05:00
c160bb2ea4 Add horizontal/vertical flip and rotation transformations to Convert module
Implements video transformation features:
- Horizontal flip (mirror effect) using hflip filter
- Vertical flip (upside down) using vflip filter
- Rotation support: 90°, 180°, 270° clockwise using transpose filters

UI additions in Advanced mode:
- New "VIDEO TRANSFORMATIONS" section
- Two checkboxes for flip controls with descriptive labels
- Dropdown selector for rotation angles
- Hint text explaining transformation purpose

Filter implementation:
- Applied after aspect ratio conversion, before frame rate conversion
- Works in both queue-based and direct conversion paths
- Uses FFmpeg standard filters: hflip, vflip, transpose

Addresses user request to add flip/rotation capabilities inspired by Jake's script using -vf hflip.
2025-12-06 01:18:38 -05:00
41158765c9 Handle already-installed MSYS2 in build script
Check if MSYS2 is already present by looking for the bash executable,
even if winget reports it's already installed. This allows the script
to continue with GCC installation instead of failing.
2025-12-04 17:50:58 -05:00
76efd14768 Replace all emojis with ASCII status indicators
Replaced all emoji characters with standard ASCII status prefixes
to prevent encoding issues on Windows systems:
- ✓/ → [OK]/[ERROR]
- ⚠️ → [WARN]
- 📦/🔨/🧹/⬇️/📥 → [INFO]

This ensures the script works correctly on all Windows configurations
regardless of console encoding settings.
2025-12-04 17:29:33 -05:00
7f8f700c8a Escape parentheses in echo statements within if blocks
Batch files interpret unescaped parentheses as block delimiters,
causing "was unexpected at this time" errors and improper branch
execution. All parentheses in echo statements are now escaped with ^.
2025-12-04 17:28:26 -05:00
699d51189d Fix ERRORLEVEL evaluation in all conditional checks
Capture ERRORLEVEL values immediately after each command execution
to prevent delayed expansion issues in nested conditionals. This
fixes the "was unexpected at this time" error and ensures proper
branch execution.
2025-12-04 17:24:12 -05:00
57f902ee24 Improve Windows build script with comprehensive dependency checking
Enhanced build.bat to automatically detect and offer to install all
required dependencies for users with minimal Windows dev environment:

- Check for winget availability (required for auto-installation)
- Detect and offer to install Git (recommended for development)
- Improved GCC/MinGW detection with fallback instructions
- Better error messages for users without winget
- Graceful degradation when automatic installation is not available

This ensures Jake and other users with just Go installed can run the
build script and get prompted to install everything needed automatically.
2025-12-04 17:19:43 -05:00
1d27a0fc5c Fix batch file ERRORLEVEL syntax in nested conditionals
Fixed "was unexpected at this time" error by capturing ERRORLEVEL
values into variables before using them in nested if statements.
This is required due to how batch file delayed expansion works.
2025-12-04 17:17:46 -05:00
6e6e8f1c74 Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation
This commit includes three critical bug fixes and Windows build improvements:

**Bug Fixes:**

1. **Queue Conversion Progress Tracking** (main.go:1471-1534)
   - Enhanced executeConvertJob() to parse FPS, speed, and ETA from FFmpeg output
   - Queue jobs now show detailed progress metrics matching direct conversions
   - Stats stored in job.Config for display in the conversion stats bar

2. **AMD AMF Hardware Acceleration** (main.go)
   - Added "amf" to hardware acceleration options
   - Support for h264_amf, hevc_amf, and av1_amf encoders
   - Added AMF-specific error detection in FFmpeg output parsing

3. **DVD Format Resolution Forcing** (main.go:1080-1103, 4504-4517)
   - Removed automatic resolution forcing when DVD format is selected
   - Removed -target parameter usage which was forcing 720×480/720×576
   - Resolution now defaults to "Source" unless explicitly changed
   - DVD compliance maintained through manual bitrate/GOP/codec parameters

**Windows Build Improvements:**

- Updated build.bat to enable CGO (required for Fyne/OpenGL)
- Added automatic GCC/MinGW-w64 detection and installation
- Automated setup via winget for one-command Windows builds
- Improved error messages with fallback manual instructions

**Documentation:**

- Added comprehensive Windows setup guides
- Created platform.go for future platform-specific code
- Updated .gitignore for Windows build artifacts

All changes tested and working. Ready for production use.
2025-12-04 17:11:15 -05:00
b67490013e add build.bat script for Windows installation 2025-12-04 17:05:52 -05:00
3c42edabe2 Add FPS counter, queue improvements, Compare fixes, and comprehensive documentation
Features:
- FPS counter in conversion status showing real-time encoding speed
- Job queue now displays FPS, encoding speed (e.g., "1.2x"), and ETA for running conversions
- Copy Comparison button exports side-by-side metadata comparison report
- Auto-compare checkbox in Convert module - automatically loads Compare view after conversion
- Convert Now properly adds job to queue and displays in Job Queue with live stats
- Module badge colors in job queue now match main menu tile colors
- Fixed fullscreen compare window sizing (reduced player dimensions to prevent overflow)

Bug Fixes:
- Fixed queue state management - only one job runs at a time (prevents multiple jobs showing "running")
- Fixed Compare module slot assignment - single video drops now fill empty slot instead of overwriting
- Fixed job queue scroll rubber banding (no longer jumps back to top)
- Enhanced crop detection validation for WMV/AVI formats with dimension clamping and bounds checking

Documentation:
- VT_Player integration notes with API requirements for keyframing and trim features
- LosslessCut feature analysis for Trim module inspiration
- Video metadata guide covering MP4/MKV custom fields and NFO generation
- Trim module design specification
- Compare fullscreen mode documentation
- Updated VIDEO_PLAYER_FORK.md to mark fork as completed

Technical Changes:
- Added state tracking for FPS, speed, and ETA (main.go:197-199)
- Enhanced queue processJobs() to check for running jobs before starting new ones
- Improved Compare module drag-and-drop logic with smart slot assignment (both code paths)
- Added deferred scroll position restoration to prevent UI jumping
- Job queue Config map now carries conversion stats for display
2025-12-04 07:35:48 -05:00
f9617b717b Add thumbnail generation and Clear All button to Compare
Fixed thumbnails not displaying:
- Added preview frame generation to Compare module
- Thumbnails now load asynchronously when videos are loaded
- Uses capturePreviewFrames() just like Convert module
- Thumbnails appear after brief generation delay

Added Clear All button:
- Positioned to the right of instructions text
- Clears both File 1 and File 2 slots
- Refreshes view to show empty state
- Low importance styling (not highlighted)

Layout improvements:
- Instructions row now uses Border layout
- Clear All button aligned to the right
- Clean, accessible button placement

Both videos now show thumbnails (240x135) automatically
when loaded, providing visual confirmation of loaded content.
2025-12-04 03:39:04 -05:00