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 | |
| parent | 78bc426e02d4ee24f3af4876d3262de3ecd1f787 (diff) | |
Workaround for position slider issue
| -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() | 
