diff options
author | Eddy Pedroni <epedroni@pm.me> | 2025-02-22 10:29:50 +0100 |
---|---|---|
committer | Eddy Pedroni <epedroni@pm.me> | 2025-02-22 10:29:50 +0100 |
commit | c990b0231c425743622368399aaf3b3b7231c481 (patch) | |
tree | 9716bcc6d03bb5f7e24ec9fd3ebaca758ac4f1fb /solo-tool-project/src | |
parent | 86660e2498e17e51be77e41be4b53cf0c734f90b (diff) |
Refactor to use properties for song list and current song
Diffstat (limited to 'solo-tool-project/src')
-rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 19 | ||||
-rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool_controller.py | 12 |
2 files changed, 17 insertions, 14 deletions
diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index 38e3d11..47e31ca 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -25,23 +25,26 @@ class SoloTool: position = self._player.getPlaybackPosition() self._abController.positionChanged(position) - def addSong(self, path): + @property + def songList(self) -> list[str]: + return self._playlist.getSongs() + + def addSong(self, path: str) -> None: if os.path.isfile(path): self._sessionManager.addSong(path) - def setSong(self, index): + @property + def song(self) -> int: + return self._playlist.getCurrentSongIndex() + + @song.setter + def song(self, index: int) -> None: previous = self._playlist.getCurrentSongIndex() self._playlist.setCurrentSong(index) new = self._playlist.getCurrentSongIndex() if previous != new: self._notifier.notify(Notifier.CURRENT_SONG_EVENT, new) - def getCurrentSong(self): - return self._playlist.getCurrentSongIndex() - - def getSongs(self): - return self._playlist.getSongs() - def storeAbLimits(self, aLimit, bLimit): self._abController.storeLimits(aLimit, bLimit) diff --git a/solo-tool-project/src/solo_tool/solo_tool_controller.py b/solo-tool-project/src/solo_tool/solo_tool_controller.py index d283725..0529570 100644 --- a/solo-tool-project/src/solo_tool/solo_tool_controller.py +++ b/solo-tool-project/src/solo_tool/solo_tool_controller.py @@ -7,16 +7,16 @@ class SoloToolController: self._soloTool = soloTool def nextSong(self): - current = self._soloTool.getCurrentSong() + current = self._soloTool.song if current is None: - self._soloTool.setSong(0) + self._soloTool.song = 0 else: - self._soloTool.setSong(current + 1) + self._soloTool.song = current + 1 def previousSong(self): - current = self._soloTool.getCurrentSong() + current = self._soloTool.song if current is None: - self._soloTool.setSong(0) + self._soloTool.song = 0 else: - self._soloTool.setSong(current - 1) + self._soloTool.song = current - 1 |