Commit Graph

16 Commits

Author SHA1 Message Date
Stu
18a14c6020 Refactor to modular architecture with rainbow UI (v0.1.0-dev8)
Major refactoring to improve code organization and enhance UI:

Architecture:
- Split monolithic main.go into modular internal/ package structure
- Created internal/logging for centralized logging system
- Created internal/modules for module handler functions
- Created internal/ui for UI components and layouts
- Created internal/utils for shared utility functions

UI Enhancements:
- Implemented rainbow gradient across 8 module buttons (violet→red)
- Increased module button text size to 20 for better readability
- Fixed text centering on module tiles
- Converted Simple/Advanced mode toggle to tabs to save vertical space
- Added vertical scrollbars to prevent UI overflow
- Added metadata copy button (📋) to copy all metadata to clipboard

Video Processing:
- Fixed aspect ratio conversion to default to center-crop behavior
- Added 6 aspect handling modes: Auto, Crop, Letterbox, Pillarbox, Blur Fill, Stretch
- Fixed blur fill to maintain source resolution with padding (no scaling)
- Ensured all FFmpeg filters produce even-numbered dimensions for H.264

Known Issues:
- WMV files still produce FFmpeg error 234 during aspect conversions
  (requires codec-specific handling in future update)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 14:56:37 -05:00
Stu
35b04bfe98 Change default aspect ratio from 16:9 to Source
Updated the convert menu to default to source aspect ratio instead of 16:9,
which better preserves the original video's aspect ratio by default.

Changes:
- Initial state default: 16:9 → Source
- Empty fallback default: 16:9 → Source
- Reset button default: 16:9 → Source
- Clear video default: 16:9 → Source
- Updated hint label to reflect new default

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 02:36:40 -05:00
Stu
52220e71d1 Ignore built binary and remove from repo 2025-11-21 18:57:48 -05:00
Stu
99be801c1d Add aspect controls, cancelable converts, and icon 2025-11-21 18:57:28 -05:00
Stu
b2fe80062e Default output name to -convert suffix 2025-11-21 16:23:36 -05:00
Stu
8420afb000 Wire convert button with status indicator 2025-11-21 16:22:50 -05:00
Stu
f7a7246301 Add clear video control in metadata panel 2025-11-21 16:15:31 -05:00
Stu
4c78314676 Remove build caches and ignore them 2025-11-21 16:11:14 -05:00
Stu
b4f8135fa3 Checkpoint media player playback 2025-11-21 16:08:38 -05:00
Stu
b7361f6528 Improve seek handling for embedded playback 2025-11-21 16:07:21 -05:00
Stu
2a677a7fe0 Fix embedded video rendering and stabilize seek 2025-11-21 16:01:20 -05:00
Stu
b26c4183fd Implement in-app playback with ffmpeg frame pump and Go audio 2025-11-20 16:11:56 -05:00
Stu
e054a39c97 Add mute toggle and volume state tracking 2025-11-20 15:35:11 -05:00
Stu
35612dcc91 Swap player icons to monochrome set and track pause state 2025-11-20 15:34:59 -05:00
Stu
fb05328de7 Improve video player layout with overlay controls 2025-11-20 15:06:52 -05:00
Stu
ec7fd07ee8 feat: initial GUI prototype 2025-11-19 15:10:18 -05:00