- Python 70.8%
- HTML 25%
- JavaScript 2.2%
- Batchfile 2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs | ||
| src/announcement_studio | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| run.py | ||
| Setup.cmd | ||
| Start Studio.cmd | ||
MSFS Announcement Studio
Python-Werkzeug zur Erstellung individueller Ansagetexte für den MSFS Universal Announcer. Die geplante Weboberfläche dient der Administration. Betrieb auf dem Windows-11-Simulator-PC; Bedienung lokal im Browser über localhost. Entwicklung in PyCharm. Ein Starter und ein PowerShell-Update-Einzeiler sind geplant. Spracherzeugung, Flugphasenerkennung und Wiedergabe übernimmt der Universal Announcer.
Entwicklungsstand
Die lokale Weboberfläche bietet Einstellungen, SimBrief-Flugübersicht und Crew-Auswahl (zufällig, manuell oder kombiniert). Einstellungen und Crew bleiben über Neustarts hinweg erhalten. Ein erneuter Abruf desselben Flugplans behält die Crew; ein neuer SimBrief-Plan gilt als neuer Flugstand. Ein Abruffehler lässt den bisherigen Stand unverändert. KI-Generierung, Texteditor, Export und Update-Einzeiler folgen im nächsten Schritt. Announcer-Dateien werden noch nicht verändert.
Start per Doppelklick
- Einmal
Setup.cmdausführen (Python 3.11 oder neuer und Internet benötigt). Start Studio.cmdstarten. Der Browser öffnet http://127.0.0.1:8765.- SimBrief-Benutzernamen und optional den Announcements-Ordner speichern.
- „Aus SimBrief laden“ anklicken. Crew und Atmosphäre werden automatisch gewählt.
Bei „Selbst wählen“ bleiben leere Felder zufällig. Neu-Würfeln verändert nur zufällige Felder. Das Konsolenfenster während der Nutzung offen lassen; zum Beenden schließen oder Strg+C drücken. PyCharm wird im Alltag nicht benötigt. Ein zweiter Start öffnet die bereits laufende Anwendung.
Start in PyCharm
- Diesen Ordner als Projekt öffnen.
- Unter Python Interpreter die vorhandene
.venv/Scripts/python.exeauswählen. run.pystarten. Optional--no-browseroder--port 8766verwenden.
Alternativ in PowerShell:
.\.venv\Scripts\python.exe run.py
Abhängigkeiten: Flask und Waitress; feste Versionen in requirements.txt.
Kein Node und kein separater Frontend-Build erforderlich. Der Webdienst bindet
nur an 127.0.0.1. Lokale Daten liegen in data/state.json, unabhängig vom
aktuellen Arbeitsverzeichnis. Nur eine Instanz pro Projekt betreiben.
Tests: .\.venv\Scripts\python.exe -m unittest discover -s tests -v
Struktur
src/announcement_studio/domain.py: Flug, Crew und Ansageentwürfe.src/announcement_studio/integrations/: SimBrief-Abruf und Normalisierung.src/announcement_studio/services/: Crew-Auswahl; später Generierung und Aktivierung.src/announcement_studio/web/: Endpunkte, HTML-Vorlagen und Darstellung.src/announcement_studio/storage.py: atomare lokale Speicherung.docs/product.md: Funktionsumfang und Etappen.docs/architecture.md: Aufbau und technische Grenzen.
Lokale Konfiguration, API-Schlüssel und erzeugte Texte gehören nicht ins Repository.
Referenzen
- Vorgänger: https://git.hintergasse.de/hubobel/MSFS_Simbrief
- Universal Announcer: https://github.com/fearlessfrog/MSFS_Universal_Announcer
- SimBrief-Abruf: https://developers.navigraph.com/docs/simbrief/fetching-ofp-data
- Flask-Tests: https://flask.palletsprojects.com/en/stable/testing/