Only update scrubber if not currently dragging

This commit is contained in:
ailurux
2024-02-16 15:10:45 +11:00
parent 665679b885
commit d25e5860c7
3 changed files with 24 additions and 4 deletions
+9 -4
View File
@@ -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