#!/usr/bin/python3 import sys from PyQt6.QtWidgets import QApplication from wobbl_tools.data_file import load_dataclass_json from .settings import Settings from .utils import Utils from .player import Player from .library.library import Library from .gui import GUI class Wobuzz: def __init__(self): self.qt_app = QApplication([]) self.utils = Utils(self) self.settings = load_dataclass_json(Settings, self.utils.settings_location, self, True, True) self.settings.set_attribute_change_event(self.on_settings_change) self.library = Library(self) self.player = Player(self) self.gui = GUI(self) def post_init(self): self.gui.track_control.track_progress_slider.post_init() self.library.load() def on_settings_change(self, key, value): self.gui.on_settings_change(key, value) return True if __name__ == "__main__": wobuzz = Wobuzz() wobuzz.post_init() wobuzz.library.load_playlist_views() sys.exit(wobuzz.qt_app.exec())