mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2026-03-15 22:13:17 +08:00
add local provider, add cover output in textinfo
This commit is contained in:
@@ -22,6 +22,10 @@ func (t *TestConfig) CreatePanel() fyne.CanvasObject {
|
||||
}
|
||||
|
||||
func createConfigLayout() fyne.CanvasObject {
|
||||
// initialize config panels
|
||||
for _, c := range ConfigList {
|
||||
c.CreatePanel()
|
||||
}
|
||||
content := container.NewMax()
|
||||
entryList := widget.NewList(
|
||||
func() int {
|
||||
|
||||
@@ -29,6 +29,7 @@ func l() *logrus.Entry {
|
||||
}
|
||||
|
||||
func Initialize() {
|
||||
l().Info("Initializing GUI")
|
||||
os.Setenv("FYNE_FONT", config.GetAssetPath("msyh.ttc"))
|
||||
App = app.New()
|
||||
MainWindow = App.NewWindow(fmt.Sprintf("AynaLivePlayer Ver.%s", config.VERSION))
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package gui
|
||||
|
||||
import (
|
||||
"AynaLivePlayer/player"
|
||||
"bytes"
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/canvas"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/storage"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
)
|
||||
|
||||
@@ -74,3 +78,19 @@ func newFixedSplitContainer(horizontal bool, leading, trailing fyne.CanvasObject
|
||||
fs.Split.BaseWidget.ExtendBaseWidget(s)
|
||||
return fs
|
||||
}
|
||||
|
||||
func newImageFromPlayerPicture(picture player.Picture) (*canvas.Image, error) {
|
||||
if picture.Data != nil {
|
||||
return canvas.NewImageFromReader(bytes.NewReader(picture.Data), "cover"), nil
|
||||
} else {
|
||||
uri, err := storage.ParseURI(picture.Url)
|
||||
if err != nil || uri == nil {
|
||||
return nil, err
|
||||
}
|
||||
img := canvas.NewImageFromURI(uri)
|
||||
if img == nil {
|
||||
return nil, err
|
||||
}
|
||||
return img, err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import (
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/canvas"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/storage"
|
||||
"fyne.io/fyne/v2/theme"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/aynakeya/go-mpv"
|
||||
@@ -195,24 +194,34 @@ func registerPlayControllerHandler() {
|
||||
PlayController.Artist.SetText(
|
||||
media.Artist)
|
||||
PlayController.Username.SetText(media.ToUser().Name)
|
||||
if media.Cover == "" {
|
||||
if !media.Cover.Exists() {
|
||||
PlayController.SetDefaultCover()
|
||||
} else {
|
||||
uri, err := storage.ParseURI(media.Cover)
|
||||
if err != nil || uri == nil {
|
||||
l().Warn("fail to load parse cover url", media.Cover)
|
||||
}
|
||||
// async update
|
||||
go func() {
|
||||
img := canvas.NewImageFromURI(uri)
|
||||
if img == nil {
|
||||
picture, err := newImageFromPlayerPicture(media.Cover)
|
||||
if err != nil {
|
||||
l().Warn("fail to load parse cover url", media.Cover)
|
||||
PlayController.SetDefaultCover()
|
||||
return
|
||||
}
|
||||
PlayController.Cover.Resource = img.Resource
|
||||
PlayController.Cover.Resource = picture.Resource
|
||||
PlayController.Cover.Refresh()
|
||||
}()
|
||||
//uri, err := storage.ParseURI(media.Cover)
|
||||
//if err != nil || uri == nil {
|
||||
// l().Warn("fail to load parse cover url", media.Cover)
|
||||
//}
|
||||
//// async update
|
||||
//go func() {
|
||||
// img := canvas.NewImageFromURI(uri)
|
||||
// if img == nil {
|
||||
// l().Warn("fail to load parse cover url", media.Cover)
|
||||
// PlayController.SetDefaultCover()
|
||||
// return
|
||||
// }
|
||||
// PlayController.Cover.Resource = img.Resource
|
||||
// PlayController.Cover.Refresh()
|
||||
//}()
|
||||
}
|
||||
})
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user