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