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

Configure Feed

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

feat: Seeking keyboard shorcuts (closes #406)

+35 -7
+1
CHANGELOG.md
··· 12 12 - Fixed issue with missing extensions when downloading playlists. 13 13 - Removed Fission/Webnative user layer (discontinued). 14 14 - Minor improvements/fixes to the artwork downloading process. 15 + - Added keyboard shortcuts to seek back and forward. 15 16 - No longer cache all background images when first loading the app. 16 17 - A lot of javascript code refactoring. 17 18
+34 -7
src/Core/UI/Adjunct.elm
··· 76 76 [ Keyboard.Character "]", Keyboard.Control ] -> 77 77 Queue.shift m 78 78 79 - -- TODO: 80 - -- [ Keyboard.Character "{", Keyboard.Shift, Keyboard.Control ] -> 81 - -- Audio.seek ((m.audioPosition - 10) / m.audioDuration) m 82 - -- 83 - -- [ Keyboard.Character "}", Keyboard.Shift, Keyboard.Control ] -> 84 - -- Audio.seek ((m.audioPosition + 10) / m.audioDuration) m 85 - -- 79 + [ Keyboard.Character "{", Keyboard.Shift, Keyboard.Control ] -> 80 + case m.nowPlaying of 81 + Just { duration, item, playbackPosition } -> 82 + case duration of 83 + Just d -> 84 + Audio.seek 85 + { trackId = (Tuple.second item.identifiedTrack).id 86 + , progress = (playbackPosition - 10) / d 87 + } 88 + m 89 + 90 + Nothing -> 91 + Return.singleton m 92 + 93 + Nothing -> 94 + Return.singleton m 95 + 96 + [ Keyboard.Character "}", Keyboard.Shift, Keyboard.Control ] -> 97 + case m.nowPlaying of 98 + Just { duration, item, playbackPosition } -> 99 + case duration of 100 + Just d -> 101 + Audio.seek 102 + { trackId = (Tuple.second item.identifiedTrack).id 103 + , progress = (playbackPosition + 10) / d 104 + } 105 + m 106 + 107 + Nothing -> 108 + Return.singleton m 109 + 110 + Nothing -> 111 + Return.singleton m 112 + 86 113 -- Meta key 87 114 -- 88 115 [ Keyboard.Character "K", Keyboard.Meta ] ->