diff options
| author | Eddy Pedroni <epedroni@pm.me> | 2025-02-23 21:52:32 +0100 | 
|---|---|---|
| committer | Eddy Pedroni <epedroni@pm.me> | 2025-02-23 21:52:32 +0100 | 
| commit | bfad56faaa936cb80ab51fed10e9b89b5df11471 (patch) | |
| tree | 116f7eb15f2be335b3cbaadcf4a8420415331bf1 /solo-tool-project/src/solo_tool | |
| parent | 93ffa46e65433ea4e1ab12d9ef44e3c0d655dc6d (diff) | |
Most web UI features implemented, layout still messy
Diffstat (limited to 'solo-tool-project/src/solo_tool')
| -rw-r--r-- | solo-tool-project/src/solo_tool/handlers.py | 13 | ||||
| -rw-r--r-- | solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py | 2 | ||||
| -rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 5 | 
3 files changed, 16 insertions, 4 deletions
| diff --git a/solo-tool-project/src/solo_tool/handlers.py b/solo-tool-project/src/solo_tool/handlers.py index 040928c..1e0e22c 100644 --- a/solo-tool-project/src/solo_tool/handlers.py +++ b/solo-tool-project/src/solo_tool/handlers.py @@ -4,7 +4,7 @@ from solo_tool.solo_tool import SoloTool  def playPause(st: SoloTool) -> Callable[[], None]:      def f(): -        if st.isPlaying(): +        if st.playing:              st.pause()          else:              st.play() @@ -28,6 +28,11 @@ def positionToKeyPoint(st: SoloTool) -> Callable[[], None]:          st.keyPoint = st.position      return f +def setKeyPoint(st: SoloTool, kp: float) -> Callable[[], None]: +    def f(): +        st.keyPoint = kp +    return f +  def changeKeyPoint(st: SoloTool, delta: int) -> Callable[[], None]:      from bisect import bisect_right, bisect_left      def f(): @@ -46,7 +51,13 @@ def rateAbsolute(st: SoloTool, value: float) -> Callable[[], None]:          st.rate = value      return f +def rateRelative(st: SoloTool, delta: float) -> Callable[[], None]: +    def f(): +        st.rate += delta +    return f +  def volumeAbsolute(st: SoloTool, value: float) -> Callable[[], None]:      def f():          st.volume = value      return f + diff --git a/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py b/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py index 9582a88..38b7cce 100644 --- a/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py +++ b/solo-tool-project/src/solo_tool/midi_controller_launchpad_mini.py @@ -113,7 +113,7 @@ class MidiController:          # playback control          self._setButtonLED(6, 0, MidiController.LED_RED) -        self._updatePlayPauseButton(self._soloTool.isPlaying()) +        self._updatePlayPauseButton(self._soloTool.playing)          # Key point control          self._setButtonLED(7, 2, MidiController.LED_YELLOW) diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index 13e3c03..0f47aef 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -29,7 +29,7 @@ class SoloTool:      def addSong(self, path: str) -> None:          if not os.path.isfile(path): -            raise FileNotFoundError() +            raise FileNotFoundError(path)          self._songs.append(path)          self._keyPoints.append([]) @@ -76,7 +76,8 @@ class SoloTool:      def stop(self):          self._player.stop() -    def isPlaying(self): +    @property +    def playing(self) -> bool:          return self._player.isPlaying()      def jump(self): | 
