This commit is contained in:
Drew Weymouth
2023-04-20 19:24:44 -07:00
parent 7a04d502fe
commit 3521f62f28
2 changed files with 4 additions and 5 deletions
+1 -1
View File
@@ -78,7 +78,7 @@ func (s *searchTracksIterator) Next() *subsonic.Child {
// prefetch more search results from server // prefetch more search results from server
if s.prefetched == nil { if s.prefetched == nil {
results := s.searchIterBase.fetchResults() results := s.searchIterBase.fetchResults()
if results == nil || len(results.Album)+len(results.Artist)+len(results.Song) == 0 { if results == nil {
s.done = true s.done = true
s.trackIDset = nil s.trackIDset = nil
return nil return nil
+3 -4
View File
@@ -1,7 +1,6 @@
package widgets package widgets
import ( import (
"log"
"supersonic/backend" "supersonic/backend"
"github.com/dweymouth/go-subsonic/subsonic" "github.com/dweymouth/go-subsonic/subsonic"
@@ -44,7 +43,6 @@ func (t *TracklistLoader) onTrackShown(tracknum int) {
func (t *TracklistLoader) loadMoreTracks(num int) { func (t *TracklistLoader) loadMoreTracks(num int) {
// repeat fetch task as long as user has scrolled near bottom // repeat fetch task as long as user has scrolled near bottom
for !t.done && t.highestShown >= t.len-25 { for !t.done && t.highestShown >= t.len-25 {
log.Println("fetching more tracks")
if t.trackBuffer == nil { if t.trackBuffer == nil {
t.trackBuffer = make([]*subsonic.Child, 0, num) t.trackBuffer = make([]*subsonic.Child, 0, num)
} }
@@ -53,15 +51,16 @@ func (t *TracklistLoader) loadMoreTracks(num int) {
tr := t.iter.Next() tr := t.iter.Next()
if tr == nil { if tr == nil {
t.done = true t.done = true
t.trackBuffer = nil
break break
} }
t.trackBuffer = append(t.trackBuffer, tr) t.trackBuffer = append(t.trackBuffer, tr)
} }
t.tracklist.AppendTracks(t.trackBuffer) t.tracklist.AppendTracks(t.trackBuffer)
t.tracklist.Refresh() t.tracklist.Refresh()
log.Printf("appended %d tracks", len(t.trackBuffer))
t.len += len(t.trackBuffer) t.len += len(t.trackBuffer)
} }
if t.done {
t.trackBuffer = nil
}
t.fetching = false t.fetching = false
} }