From 56c996bb513880f0243bc2662978151e549508d6 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 13 Jan 2024 14:38:02 +0100
Subject: [PATCH] SpotifyRecorder: fixed log messages

---
 SpotifyAudioRecorder.py | 3 +++
 SpotifyRecorder.py      | 9 +++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/SpotifyAudioRecorder.py b/SpotifyAudioRecorder.py
index ad41943..0cb3246 100644
--- a/SpotifyAudioRecorder.py
+++ b/SpotifyAudioRecorder.py
@@ -63,6 +63,9 @@ class SpotifyAudioRecorder(threading.Thread):
         if not self._stopEvent.is_set():
             self._stopEvent.set()
 
+    def is_stopped(self) -> bool:
+        return self._stopEvent.is_set()
+
 
 if __name__ == '__main__':
     recorder = SpotifyAudioRecorder(
diff --git a/SpotifyRecorder.py b/SpotifyRecorder.py
index 3b6ff28..75aba3b 100644
--- a/SpotifyRecorder.py
+++ b/SpotifyRecorder.py
@@ -88,6 +88,7 @@ class SpotifyRecorder:
 
         recordedTracks = []
         skippedTracks = []
+        errorTracks = []
         for index, track in enumerate(tracks[:2]):
             if track['is_local']:
                 # TODO:
@@ -100,7 +101,7 @@ class SpotifyRecorder:
             LOGGER.info(f'Recording track {index + 1}/{len(tracks)}: "{track["track"]["name"]}"...')
             recorder = None
             try:
-                filePath = self.__determine_file_path(index, track)
+                filePath = self.__determine_file_path(index + 1, track)
                 recorder = SpotifyAudioRecorder(self._audioDeviceName, filePath)
                 recorder.start()
 
@@ -113,12 +114,12 @@ class SpotifyRecorder:
                 recordedTracks.append(track['track']['name'])
             except Exception as e:
                 LOGGER.error(f'An error occurred while recording track "{track["track"]["name"]}"', exc_info=e)
-                skippedTracks.append(track['track']['name'])
-                if recorder is not None and recorder.is_alive():
+                errorTracks.append(track['track']['name'])
+                if recorder is not None and not recorder.is_stopped():
                     recorder.stop()
 
         LOGGER.info('### DONE ###')
-        LOGGER.info(f'{len(tracks)} tracks, {len(recordedTracks)} recorded, {len(skippedTracks)} skipped')
+        LOGGER.info(f'{len(tracks)} tracks, {len(recordedTracks)} recorded, {len(skippedTracks)} skipped, {len(errorTracks)} errors')
 
     def __determine_file_path(self, index: int, track) -> str:
         artists = track['track']['artists']
-- 
GitLab