aboutsummaryrefslogtreecommitdiffstats
path: root/solo-tool-project/src
diff options
context:
space:
mode:
authorEddy Pedroni <epedroni@pm.me>2025-02-22 10:29:50 +0100
committerEddy Pedroni <epedroni@pm.me>2025-02-22 10:29:50 +0100
commitc990b0231c425743622368399aaf3b3b7231c481 (patch)
tree9716bcc6d03bb5f7e24ec9fd3ebaca758ac4f1fb /solo-tool-project/src
parent86660e2498e17e51be77e41be4b53cf0c734f90b (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.py19
-rw-r--r--solo-tool-project/src/solo_tool/solo_tool_controller.py12
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