Refactor application structure and initialize core components

I decided to rewrite the program taking into account the experience gained.
This commit is contained in:
2025-06-06 14:50:16 +05:00
parent 43d794373a
commit b24155caf6
24 changed files with 1295 additions and 63 deletions

View File

@@ -0,0 +1,48 @@
package ffmpeg
import (
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/internal/application/setting"
)
type UtilitiesContract interface {
GetFFmpeg() FFmpegContract
GetFFprobe() FFprobeContract
GetFFplay() FFplayContract
}
type utilities struct {
setting setting.SettingContract
ffmpeg FFmpegContract
ffprobe FFprobeContract
ffplay FFplayContract
}
func NewUtilities(setting setting.SettingContract) UtilitiesContract {
return &utilities{
setting: setting,
}
}
func (u *utilities) GetFFmpeg() FFmpegContract {
if u.ffmpeg == nil {
u.ffmpeg = newFFmpeg(u.setting.GetFFmpegPath())
}
return u.ffmpeg
}
func (u *utilities) GetFFprobe() FFprobeContract {
if u.ffprobe != nil {
u.ffprobe = newFFprobe(u.setting.GetFFprobePath())
}
return u.ffprobe
}
func (u *utilities) GetFFplay() FFplayContract {
if u.ffplay == nil {
u.ffplay = newFFplay(u.setting.GetFFplayPath())
}
return u.ffplay
}