diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/playing.lua | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lua/playing.lua b/lua/playing.lua index 22b3390f..4767e42f 100644 --- a/lua/playing.lua +++ b/lua/playing.lua @@ -112,13 +112,17 @@ return function(opts) } playlist:Object({ w = 3, h = 1 }) -- spacer - local scrubber = screen.root:Bar { + local scrubber = screen.root:Slider { w = lvgl.PCT(100), h = 5, range = { min = 0, max = 100 }, value = 0, } + scrubber:onevent(lvgl.EVENT.RELEASED, function() + playback.position:set(scrubber:value()) + end) + local controls = screen.root:Object { flex = { flex_direction = "row", @@ -147,8 +151,7 @@ return function(opts) local play_pause_btn = controls:Button {} play_pause_btn:onClicked(function() - --playback.playing:set(not playback.playing:get()) - playback.position:set(playback.position:get() + 5) + playback.playing:set(not playback.playing:get()) end) play_pause_btn:focus() local play_pause_img = play_pause_btn:Image { src = img.pause } @@ -183,7 +186,9 @@ return function(opts) cur_time:set { text = format_time(pos) } - scrubber:set { value = pos } + if not scrubber:is_dragged() then + scrubber:set { value = pos } + end end), playback.track:bind(function(track) if not track then return end |
