diff options
Diffstat (limited to 'web-project')
-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() |