Stu Leak
a757696258
Loosen split min size and scroll thumbnail settings
2026-01-04 02:12:45 -05:00
Stu Leak
3e60815c7f
Load multiple thumbnails like convert
2026-01-04 00:22:52 -05:00
Stu Leak
ba378cf2f4
Lazy-load thumbnail previews for batch drops
2026-01-04 00:16:27 -05:00
Stu Leak
83fdae4e3b
Persist thumbnail settings and set 4x8 default
2026-01-03 23:54:18 -05:00
Stu Leak
530baf8711
Show multi-file list in thumbnails
2026-01-03 23:51:37 -05:00
Stu Leak
63bce68007
Tighten thumbnail columns and queue refresh
2026-01-03 23:47:11 -05:00
Stu Leak
1f3c89fd85
Queue multiple thumbnail drops
2026-01-03 23:44:46 -05:00
Stu Leak
f9161de1a9
Add thumbnail progress updates
2026-01-03 23:40:47 -05:00
Stu Leak
8994d2020b
Fix thumb module imports
2026-01-03 23:36:50 -05:00
Stu Leak
a169df74fb
Open thumbnail results in default viewer
2026-01-03 23:36:03 -05:00
Stu Leak
734a50aece
Improve thumbnail settings layout
2026-01-03 23:34:58 -05:00
Stu Leak
a7699c50dc
Increase contact sheet resolution
2026-01-03 23:28:29 -05:00
Stu Leak
8983817de4
feat(ui): complete Phase 1 - debouncing, validation, callback registry
...
Phase 1 Complete - Convert UI Cleanup (dev23):
Debouncing (eliminates remaining sync flags):
- Add createDebouncedCallback() helper with 300ms delay
- Apply debouncing to CRF entry (updates: ~10/sec → ~3/sec)
- Apply debouncing to bitrate entry (eliminates syncingBitrate flag)
- Apply debouncing to target file size entry (eliminates syncingTargetSize flag)
- Remove all remaining sync boolean flags (syncingBitrate, syncingTargetSize)
Input Validation:
- Add validateCRF() - enforces 0-51 range
- Add validateBitrate() - checks positive numbers, warns on extremes
- Add validateFileSize() - checks positive numbers
- Apply validation to CRF, bitrate, and file size entries
- Provides immediate user feedback on invalid input
Callback Registry:
- Create callbackRegistry to replace nil checks
- Add registerCallback() and callCallback() with logging
- Use in setQuality() to eliminate 'if updateEncodingControls != nil'
- Foundation for eliminating 21+ nil checks (will expand in future)
Impact Summary:
- ALL sync flags eliminated: 5 → 0 (100% reduction!)
- Command preview updates while typing: ~10/sec → ~3/sec (70% reduction!)
- Input validation prevents invalid configurations
- Debouncing improves perceived responsiveness
- Callback registry provides better debugging (logs missing callbacks)
Files modified:
- internal/ui/components.go (SetSelectedSilent)
- main.go (debouncing, validation, callback registry)
Phase 1 COMPLETE! Ready for Phase 2 (ColoredSelect expansion & visual polish)
2026-01-03 23:16:08 -05:00
9cc8c073d6
refactor: improve UI flexibility and code formatting
...
- Remove hardcoded minimum sizes from scroll containers and UI elements
for better responsiveness across different screen sizes
- Fix indentation and alignment across multiple modules
- Improve code consistency and readability
2026-01-02 04:25:25 -05:00
85366a7164
feat: implement unified FFmpeg player and fix critical build issues
...
🎯 Major Improvements:
• Unified FFmpeg Player: Rock-solid A/V sync with frame-accurate seeking
• Import Standardization: Convert to absolute module imports across codebase
• Build Fixes: Resolve critical syntax errors and compilation issues
• Code Cleanup: Remove unused code and fix variable references
🔧 Technical Changes:
• Fixed pipe initialization in unified player (internal/player/unified_ffmpeg_player.go)
• Replaced platformConfig references with utils.GetFFmpegPath() calls
• Added platform-specific exec utilities (exec_unix.go, exec_windows.go)
• Enhanced UI components with improved color handling
• Fixed missing closing brace in buildMetadataPanel function
🐛 Critical Fixes:
• Resolved "unexpected name buildVideoPane, expected (" syntax error
• Fixed undefined variable references (start → sampleStart)
• Removed calls to non-existent ColoredSelect Enable/Disable methods
• Corrected import paths from relative to absolute module references
📊 Impact:
+470 insertions, -951 deletions
• Eliminates blocking A/V synchronization issues
• Enables advanced video enhancement feature development
• Establishes consistent module architecture
• Codebase now builds and runs successfully
This commit establishes the foundation for Phase 2 enhancement features
by providing rock-solid video playback capabilities.
2026-01-02 01:02:07 -05:00
de81c9f999
Add clear completed button to all module top bars
...
- Added clearCompletedJobs() method to appState in main.go
- Clears only completed and failed jobs, keeps pending/running/paused
- Added small ⌫ (backspace) icon button next to View Queue in all modules
- Button has LowImportance styling to keep it subtle
- Implements Jake's suggestion for quick queue cleanup
Modules updated:
- Convert (main.go)
- Author (author_module.go)
- Subtitles (subtitles_module.go)
- Rip (rip_module.go)
- Filters (filters_module.go)
- Thumbnails (thumb_module.go)
- Inspect (inspect_module.go)
Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-29 22:02:35 -05:00
b02cd844c4
Finish thumb module extraction fixes
2025-12-23 22:05:54 -05:00
81773c46a1
Extract thumb module from main.go (partial)
...
- Create thumb_module.go with showThumbView(), buildThumbView(), executeThumbJob()
- Remove showThumbView() from main.go
- buildThumbView() and executeThumbJob() still in main.go to be removed
- Syntax check passes
- Working on large function extraction
2025-12-23 21:47:14 -05:00