wip restore queues on start

This commit is contained in:
Siiiiinth
2026-02-09 08:09:01 +01:00
parent 2d29b7f271
commit 48226d5461
10 changed files with 101 additions and 61 deletions
+7 -7
View File
@@ -25,20 +25,20 @@ func (m *Controller) ConnectTracklistActions(tracklist *widgets.Tracklist) {
func (m *Controller) connectTracklistActionsWithReplayGainMode(tracklist *widgets.Tracklist, mode player.ReplayGainMode) {
tracklist.OnAddToPlaylist = m.DoAddTracksToPlaylistWorkflow
tracklist.OnPlaySelectionNext = func(tracks []*mediaprovider.Track) {
m.App.PlaybackManager.LoadTracks(tracks, backend.InsertNext, false)
m.App.PlaybackManager.LoadTracks(tracks, backend.InsertNext, backend.Both, false)
}
tracklist.OnAddToQueue = func(tracks []*mediaprovider.Track) {
m.App.PlaybackManager.LoadTracks(tracks, backend.Append, false)
m.App.PlaybackManager.LoadTracks(tracks, backend.Append, backend.Both, false)
}
tracklist.OnPlayTrackAt = func(idx int) {
m.App.PlaybackManager.LoadTracks(tracklist.GetTracks(), backend.Replace, false)
m.App.PlaybackManager.LoadTracks(tracklist.GetTracks(), backend.Replace, backend.Both, false)
if m.App.Config.ReplayGain.Mode == backend.ReplayGainAuto {
m.App.PlaybackManager.SetReplayGainMode(mode)
}
m.App.PlaybackManager.PlayTrackAt(idx)
}
tracklist.OnPlaySelection = func(tracks []*mediaprovider.Track, shuffle bool) {
m.App.PlaybackManager.LoadTracks(tracks, backend.Replace, shuffle)
m.App.PlaybackManager.LoadTracks(tracks, backend.Replace, backend.Both, shuffle)
if m.App.Config.ReplayGain.Mode == backend.ReplayGainAuto {
m.App.PlaybackManager.SetReplayGainMode(mode)
}
@@ -70,7 +70,7 @@ func (m *Controller) connectTracklistActionsWithReplayGainMode(tracklist *widget
log.Println("Error getting song radio: ", err)
return
}
m.App.PlaybackManager.LoadTracks(tracks, backend.Replace, false)
m.App.PlaybackManager.LoadTracks(tracks, backend.Replace, backend.Both, false)
if m.App.Config.ReplayGain.Mode == backend.ReplayGainAuto {
m.App.PlaybackManager.SetReplayGainMode(mode)
}
@@ -164,11 +164,11 @@ func (m *Controller) onDownloadAlbum(albumID string) {
func (m *Controller) ConnectArtistGridActions(grid *widgets.GridView) {
grid.OnShowItemPage = func(id string) { m.NavigateTo(ArtistRoute(id)) }
grid.OnPlayNext = func(artistID string) {
go m.App.PlaybackManager.LoadTracks(m.GetArtistTracks(artistID), backend.InsertNext, false)
go m.App.PlaybackManager.LoadTracks(m.GetArtistTracks(artistID), backend.InsertNext, backend.Both, false)
}
grid.OnPlay = func(artistID string, shuffle bool) { go m.App.PlaybackManager.PlayArtistDiscography(artistID, shuffle) }
grid.OnAddToQueue = func(artistID string) {
go m.App.PlaybackManager.LoadTracks(m.GetArtistTracks(artistID), backend.Append, false)
go m.App.PlaybackManager.LoadTracks(m.GetArtistTracks(artistID), backend.Append, backend.Both, false)
}
grid.OnAddToPlaylist = func(artistID string) {
m.DoAddTracksToPlaylistWorkflow(