Suno-Prompt-Generator / desktop_app.py
Bobby Collins
Add Windows installer packaging (v1.1.0)
fbe4bfc
"""
Desktop entry point for packaged Suno Prompt Generator.
Launches Gradio and opens it in the default browser.
Runs without a visible console window (PyInstaller --windowed).
"""
import multiprocessing
import os
import signal
import sys
import webbrowser
def main():
# Determine the install/exe directory for .env loading
if getattr(sys, "frozen", False):
# Running as a PyInstaller bundle
app_dir = os.path.dirname(sys.executable)
else:
# Running as a script (dev mode)
app_dir = os.path.dirname(os.path.abspath(__file__))
# Load .env from the install directory
env_path = os.path.join(app_dir, ".env")
from dotenv import load_dotenv
load_dotenv(env_path)
# Import and build the Gradio app
from app import create_app
demo, theme = create_app()
# Launch Gradio — opens in default browser, blocks until closed
demo.launch(
server_name="127.0.0.1",
server_port=0, # Random free port
share=False,
inbrowser=True,
theme=theme,
)
if __name__ == "__main__":
multiprocessing.freeze_support()
main()