diff options
| author | Eddy Pedroni <epedroni@pm.me> | 2025-02-26 18:09:06 +0100 | 
|---|---|---|
| committer | Eddy Pedroni <epedroni@pm.me> | 2025-02-26 18:25:41 +0100 | 
| commit | 3c065ceded2a58d5aadbcf64417f2cfc92268a08 (patch) | |
| tree | 95e965feeb2313dd657c8335c57b16fffefff9a0 /solo-tool-project/src/solo_tool | |
| parent | 0821b21761a6d47ac1d34c2142365dbaa361b79e (diff) | |
Refactor fixtures, introduce song pool argument
Diffstat (limited to 'solo-tool-project/src/solo_tool')
| -rw-r--r-- | solo-tool-project/src/solo_tool/player_mpv.py | 2 | ||||
| -rw-r--r-- | solo-tool-project/src/solo_tool/session_manager.py | 4 | ||||
| -rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 11 | 
3 files changed, 10 insertions, 7 deletions
| diff --git a/solo-tool-project/src/solo_tool/player_mpv.py b/solo-tool-project/src/solo_tool/player_mpv.py index b9ab266..1297b63 100644 --- a/solo-tool-project/src/solo_tool/player_mpv.py +++ b/solo-tool-project/src/solo_tool/player_mpv.py @@ -41,7 +41,7 @@ class Player:      def setCurrentSong(self, path):          self.pause() -        self._player.play(path) +        self._player.play(str(path))      def setPlayingStateChangedCallback(self, callback):          self._playingStateCallback = callback diff --git a/solo-tool-project/src/solo_tool/session_manager.py b/solo-tool-project/src/solo_tool/session_manager.py index 9744b57..cd5ebf7 100644 --- a/solo-tool-project/src/solo_tool/session_manager.py +++ b/solo-tool-project/src/solo_tool/session_manager.py @@ -1,11 +1,11 @@  import json  from . import SoloTool -def loadSession(file: str) -> SoloTool: +def loadSession(file: str, songPool: str, player=None) -> SoloTool:      with open(file, "r") as f:          session = json.load(f) -    st = SoloTool() +    st = SoloTool(songPool, player=player)      for i, entry in enumerate(session):          songPath = entry["path"] diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index a55184e..349f3a0 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -1,10 +1,12 @@  import os +from pathlib import Path  from .notifier import Notifier  from .player_mpv import Player  class SoloTool: -    def __init__(self, player=None): +    def __init__(self, songPool: str, player=None): +        self._songPool = Path(songPool)          self._player = Player() if player is None else player          self._notifier = Notifier(self._player)          self._songs = [] @@ -16,7 +18,7 @@ class SoloTool:          previousSong = self._song          self._song = index          self._player.pause() -        self._player.setCurrentSong(self._songs[index]) +        self._player.setCurrentSong(self._songPool / self._songs[index])          self._notifier.notify(Notifier.CURRENT_SONG_EVENT, index)          previousKp = self._keyPoint @@ -35,12 +37,13 @@ class SoloTool:      def songs(self) -> list[str]:          return self._songs.copy() -    def addSong(self, path: str) -> None: +    def addSong(self, fileName: str) -> None: +        path = self._songPool / fileName          if not os.path.isfile(path):              raise FileNotFoundError(path)          if path in self._songs:              return -        self._songs.append(path) +        self._songs.append(fileName)          self._keyPoints.append([])          self._notifier.notify(Notifier.SONG_LIST_EVENT, self.songs)          if self.song is None: | 
