mirror of
https://github.com/AynaLivePlayer/AynaLivePlayer.git
synced 2025-12-13 05:28:16 +08:00
rewrite using IoC and DI
This commit is contained in:
36
model/playlist.go
Normal file
36
model/playlist.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package model
|
||||
|
||||
import "fmt"
|
||||
|
||||
type PlaylistMode int
|
||||
|
||||
const (
|
||||
PlaylistModeNormal PlaylistMode = iota
|
||||
PlaylistModeRandom
|
||||
)
|
||||
|
||||
type Playlist struct {
|
||||
Name string
|
||||
Medias []*Media
|
||||
Mode PlaylistMode
|
||||
Meta Meta
|
||||
}
|
||||
|
||||
func (p Playlist) String() string {
|
||||
return fmt.Sprintf("<Playlist %s>", p.Name)
|
||||
}
|
||||
|
||||
func (p *Playlist) Size() int {
|
||||
return len(p.Medias)
|
||||
}
|
||||
|
||||
func (p *Playlist) Copy() *Playlist {
|
||||
medias := make([]*Media, len(p.Medias))
|
||||
copy(medias, p.Medias)
|
||||
return &Playlist{
|
||||
Name: p.Name,
|
||||
Medias: medias,
|
||||
Mode: p.Mode,
|
||||
Meta: p.Meta,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user