A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Adjust shuffle logic

+5 -7
+5 -7
src/Applications/UI/Queue/Fill.elm
··· 9 9 import Maybe.Extra as Maybe 10 10 import Queue exposing (Item) 11 11 import Random exposing (Generator, Seed) 12 - import Set exposing (Set) 13 12 import Time 14 13 import Tracks exposing (IdentifiedTrack) 15 14 import UI.Queue.Common exposing (makeItem) ··· 139 138 timestamp 140 139 |> Time.posixToMillis 141 140 |> Random.initialSeed 142 - |> generateIndexes generator howMany Set.empty 143 - |> Set.toList 141 + |> generateIndexes generator howMany [] 144 142 |> List.foldl 145 143 (\idx acc -> 146 144 case Array.get idx tracks of ··· 182 180 `squirrel` = accumulator, ie. collected indexes 183 181 184 182 -} 185 - generateIndexes : Generator Int -> Int -> Set Int -> Seed -> Set Int 183 + generateIndexes : Generator Int -> Int -> List Int -> Seed -> List Int 186 184 generateIndexes generator howMany squirrel seed = 187 185 let 188 186 ( index, newSeed ) = 189 187 Random.step generator seed 190 188 in 191 - if Set.member index squirrel then 189 + if List.member index squirrel then 192 190 generateIndexes generator howMany squirrel newSeed 193 191 194 192 else if howMany - 1 > 0 then 195 - generateIndexes generator (howMany - 1) (Set.insert index squirrel) newSeed 193 + generateIndexes generator (howMany - 1) (index :: squirrel) newSeed 196 194 197 195 else 198 - Set.insert index squirrel 196 + index :: squirrel 199 197 200 198 201 199