mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-13 05:28:16 +08:00
35 lines
776 B
Go
35 lines
776 B
Go
package controller
|
|
|
|
import (
|
|
"AynaLivePlayer/common/event"
|
|
"AynaLivePlayer/model"
|
|
)
|
|
|
|
type IPlaylistController interface {
|
|
Size() int
|
|
GetHistory() IPlaylist
|
|
AddToHistory(media *model.Media)
|
|
GetDefault() IPlaylist
|
|
GetCurrent() IPlaylist
|
|
Get(index int) IPlaylist
|
|
Add(pname string, uri string) IPlaylist
|
|
Remove(index int) IPlaylist
|
|
SetDefault(index int) error
|
|
PreparePlaylistByIndex(index int) error
|
|
}
|
|
|
|
type IPlaylist interface {
|
|
Model() *model.Playlist // mutable model (not a copy)
|
|
EventManager() *event.Manager
|
|
Name() string
|
|
Size() int
|
|
Get(index int) *model.Media
|
|
Pop() *model.Media
|
|
Replace(medias []*model.Media)
|
|
Push(media *model.Media)
|
|
Insert(index int, media *model.Media)
|
|
Delete(index int) *model.Media
|
|
Move(src int, dst int)
|
|
Next() *model.Media
|
|
}
|