diff options
author | Simon Garrelou <simon.garrelou@gmail.com> | 2022-12-10 22:35:46 +0100 |
---|---|---|
committer | Simon Garrelou <simon.garrelou@gmail.com> | 2022-12-10 22:35:46 +0100 |
commit | 3a815dcf23323d2f1d0b830c5cb5037d09156677 (patch) | |
tree | 2aa9739ad934fe287b13e4c1f0a9d6b5bd0e4ef6 /src/app.go | |
parent | 08182123b8165c8c8dc55d1fefc643f5c5c47035 (diff) | |
download | termsonic-3a815dcf23323d2f1d0b830c5cb5037d09156677.tar.gz termsonic-3a815dcf23323d2f1d0b830c5cb5037d09156677.zip |
Add shuffle + fix deadlocks
Diffstat (limited to 'src/app.go')
-rw-r--r-- | src/app.go | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -2,7 +2,9 @@ package src | |||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "math/rand" | ||
5 | "os" | 6 | "os" |
7 | "time" | ||
6 | 8 | ||
7 | "git.sixfoisneuf.fr/termsonic/music" | 9 | "git.sixfoisneuf.fr/termsonic/music" |
8 | "github.com/delucks/go-subsonic" | 10 | "github.com/delucks/go-subsonic" |
@@ -158,3 +160,13 @@ func (a *app) switchToPage(name string) { | |||
158 | 160 | ||
159 | a.updateFooter() | 161 | a.updateFooter() |
160 | } | 162 | } |
163 | |||
164 | func randomize(t []*subsonic.Child) []*subsonic.Child { | ||
165 | t2 := make([]*subsonic.Child, len(t)) | ||
166 | copy(t2, t) | ||
167 | |||
168 | rand.Seed(time.Now().UnixNano()) | ||
169 | rand.Shuffle(len(t2), func(i, j int) { t2[i], t2[j] = t2[j], t2[i] }) | ||
170 | |||
171 | return t2 | ||
172 | } | ||