Pult: Stream-PC per Tipp freigeben, Sound-Quelle legt er selbst in OBS an
Paket bauen und veroeffentlichen / paket (push) Successful in 42s

- ingest wuerfelt beim ersten Start einen Schluessel und meldet sich beim
  Hub; der antwortet 202, bis im Pult jemand auf Freigeben tippt
- nach dem Verbinden schickt der Hub die Adresse von /sounds, ingest legt
  Szene "abdulive Ton" mit der Browser-Source an und haengt sie in jede Szene
- fern:verbinden bleibt als Weg von Hand

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZeasyAlexandClaude Opus 5.5 committed 2026-10-26 13:03:06 +01:00
1 parent 32416d1916
commit 54dbe1265b
15 files changed
+675 -50

No files matched your search

+13
View File
@@ -80,6 +80,12 @@ export type Config = {
* Redirect-URI passen muss.
*/
publicUrl: string;
/**
* Wo der Hub steht, bei dem sich der Stream-PC fuers Pult anmeldet. Als
* Vorgabe fest eingetragen, damit auf Abdus Rechner nichts einzurichten
* ist. Leer heisst: keine Fernsteuerung (auch per FERN_URL= abschaltbar).
*/
fern: { url: string };
ingestServer: { port: number };
dashboard: { port: number };
raw: YamlMap;
@@ -151,6 +157,7 @@ const DEFAULTS = {
},
overlay: { port: 4791, enabled: true },
publicUrl: '',
fern: { url: 'https://abdu.dimension47.de' },
ingestServer: { port: 4790 },
dashboard: { port: 4792 },
};
@@ -180,6 +187,12 @@ export function loadConfig(): Config {
// Unit-Datei, nicht in einer YAML, die mitversioniert wird.
if (process.env.PUBLIC_URL) merged.publicUrl = process.env.PUBLIC_URL;
merged.publicUrl = merged.publicUrl.replace(/\/+$/, '');
// Auch leer gesetzt gewinnt die Umgebung: so meldet sich ein Rechner zum
// Entwickeln nicht beim echten Hub an.
// Neues Objekt statt Zuweisung: ohne Eintrag in der YAML ist merged.fern
// dasselbe Objekt wie in DEFAULTS.
const fernUrl = process.env.FERN_URL ?? merged.fern.url;
merged.fern = { ...merged.fern, url: fernUrl.replace(/\/+$/, '') };
cached = { ...merged, raw } as Config;
return cached;
}