diff options
author | Eddy Pedroni <epedroni@pm.me> | 2025-02-26 08:22:02 +0100 |
---|---|---|
committer | Eddy Pedroni <epedroni@pm.me> | 2025-02-26 08:22:02 +0100 |
commit | 0821b21761a6d47ac1d34c2142365dbaa361b79e (patch) | |
tree | 627ca7515688c8411eb1f395880a7ce9b3f502bd /web-project/src | |
parent | 78bc426e02d4ee24f3af4876d3262de3ecd1f787 (diff) |
Workaround for position slider issue
Diffstat (limited to 'web-project/src')
-rw-r--r-- | web-project/src/solo_tool_web.py | 16 |
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() |