import sys from pathlib import Path # MARK: - Import Bootstrap PROJECT_ROOT = Path(__file__).resolve().parent if not getattr(sys, "frozen", False): sys.path.insert(0, str(PROJECT_ROOT)) from src.gui.main_window import MainWindow from src.gui.backend_runner import BackendRunner from PyQt6.QtWidgets import QApplication from PyQt6.QtCore import QCoreApplication # MARK: - Application Entry Point def main(): app = QApplication(sys.argv) QCoreApplication.setOrganizationName("LyricFlow") QCoreApplication.setOrganizationDomain("lyricflow.local") QCoreApplication.setApplicationName("LyricFlow") backend_runner = BackendRunner() try: backend_runner.start() except Exception as e: print(f"Failed to start C# backend: {e}") window = MainWindow() window.show() exit_code = app.exec() # Cleanup backend backend_runner.stop() sys.exit(exit_code) if __name__ == "__main__": main()