mirror of
https://github.com/AynaLivePlayer/miaosic.git
synced 2025-12-12 07:48:12 +08:00
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
package providers
|
|
|
|
import (
|
|
"github.com/aynakeya/deepcolor/dphttp"
|
|
"miaosic"
|
|
)
|
|
|
|
type DeepcolorProvider struct {
|
|
InfoFunc dphttp.ApiFunc[*miaosic.Media, *miaosic.Media]
|
|
FileFunc dphttp.ApiFunc[*miaosic.Media, *miaosic.Media]
|
|
LyricFunc dphttp.ApiFunc[*miaosic.Media, *miaosic.Media]
|
|
PlaylistFunc dphttp.ApiFunc[*miaosic.Playlist, *miaosic.Playlist]
|
|
SearchFunc dphttp.ApiFuncResult[string, []*miaosic.Media]
|
|
}
|
|
|
|
func (d *DeepcolorProvider) UpdatePlaylist(playlist *miaosic.Playlist) error {
|
|
if d.PlaylistFunc == nil {
|
|
return miaosic.ErrNotImplemented
|
|
}
|
|
return d.PlaylistFunc(playlist, playlist)
|
|
}
|
|
|
|
func (d *DeepcolorProvider) Search(keyword string) ([]*miaosic.Media, error) {
|
|
if d.SearchFunc == nil {
|
|
return nil, miaosic.ErrNotImplemented
|
|
}
|
|
//result := make([]*miaosic.Media, 0)
|
|
//err :=
|
|
//fmt.Println(result)
|
|
return d.SearchFunc(keyword)
|
|
}
|
|
|
|
func (d *DeepcolorProvider) UpdateMedia(media *miaosic.Media) error {
|
|
if d.InfoFunc == nil {
|
|
return miaosic.ErrNotImplemented
|
|
}
|
|
return d.InfoFunc(media, media)
|
|
}
|
|
|
|
func (d DeepcolorProvider) UpdateMediaUrl(media *miaosic.Media) error {
|
|
if d.FileFunc == nil {
|
|
return miaosic.ErrNotImplemented
|
|
}
|
|
return d.FileFunc(media, media)
|
|
}
|
|
|
|
func (d DeepcolorProvider) UpdateMediaLyric(media *miaosic.Media) error {
|
|
if d.LyricFunc == nil {
|
|
// if no lyric func, return nil
|
|
return nil
|
|
}
|
|
return d.LyricFunc(media, media)
|
|
}
|