Версия 1.0.0 #11

Merged
kor-elf merged 41 commits from develop into main 2025-06-14 22:56:20 +05:00
Owner

Частично переписал и перегруппировал структуру файлов. Ничего нового в программу не добавлено! Были исправлены некоторые ошибки. Не много улучшен интерфейс. FFmpeg теперь скачивается в локальную папку пользователя. Настройки теперь хранятся тоже в локальной папки пользователя. Благодаря этому в будущей новой версии скачивания повторно FFmpeg не надо будет.

Добавлена возможность:

  • Теперь в архиве для Linux есть файл Makefile, что упрощает установку и использование.

Исправлено:

  • Висел процесс FFplay после того, когда закрыли окно FFplay.

А так же:

  • Убрал bbolt, перешёл на возможности от fyne.
  • Теперь настройки хранятся в файле:
    -- Linux: ~/.config/fyne/net.kor-elf.projects.gui-for-ffmpeg/preferences.json
    -- Windows: /Users/{User Name}/AppData/Roaming/fyne/net.kor-elf.projects.gui-for-ffmpeg/preferences.json
  • Теперь ffmpeg скачивается в папку:
    -- Linux: ~/.local/share/fyne/net.kor-elf.projects.gui-for-ffmpeg
    -- Windows: /Users/{User Name}/AppData/Roaming/fyne/net.kor-elf.projects.gui-for-ffmpeg
  • Переводы перевёл на возможности fyne.
  • Обновил LICENSE-3RD-PARTY.
  • Для упрощения сборки программы теперь есть файл Makefile.
Частично переписал и перегруппировал структуру файлов. **Ничего нового в программу не добавлено!** Были исправлены некоторые ошибки. Не много улучшен интерфейс. FFmpeg теперь скачивается в локальную папку пользователя. Настройки теперь хранятся тоже в локальной папки пользователя. Благодаря этому в будущей новой версии скачивания повторно FFmpeg не надо будет. **Добавлена возможность:** - Теперь в архиве для Linux есть файл Makefile, что упрощает установку и использование. **Исправлено:** - Висел процесс FFplay после того, когда закрыли окно FFplay. **А так же:** - Убрал bbolt, перешёл на возможности от fyne. - Теперь настройки хранятся в файле: -- Linux: ~/.config/fyne/net.kor-elf.projects.gui-for-ffmpeg/preferences.json -- Windows: /Users/{User Name}/AppData/Roaming/fyne/net.kor-elf.projects.gui-for-ffmpeg/preferences.json - Теперь ffmpeg скачивается в папку: -- Linux: ~/.local/share/fyne/net.kor-elf.projects.gui-for-ffmpeg -- Windows: /Users/{User Name}/AppData/Roaming/fyne/net.kor-elf.projects.gui-for-ffmpeg - Переводы перевёл на возможности fyne. - Обновил LICENSE-3RD-PARTY. - Для упрощения сборки программы теперь есть файл Makefile.
kor-elf added 41 commits 2025-06-14 22:55:56 +05:00
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.
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.
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.
I decided to rewrite the program taking into account the experience gained.
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.
Moved the right part of the program from the old version. Slightly reworked the structure.
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.
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.
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.
Made a choice of the encoder by categories: video, audio and photo.
Extend `FFprobeContract` interface with `GetTotalDuration` for retrieving the duration of media files.
Extend `FFmpegContract` with `RunConvert` for handling file conversion, including progress tracking and callback support before and after execution.
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.
Fixed the error of displaying queues when they want to see only a certain status.
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.
Extended `FFprobeContract` with `GetVersion` to fetch FFprobe version. Implemented version extraction in `utilities` and `ffprobe` to support version retrieval functionality.
Extended `FFplayContract` with `GetVersion` to fetch FFplay version. Implemented version extraction in `utilities` and `ffplay` to support version retrieval functionality.
kor-elf merged commit 597e9f75cf into main 2025-06-14 22:56:20 +05:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kor-elf/gui-for-ffmpeg#11
No description provided.