diff options
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): |