Wobuzz/wobuzz/main.py

39 lines
1 KiB
Python

#!/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.player import Player
from gui import GUI
from gui_communication.gui_communication import GUICommunication
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.player = Player(self)
self.gui = GUI(self)
self.gui_communication = GUICommunication(self)
track_paths = sys.argv[1:]
if track_paths:
self.player.load_tracks_from_paths(track_paths)
def on_settings_change(self, key, value):
self.gui_communication.on_settings_change(key, value)
return True
if __name__ == "__main__":
wobuzz = Wobuzz()
sys.exit(wobuzz.qt_app.exec())