Files
bjarneo--cliamp/internal/playback/playback.go
T
lentikr 184a67e519 feat(lyrics,mediactl): embed local lyrics and album art in MPRIS/NowPlaying
Read embedded lyrics (LRC or plain text) and cover art from local file
tags at play time. Lyrics are preferred over network fetch when present;
album art is cached by content hash under ~/.local/share/cliamp/album-art/
and published via mpris:artUrl (Linux) and MPNowPlayingInfoCenter (macOS).
2026-06-29 20:17:41 +08:00

51 lines
857 B
Go

package playback
import "time"
type (
PlayPauseMsg struct{}
PlayMsg struct{}
PauseMsg struct{}
NextMsg struct{}
PrevMsg struct{}
StopMsg struct{}
QuitMsg struct{}
SeekMsg struct{ Offset time.Duration }
SetPositionMsg struct {
Position time.Duration
}
SetVolumeMsg struct{ VolumeDB float64 }
)
type Status string
const (
StatusStopped Status = "Stopped"
StatusPlaying Status = "Playing"
StatusPaused Status = "Paused"
)
type Track struct {
Title string
Artist string
Album string
Genre string
TrackNumber int
URL string
ArtURL string
Duration time.Duration
}
type State struct {
Status Status
Track Track
VolumeDB float64
Position time.Duration
Seekable bool
}
type Notifier interface {
Update(State)
Seeked(time.Duration)
}