mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-15 14:38:17 +08:00
Initial commit
This commit is contained in:
55
controller/global.go
Normal file
55
controller/global.go
Normal file
@@ -0,0 +1,55 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"AynaLivePlayer/config"
|
||||
"AynaLivePlayer/liveclient"
|
||||
"AynaLivePlayer/player"
|
||||
"AynaLivePlayer/provider"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
var MainPlayer *player.Player
|
||||
var UserPlaylist *player.Playlist
|
||||
var SystemPlaylist *player.Playlist
|
||||
var LiveClient liveclient.LiveClient
|
||||
var PlaylistManager []*player.Playlist
|
||||
var CurrentLyric *player.Lyric
|
||||
|
||||
func init() {
|
||||
MainPlayer = player.NewPlayer()
|
||||
UserPlaylist = player.NewPlaylist("user", player.PlaylistConfig{RandomNext: false})
|
||||
SystemPlaylist = player.NewPlaylist("system", player.PlaylistConfig{RandomNext: config.Player.PlaylistRandom})
|
||||
PlaylistManager = make([]*player.Playlist, 0)
|
||||
CurrentLyric = player.NewLyric("")
|
||||
loadPlaylists()
|
||||
}
|
||||
|
||||
func loadPlaylists() {
|
||||
l().Info("Loading playlists ", config.Player.Playlists, config.Player.PlaylistsProvider)
|
||||
if len(config.Player.Playlists) != len(config.Player.Playlists) {
|
||||
l().Warn("playlist id and provider does not have same length")
|
||||
return
|
||||
}
|
||||
for i := 0; i < len(config.Player.Playlists); i++ {
|
||||
pname := config.Player.PlaylistsProvider[i]
|
||||
id := config.Player.Playlists[i]
|
||||
p := player.NewPlaylist(fmt.Sprintf("%s-%s", pname, id), player.PlaylistConfig{})
|
||||
p.Meta = provider.Meta{
|
||||
Name: pname,
|
||||
Id: id,
|
||||
}
|
||||
PlaylistManager = append(PlaylistManager, p)
|
||||
}
|
||||
if config.Player.PlaylistIndex < 0 || config.Player.PlaylistIndex >= len(config.Player.Playlists) {
|
||||
l().Warn("playlist index did not find")
|
||||
return
|
||||
}
|
||||
go func() {
|
||||
c := config.Player.PlaylistIndex
|
||||
err := PreparePlaylist(PlaylistManager[c])
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
SetSystemPlaylist(c)
|
||||
}()
|
||||
}
|
||||
Reference in New Issue
Block a user