diff options
Diffstat (limited to 'solo-tool-project/src/solo_tool')
4 files changed, 8 insertions, 9 deletions
| diff --git a/solo-tool-project/src/solo_tool/handlers.py b/solo-tool-project/src/solo_tool/handlers.py index 975ce8d..ab7309e 100644 --- a/solo-tool-project/src/solo_tool/handlers.py +++ b/solo-tool-project/src/solo_tool/handlers.py @@ -30,6 +30,11 @@ def seekRelative(st: SoloTool, delta: float) -> Callable[[], None]:          st.position += delta      return f +def seekAbsolute(st: SoloTool, delta: float) -> Callable[[], None]: +    def f(): +        st.position = delta +    return f +  def positionToKeyPoint(st: SoloTool) -> Callable[[], None]:      def f():          st.keyPoint = st.position 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 38b7cce..08d55cd 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 @@ -32,7 +32,7 @@ class MidiController:      def _registerHandlers(self):          self._handlers = { -            96  : self._soloTool.stop, +            96  : handlers.seekAbsolute(self._soloTool, 0.0),              114 : self._soloTool.jump,              112 : handlers.playPause(self._soloTool),              118 : handlers.changeKeyPoint(self._soloTool, -1), @@ -112,7 +112,7 @@ class MidiController:          self._updateRateRow(self._soloTool.rate)          # playback control -        self._setButtonLED(6, 0, MidiController.LED_RED) +        self._setButtonLED(6, 0, MidiController.LED_YELLOW)          self._updatePlayPauseButton(self._soloTool.playing)          # Key point control diff --git a/solo-tool-project/src/solo_tool/player_vlc.py b/solo-tool-project/src/solo_tool/player_vlc.py index 283102e..dade61f 100644 --- a/solo-tool-project/src/solo_tool/player_vlc.py +++ b/solo-tool-project/src/solo_tool/player_vlc.py @@ -7,9 +7,6 @@ class Player:      def play(self):          self._player.play() -    def stop(self): -        self._player.stop() -      def pause(self):          self._player.pause() @@ -36,7 +33,6 @@ class Player:          return self._player.audio_get_volume() / 100.0      def setCurrentSong(self, path): -        self._player.stop()          media = vlc.Media(path)          self._player.set_media(media) diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index 0489517..ec4caa1 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -15,6 +15,7 @@ class SoloTool:      def _updateSong(self, index):          previousSong = self._song          self._song = index +        self._player.pause()          self._player.setCurrentSong(self._songs[index])          self._notifier.notify(Notifier.CURRENT_SONG_EVENT, index) @@ -86,9 +87,6 @@ class SoloTool:      def pause(self):          self._player.pause() -    def stop(self): -        self._player.stop() -      @property      def playing(self) -> bool:          return self._player.isPlaying() | 
