From bedca22ca6578c81d47a883ee14817cd8838a21b Mon Sep 17 00:00:00 2001 From: The Wobbler Date: Mon, 3 Feb 2025 17:53:35 +0100 Subject: [PATCH] Removed some mechanic that is going to be reimplemented. --- wobuzz/gui.py | 2 -- wobuzz/library/library.py | 14 ++++++-------- wobuzz/main.py | 2 +- wobuzz/player/player.py | 4 ++-- wobuzz/player/playlist.py | 2 -- wobuzz/player/track.py | 15 ++++++++------- wobuzz/player/track_progress_timer.py | 2 +- wobuzz/settings.py | 3 ++- wobuzz/ui/track_control.py | 8 ++++---- 9 files changed, 24 insertions(+), 28 deletions(-) diff --git a/wobuzz/gui.py b/wobuzz/gui.py index 87d014b..bd67756 100644 --- a/wobuzz/gui.py +++ b/wobuzz/gui.py @@ -11,8 +11,6 @@ class GUI: self.dropped = [] - self.clicked_playlist = self.app.library.temporary_playlist - self.window = MainWindow(app) self.settings = self.window.settings self.track_control = self.window.track_control diff --git a/wobuzz/library/library.py b/wobuzz/library/library.py index 482df6f..46b2bf6 100644 --- a/wobuzz/library/library.py +++ b/wobuzz/library/library.py @@ -18,8 +18,7 @@ class Library: self.main_library_dock = LibraryDock(self) self.library_docks = [self.main_library_dock] - self.temporary_playlist = Playlist(self.app, "Temporary Playlist") - self.playlists = [self.temporary_playlist] + self.playlists = [] def load(self): path_playlists = os.path.expanduser(f"{self.app.settings.library_path}/playlists") @@ -37,12 +36,8 @@ class Library: if file_name.endswith(".m3u"): path = f"{path_playlists}/{file_name}" - if file_name == "Temporary_Playlist.wbz.m3u": - playlist = self.temporary_playlist - - else: - playlist = Playlist(self.app, file_name.replace("_", " ").split(".")[0]) - self.playlists.append(playlist) + playlist = Playlist(self.app, file_name.replace("_", " ").split(".")[0]) + self.playlists.append(playlist) playlist.load_from_m3u(path) @@ -62,6 +57,9 @@ class Library: for playlist in self.playlists: playlist.save() + if self.app.player.current_playlist is not None: + self.app.settings.latest_playlist = self.app.player.current_playlist.path + def new_playlist(self): playlist = Playlist(self.app, self.app.utils.unique_name("New Playlist")) self.playlists.append(playlist) diff --git a/wobuzz/main.py b/wobuzz/main.py index cae008d..d5fd0ca 100644 --- a/wobuzz/main.py +++ b/wobuzz/main.py @@ -19,8 +19,8 @@ class Wobuzz: self.settings = load_dataclass_json(Settings, self.utils.settings_location, self, True, True) self.settings.set_attribute_change_event(self.on_settings_change) - self.player = Player(self) self.library = Library(self) + self.player = Player(self) self.gui = GUI(self) self.post_init() diff --git a/wobuzz/player/player.py b/wobuzz/player/player.py index 5c47a03..9517862 100644 --- a/wobuzz/player/player.py +++ b/wobuzz/player/player.py @@ -18,7 +18,7 @@ class Player: self.track_progress = TrackProgress(self.app) self.history = Playlist(self.app, "History") - self.current_playlist = Playlist(self.app, "None") + self.current_playlist = None self.playing = False self.paused = False @@ -134,7 +134,7 @@ class Player: self.music_channel.stop() self.track_progress.stop() - if not self.current_playlist.current_track is None: + if self.current_playlist is not None and self.current_playlist.current_track is not None: self.current_sound_duration = self.current_playlist.current_track.duration self.playing = False diff --git a/wobuzz/player/playlist.py b/wobuzz/player/playlist.py index 26bad40..20da8c1 100644 --- a/wobuzz/player/playlist.py +++ b/wobuzz/player/playlist.py @@ -72,8 +72,6 @@ class Playlist: if self.current_track is None and self.has_tracks(): self.current_track = self.tracks[0] - #self.app.player.history.append_track(self.current_track) - def load_from_wbz(self, path): pass diff --git a/wobuzz/player/track.py b/wobuzz/player/track.py index 385eaf3..30785ee 100644 --- a/wobuzz/player/track.py +++ b/wobuzz/player/track.py @@ -48,13 +48,14 @@ class Track: If this track is the currently playing track, and it gets moved, this corrects the current playlist index. """ - if self.app.player.current_playlist.current_track is self: - for item in self.items: - if ( - item.playlist in self.occurrences and - self.occurrences[item.playlist][id(item)] == self.app.player.current_playlist.current_track_index - ): - self.app.player.current_playlist.set_track(new_occurrences[item.playlist][id(item)]) + if self.app.player.current_playlist is not None: + if self.app.player.current_playlist.current_track is self: + for item in self.items: + if ( + item.playlist in self.occurrences and + self.occurrences[item.playlist][id(item)] == self.app.player.current_playlist.current_track_index + ): + self.app.player.current_playlist.set_track(new_occurrences[item.playlist][id(item)]) def cache(self): self.load_audio() diff --git a/wobuzz/player/track_progress_timer.py b/wobuzz/player/track_progress_timer.py index 2a5a66b..0ee77a6 100644 --- a/wobuzz/player/track_progress_timer.py +++ b/wobuzz/player/track_progress_timer.py @@ -30,5 +30,5 @@ class TrackProgress: def stop(self): self.timer.stop() - if not self.app.player.current_playlist.current_track is None: + if self.app.player.current_playlist is not None and self.app.player.current_playlist.current_track is not None: self.remaining_time = self.app.player.current_playlist.current_track.duration diff --git a/wobuzz/settings.py b/wobuzz/settings.py index 46e7a81..37cfa21 100644 --- a/wobuzz/settings.py +++ b/wobuzz/settings.py @@ -8,5 +8,6 @@ class Settings: window_size: tuple[int, int]=None window_maximized: bool=False library_path: str="~/.wobuzz" - clear_track_cache: bool=True + clear_track_cache: bool=True, + latest_playlist: str=None diff --git a/wobuzz/ui/track_control.py b/wobuzz/ui/track_control.py index b34c773..eb95ff3 100644 --- a/wobuzz/ui/track_control.py +++ b/wobuzz/ui/track_control.py @@ -80,12 +80,12 @@ class TrackControl(QToolBar): elif self.app.player.playing: # playing self.app.player.pause() - elif self.app.player.current_playlist.has_tracks(): # stopped but tracks in the current playlist + # stopped but tracks in the current playlist + elif self.app.player.current_playlist is not None and self.app.player.current_playlist.has_tracks(): self.app.player.start_playing() - elif self.app.player.current_playlist.title == "None": - if self.app.gui.clicked_playlist.has_tracks(): - self.app.player.start_playlist(self.app.gui.clicked_playlist) + elif self.app.player.current_playlist is None: + pass #self.app.player.start_playlist(self.app.gui.clicked_playlist) def on_playstate_update(self): if self.app.player.playing: