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.

Closes #369

+38 -20
+1 -1
src/Core/UI/Queue/ContextMenu.elm
··· 63 63 [ [ Item 64 64 { icon = Icons.not_interested 65 65 , label = "Reset ignored" 66 - , msg = QueueMsg Queue.Reset 66 + , msg = QueueMsg Queue.ResetIgnored 67 67 68 68 -- 69 69 , active = False
+26 -17
src/Core/UI/Queue/Fill.elm
··· 94 94 95 95 96 96 shuffled : Time.Posix -> List IdentifiedTrack -> State -> List Item 97 - shuffled timestamp unfilteredTracks s = 97 + shuffled timestamp unfilteredTracks state = 98 98 let 99 - state = 100 - if List.isEmpty s.future && not (List.isEmpty s.past) then 101 - -- We played every available track, 102 - -- disregard the past tracks. 103 - { s | past = [] } 104 - 105 - else 106 - s 107 - 108 - idsToIgnore = 99 + idsToIgnoreWithoutPast = 109 100 [ state.ignored 110 - , state.past 111 - , state.future 112 101 , Maybe.unwrap [] List.singleton state.activeItem 113 102 ] 114 103 |> List.map (List.map itemTrackId) 115 104 |> List.concat 116 105 |> List.unique 117 106 107 + ( tracksWithPast, idsToIgnoreWithoutPastAfterFilter ) = 108 + purifier unfilteredTracks ( [], idsToIgnoreWithoutPast ) 109 + 110 + idsToIgnoreWithPast = 111 + List.unique (idsToIgnoreWithoutPastAfterFilter ++ List.map itemTrackId state.past) 112 + 113 + ( tracksWithoutPast, idsToIgnoreWithPastAfterFilter ) = 114 + purifier tracksWithPast ( [], idsToIgnoreWithPast ) 115 + 116 + idsToIgnoreWithFuture = 117 + List.unique (idsToIgnoreWithoutPastAfterFilter ++ List.map itemTrackId state.future) 118 + 119 + ( tracksList, _ ) = 120 + purifier 121 + (case tracksWithoutPast of 122 + [] -> 123 + tracksWithPast 124 + 125 + t -> 126 + t 127 + ) 128 + ( [], idsToIgnoreWithFuture ) 129 + 118 130 tracks = 119 - ( [], idsToIgnore ) 120 - |> purifier unfilteredTracks 121 - |> Tuple.first 122 - |> Array.fromList 131 + Array.fromList tracksList 123 132 124 133 amountOfTracks = 125 134 Array.length tracks
+10 -2
src/Core/UI/Queue/State.elm
··· 36 36 Reset -> 37 37 reset 38 38 39 + ResetIgnored -> 40 + resetIgnored 41 + 39 42 Rewind -> 40 43 rewind 41 44 ··· 128 131 129 132 clear : Manager 130 133 clear model = 131 - fill { model | playingNext = [], dontPlay = [] } 134 + fill { model | playingNext = [] } 132 135 133 136 134 137 fill : Manager ··· 286 289 reset model = 287 290 model.playingNext 288 291 |> List.filter (.manualEntry >> (==) True) 289 - |> (\f -> { model | playingNext = f, dontPlay = [] }) 292 + |> (\f -> { model | playingNext = f }) 290 293 |> fill 294 + 295 + 296 + resetIgnored : Manager 297 + resetIgnored model = 298 + fill { model | dontPlay = [] } 291 299 292 300 293 301 select : Item -> Manager
+1
src/Core/UI/Queue/Types.elm
··· 13 13 = Clear 14 14 | PreloadNext 15 15 | Reset 16 + | ResetIgnored 16 17 | Rewind 17 18 | Select Item 18 19 | Shift