gui-for-ffmpeg/main.go
Leonid Nikitin 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

46 lines
1.3 KiB
Go

package main
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/application"
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/application/convertor"
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/application/setting"
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/controller"
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/ffmpeg"
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/resources"
)
func main() {
appMetadata := fyne.AppMetadata{
ID: "net.kor-elf.projects.gui-for-ffmpeg",
Name: "GUI for FFmpeg",
Version: "0.9.0",
Icon: resources.IconAppLogoResource(),
}
app.SetMetadata(appMetadata)
fyneApp := app.New()
appSetting := setting.NewSetting(fyneApp)
ffmpegService := ffmpeg.NewUtilities(appSetting)
progressBarService := convertor.NewProgressBar(ffmpegService)
convertorService := convertor.NewConvertor(ffmpegService)
itemsToConvert := convertor.NewItemsToConvert(ffmpegService)
queue := convertor.NewQueueList()
myApp := application.NewApp(
fyneApp,
appSetting,
progressBarService,
ffmpegService,
itemsToConvert,
queue,
convertorService,
)
mainController := controller.NewController(myApp)
mainController.Start()
myApp.RunConvertor()
defer myApp.AfterClosing()
myApp.Run()
}