129 Commits

Author SHA1 Message Date
c59c87d109
Duplicated: icon.png and screenshot-gui-for-ffmpeg.png in assets, so that I could later delete them from their current locations after the links to the images have changed everywhere. 2025-06-14 19:30:14 +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
7930a907f1
Removed unused AppMetadata configuration and refactored imports in main.go. Because the data is duplicated with FyneApp.toml. 2025-06-10 22:25:21 +05:00
850cbbaf70
Removed the old program structure. 2025-06-09 23:42:09 +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
3241b88158
Refactor localization system and migrate to Fyne's built-in support
Replaced the `i18n` and `toml` dependencies with Fyne's built-in language system for localization management. Updated the `Localizer` implementation to handle translations using JSON files and embed functionality. Simplified language selection and persisted settings via Fyne's preferences API.
2025-06-01 15:20:33 +05:00
d69767f5e9
Remove bbolt database dependency
Replaced bbolt-based database handling with Fyne built-in preferences for storing application settings. Deleted migration logic, database initialization, and error handling related to bbolt, simplifying the codebase and reducing external dependencies.
2025-05-30 00:34:33 +05:00
7340f43d6e
Remove unused helper function from ffplay.go
The `PrepareBackgroundCommand` function has been removed because it prevents the program window from being displayed on Windows.
2025-05-25 22:51:59 +05:00
5ab11922b9
Select "Added Files" tab after dragging and dropping files.
Ensure the "Added Files" tab is automatically selected after users drag and drop files for conversion. This improves user experience by guiding them to the newly added content.
2025-05-25 21:46:19 +05:00
5f72ce8c56
Update screenshot for GUI in FFmpeg documentation
Replaced the GUI screenshot to reflect the latest interface changes. This ensures alignment with the current functionality and improves user clarity.
2025-05-25 01:48:33 +05:00
5b15848048
Update version to 0.9.0
Bump the application version from 0.8.0 to 0.9.0 in both `main.go` and `FyneApp.toml`. This reflects the latest changes and prepares the app for the next release.
2025-05-25 01:29:14 +05:00
84b36dd29e
Make it possible to drag and drop multiple files
It is now possible to add multiple files before sending them to the processing queue.
2025-05-25 01:25:40 +05:00
82167f042f
Add theme management functionality to the application
Implemented a theme management system allowing users to select and persist themes (default, light, dark) in the settings menu.
2025-05-23 20:18:05 +05:00
712ec2f182
Remove language selection to a new settings section. 2025-05-22 21:42:45 +05:00
883bf376b0
Add FFplay help feature and keyboard shortcut guide
Introduced a new "Help FFplay" section in the help menu to provide information about FFplay player keyboard shortcuts and actions.
2025-05-21 00:22:42 +05:00
306383449a
Add FFplay support to the application
Integrated FFplay functionality across the application. This includes support for setting up the FFplay path and invoking FFplay for media playback.
2025-05-19 22:49:09 +05:00
a831d56d93
Add localized error handling for database timeout
Introduced a new localized error message "errorDatabaseTimeout" in multiple languages (English, Kazakh, Russian) and updated the `PanicError` method to handle database timeout errors more gracefully. This improves user feedback by providing context-specific error messages.
2025-05-18 19:32:57 +05:00
9d46db43c2
Default language
I made it so that if the OS language matches the language into which there is a translation, it would be used by default. And if not, then I would suggest choosing which language to use.
2025-05-18 19:31:59 +05:00
46d210d6d5
Added return after kernel.PanicErrorLang(err, appMetadata) to avoid unpredictable results during an error. 2025-05-18 19:28:16 +05:00
3149ca25e1
Add version and build information to FyneApp.toml
Updated the FyneApp.toml file to include the application version (0.8.0) and build number (4). These additions help in tracking application releases and builds efficiently.
2025-05-11 19:01:36 +05:00
992762ef0a
Add gratitude view and menu item
Introduce a new "Gratitude" view with localized messages and display functionality.
2025-05-11 18:35:21 +05:00
411e6c554a
Update menu view and third-party licenses
Added new dependencies and license details to both `menu/view.go` and `LICENSE-3RD-PARTY.txt`. Updated copyright notices, hyperlinks, and license text to reflect the latest projects and comply with their licensing terms.
2025-05-11 16:25:03 +05:00
bf3340e526
Add drag-and-drop support for single file selection
Implemented functionality to handle single file drag-and-drop in the UI, including error handling for multiple files and directories. Updated localization files to support new messages related to drag-and-drop usage and errors.
2025-05-11 15:07:37 +05:00
6be10dbd75
Add FyneApp.toml configuration file
Introduce a new FyneApp.toml file to configure application metadata. This includes details like the app's icon, name, and ID, as well as migration settings. These changes prepare the app for Fyne framework integration.
2025-05-11 01:44:17 +05:00