mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-13 13:38:16 +08:00
52 lines
1.6 KiB
Go
52 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"AynaLivePlayer/common/i18n"
|
|
"AynaLivePlayer/common/logger"
|
|
"AynaLivePlayer/config"
|
|
"AynaLivePlayer/controller"
|
|
"AynaLivePlayer/controller/core"
|
|
"AynaLivePlayer/gui"
|
|
"AynaLivePlayer/player"
|
|
"AynaLivePlayer/plugin/diange"
|
|
"AynaLivePlayer/plugin/qiege"
|
|
"AynaLivePlayer/plugin/textinfo"
|
|
"AynaLivePlayer/plugin/webinfo"
|
|
"AynaLivePlayer/plugin/wylogin"
|
|
"flag"
|
|
)
|
|
|
|
var dev = flag.Bool("dev", false, "generate new translation file")
|
|
|
|
func createController() controller.IController {
|
|
liveroom := core.NewLiveRoomController()
|
|
lyric := core.NewLyricLoader()
|
|
provider := core.NewProviderController()
|
|
playlist := core.NewPlaylistController(provider)
|
|
plugin := core.NewPluginController()
|
|
mpvPlayer := player.NewMpvPlayer()
|
|
playControl := core.NewPlayerController(mpvPlayer, playlist, lyric, provider)
|
|
ctr := core.NewController(liveroom, playControl, playlist, provider, plugin)
|
|
return ctr
|
|
}
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
logger.Logger.Info("================Program Start================")
|
|
logger.Logger.Infof("================Current Version: %s================", config.Version)
|
|
mainController := createController()
|
|
controller.Instance = mainController
|
|
gui.Initialize()
|
|
plugins := []controller.Plugin{diange.NewDiange(mainController), qiege.NewQiege(mainController),
|
|
textinfo.NewTextInfo(mainController), webinfo.NewWebInfo(mainController),
|
|
wylogin.NewWYLogin()}
|
|
mainController.LoadPlugins(plugins...)
|
|
gui.MainWindow.ShowAndRun()
|
|
mainController.CloseAndSave()
|
|
if *dev {
|
|
i18n.SaveTranslation()
|
|
}
|
|
_ = config.SaveToConfigFile(config.ConfigPath)
|
|
logger.Logger.Info("================Program End================")
|
|
}
|