aboutsummaryrefslogtreecommitdiffstats
path: root/web-project/src
diff options
context:
space:
mode:
authorEddy Pedroni <epedroni@pm.me>2025-02-26 08:22:02 +0100
committerEddy Pedroni <epedroni@pm.me>2025-02-26 08:22:02 +0100
commit0821b21761a6d47ac1d34c2142365dbaa361b79e (patch)
tree627ca7515688c8411eb1f395880a7ce9b3f502bd /web-project/src
parent78bc426e02d4ee24f3af4876d3262de3ecd1f787 (diff)
Workaround for position slider issue
Diffstat (limited to 'web-project/src')
-rw-r--r--web-project/src/solo_tool_web.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/web-project/src/solo_tool_web.py b/web-project/src/solo_tool_web.py
index 20bb0ca..f9128bc 100644
--- a/web-project/src/solo_tool_web.py
+++ b/web-project/src/solo_tool_web.py
@@ -13,6 +13,12 @@ def songName(path: str) -> str:
from os.path import basename, splitext
return basename(splitext(path)[0])
+def addKeyPoint() -> None:
+ st.keyPoints += [st.keyPoint]
+
+def setPosition(e) -> None:
+ st.position = e.args
+
@ui.refreshable
def keyPointTables() -> None:
for i, song in enumerate(st.songs):
@@ -22,9 +28,6 @@ def keyPointTables() -> None:
st.registerKeyPointListCallback(lambda new: keyPointTables.refresh())
-def addKeyPoint() -> None:
- st.keyPoints += [st.keyPoint]
-
def main():
fullscreen = ui.fullscreen()
ui.dark_mode().enable()
@@ -48,7 +51,10 @@ def main():
ui.item(songName(path), on_click=handlers.setSong(st, i, lambda: song_drawer.hide())).props('clickable v-ripple')
# Playback position
- ui.slider(min=0, max=1.0, step=0.001).bind_value_from(st, 'position').props('thumb-size=0px track-size=16px')
+ ui.slider(min=0, max=1.0, step=0.001) \
+ .bind_value_from(st, 'position') \
+ .props('thumb-size=0px track-size=16px') \
+ .on('change', setPosition)
# Key point position
ui.slider(min=0, max=1.0, step=0.001).bind_value(st, 'keyPoint').props('color=secondary')
@@ -69,7 +75,7 @@ def main():
ui.slider(min=0, max=1.2, step=0.01).bind_value(st, 'volume')
ui.button(icon='fullscreen', on_click=fullscreen.toggle).props('outline')
- ui.run()
+ ui.run(binding_refresh_interval=0.5)
if __name__ in {'__main__', '__mp_main__'}:
main()