Files
bjarneo--cliamp/ui/model/playback_state.go
T
2026-07-05 13:59:18 +02:00

36 lines
794 B
Go

package model
import "github.com/bjarneo/cliamp/playlist"
func (m Model) currentPlaybackTrack() (playlist.Track, int) {
if m.playingTrackActive && (m.buffering || (m.player != nil && m.player.IsPlaying())) {
return m.playingTrack, 0
}
if m.playlist == nil {
return playlist.Track{}, -1
}
return m.playlist.Current()
}
func (m *Model) setPlaybackTrack(track playlist.Track) {
m.playingTrack = track
m.playingTrackActive = true
m.playbackDetached = false
}
func (m *Model) detachPlaybackTrack() {
track, idx := m.currentPlaybackTrack()
if idx < 0 {
return
}
m.playingTrack = track
m.playingTrackActive = true
m.playbackDetached = true
}
func (m *Model) clearPlaybackTrack() {
m.playingTrack = playlist.Track{}
m.playingTrackActive = false
m.playbackDetached = false
}