diff --git a/wobuzz/command_line.py b/wobuzz/command_line.py index cf9f842..407f1f5 100644 --- a/wobuzz/command_line.py +++ b/wobuzz/command_line.py @@ -4,6 +4,8 @@ import os import sys import argparse +from wobuzz.player.playlist import Playlist + def main(): description = "A music player made by The Wobbler." @@ -20,24 +22,34 @@ def main(): app = Wobuzz() if arguments.playlist: - app.library.temporary_playlist.clear() - app.library.temporary_playlist.view.clear() - app.library.temporary_playlist.load_from_m3u(arguments.playlist) - app.library.temporary_playlist.view.load_tracks() + playlist = Playlist(app, "Temporary Playlist") + + playlist.load_from_m3u(arguments.playlist) + + app.library.playlists.append(playlist) + + if app.library.temporary_playlist in app.library.playlists: + app.library.playlists.remove(app.library.temporary_playlist) + app.library.temporary_playlist = playlist if arguments.track: - app.library.temporary_playlist.clear() - app.library.temporary_playlist.view.clear() - # make track paths absolute tracks = [] for track in arguments.track: tracks.append(os.path.abspath(track)) - app.library.temporary_playlist.load_from_paths(tracks) - app.library.temporary_playlist.view.load_tracks() + playlist = Playlist(app, "Temporary Playlist") + playlist.load_from_paths(tracks) + + app.library.playlists.append(playlist) + + if app.library.temporary_playlist in app.library.playlists: + app.library.playlists.remove(app.library.temporary_playlist) + app.library.temporary_playlist = playlist + + app.post_init() sys.exit(app.qt_app.exec()) diff --git a/wobuzz/library/library.py b/wobuzz/library/library.py index 08796f2..6a60fe4 100644 --- a/wobuzz/library/library.py +++ b/wobuzz/library/library.py @@ -19,6 +19,7 @@ class Library: self.library_docks = [self.main_library_dock] self.playlists = [] + self.temporary_playlist = None def load(self): self.load_playlists() @@ -44,6 +45,9 @@ class Library: playlist.load_from_m3u(path) + if playlist.title == "Temporary Playlist": + self.temporary_playlist = playlist + self.load_playlist_views() def load_playlist_views(self): diff --git a/wobuzz/main.py b/wobuzz/main.py index d5fd0ca..37b5176 100644 --- a/wobuzz/main.py +++ b/wobuzz/main.py @@ -23,8 +23,6 @@ class Wobuzz: self.player = Player(self) self.gui = GUI(self) - self.post_init() - def post_init(self): self.gui.track_control.track_progress_slider.post_init() self.library.load() @@ -37,4 +35,5 @@ class Wobuzz: if __name__ == "__main__": wobuzz = Wobuzz() + wobuzz.post_init() sys.exit(wobuzz.qt_app.exec())