29 Commits

Author SHA1 Message Date
26827d5ccd
Window title updated to "GUI for FFmpeg". 2025-06-14 22:46:00 +05:00
0a22377cd6
Removed references to bbolt and its license info from "About" screen and LICENSE-3RD-PARTY.txt as it's no longer used. Added FFmpeg license details to LICENSE-3RD-PARTY.txt. 2025-06-10 23:41:37 +05:00
f4604f94c6
Set Fyne window as master during controller initialization. 2025-06-09 23:38:50 +05:00
077d7a82a9
Moved the menu to a new structure. 2025-06-09 23:30:05 +05:00
e6db590937
Add GetFFplayVersion method to retrieve FFplay version details
Extended `FFplayContract` with `GetVersion` to fetch FFplay version. Implemented version extraction in `utilities` and `ffplay` to support version retrieval functionality.
2025-06-09 23:28:25 +05:00
d7428683e4
Add GetFFprobeVersion method to retrieve FFprobe version details
Extended `FFprobeContract` with `GetVersion` to fetch FFprobe version. Implemented version extraction in `utilities` and `ffprobe` to support version retrieval functionality.
2025-06-09 23:25:13 +05:00
a9c59137af
Rename GetFFmpegVersion to GetVersion in FFmpegContract for consistency and clarity. 2025-06-09 23:21:19 +05:00
c8619cdc7f
Added the ability to get the FFmpeg version. 2025-06-09 23:19:48 +05:00
c49957e583
Moved the "About" window to a new structure. 2025-06-09 23:12:20 +05:00
39080cac14
Refactor HelpFFplay to simplify array initialization. 2025-06-09 22:56:04 +05:00
cae996a141
Moved the display of FFplay key descriptions to a new structure. 2025-06-09 22:54:27 +05:00
fc4e585620
Add main settings view and theme management functionality
Introduce a new `MainSettings` view for managing application settings, including language and theme selection. Implement theme management methods in the `setting` package to handle theme initialization, retrieval, and updates.
2025-06-09 00:27:40 +05:00
690f84e2c8
Fix display of queues during conversion
Fixed the error of displaying queues when they want to see only a certain status.
2025-06-08 22:54:50 +05:00
568d8f0897
Removed duplicate isChecked, since there is IsChecked. 2025-06-08 22:28:11 +05:00
2909ef7cea
Introduce progress bar updates and queue processing logic
Implemented progress bar integration with `ProgressBarContract` for real-time conversion tracking and status updates. Added queue management functionality to process files sequentially with error and completion handling. Extended `ConvertorContract` and `FFmpegContract` to support tracking of running processes and conversion progress.
2025-06-08 22:19:28 +05:00
1b1cdd5c22
Add RunConvert method to FFmpegContract and implementation
Extend `FFmpegContract` with `RunConvert` for handling file conversion, including progress tracking and callback support before and after execution.
2025-06-08 21:47:28 +05:00
eb43669ae7
Add GetTotalDuration method to FFprobeContract and implementation
Extend `FFprobeContract` interface with `GetTotalDuration` for retrieving the duration of media files.
2025-06-08 21:38:29 +05:00
29ca392880
Made it so that files for conversion are added to the queue. 2025-06-08 20:42:43 +05:00
df8095fb16
Added an action to the submit button. 2025-06-08 19:19:50 +05:00
e48f363de0
Fix the bug where the file selection button for conversion disappears. 2025-06-08 18:30:08 +05:00
9bb835beaf
Make a choice of the encoder in the form
Made a choice of the encoder by categories: video, audio and photo.
2025-06-08 17:26:49 +05:00
9cdfa18fc8
Add initial implementations for encoder handling and conversion logic
Introduce encoder modules for various codecs and formats (e.g., h264_nvenc, libx264, libmp3lame). Add `Convertor` logic to retrieve supported formats via FFmpeg utilities and manage encoders for audio, video, and image processing.
2025-06-08 17:26:17 +05:00
6c0abac1c5
Add directory selection for saving converted files
Introduce logic and UI for selecting and persisting a directory to save converted files. Extend existing components with directory selection buttons, message updates, and storage preferences.
2025-06-08 00:18:56 +05:00
394824ce88
Add layout system and file selection logic
Introduce a new layout system for managing main window content and tabs. Integrate file selection and drag-and-drop functionality for adding files to the conversion list, with automatic tab switching to "Added Files". Refactor existing components to support these features.
2025-06-07 23:44:47 +05:00
6e8b148c81
Made it so that you can play files through FFplay. 2025-06-07 23:43:32 +05:00
57637606c0
Revive the right block of the program
Moved the right part of the program from the old version. Slightly reworked the structure.
2025-06-07 21:27:55 +05:00
c60b9f7b0c
Add FFmpeg utilities configuration UI and automated downloading
Introduce a new UI for configuring FFmpeg, FFprobe, and FFplay paths with file selection and error handling. Add platform-specific logic for downloading and extracting FFmpeg binaries directly within the application, improving user experience.
2025-06-07 01:30:32 +05:00
b24155caf6
Refactor application structure and initialize core components
I decided to rewrite the program taking into account the experience gained.
2025-06-06 14:50:16 +05:00
43d794373a
Embed application icon as a resource and refactor icon usage
Replaced the external `icon.png` file with an embedded resource using Go's embed functionality. Updated all references to use the new resource, eliminating the need for the standalone icon file.
2025-06-01 19:58:28 +05:00