Pult: Stream-PC per Tipp freigeben, Sound-Quelle legt er selbst in OBS an
Paket bauen und veroeffentlichen / paket (push) Successful in 42s
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:
1 parent
32416d1916
commit
54dbe1265b
15 files changed
+675
-50
No files matched your search
@@ -369,8 +369,8 @@
|
||||
$('obs-da').hidden = fehlt;
|
||||
if (!o.pc) {
|
||||
$('obs-fehlt-titel').textContent = 'Stream-PC nicht verbunden';
|
||||
$('obs-fehlt-text').textContent = 'Auf dem Stream-PC muss abdulive ingest laufen und einmal mit ' +
|
||||
'„abdulive fern:verbinden …“ eingerichtet sein. Der Befehl steht auf der Übersicht unter „Stream-PC verbinden“.';
|
||||
$('obs-fehlt-text').textContent = 'Sobald abdulive auf dem Stream-PC läuft, meldet er sich hier ' +
|
||||
'und du tippst einmal auf „Freigeben“. Läuft er schon, ist er vielleicht aus oder offline.';
|
||||
} else if (!o.obs) {
|
||||
$('obs-fehlt-titel').textContent = 'OBS ist nicht erreichbar';
|
||||
$('obs-fehlt-text').textContent = 'Der Stream-PC ist da, aber OBS nicht. Läuft OBS, und ist ' +
|
||||
@@ -436,6 +436,60 @@
|
||||
obsRuf(b, { was: 'stumm', quelle: b.dataset.quelle, stumm: b.dataset.stumm === '1' ? '0' : '1' });
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------ Freigabe
|
||||
|
||||
// Ein Stream-PC, der sich zum ersten Mal meldet, wartet hier auf einen
|
||||
// Tipp. Name und Adresse kommen vom PC selbst - eine Anfrage, die man nicht
|
||||
// erwartet, lehnt man ab.
|
||||
function zeigeAnfragen(liste) {
|
||||
var box = $('anfragen');
|
||||
box.textContent = '';
|
||||
$('nav-fern').hidden = !liste.length;
|
||||
liste.forEach(function (a) {
|
||||
var k = el('div', 'anfrage');
|
||||
k.appendChild(el('h2', '', 'Stream-PC „' + a.name + '“ möchte sich verbinden'));
|
||||
var seit = new Date(a.seit);
|
||||
k.appendChild(el('p', '', 'Von ' + a.adresse + ', seit ' +
|
||||
seit.toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit' }) +
|
||||
' Uhr. Danach steuert das Pult OBS auf diesem Rechner.'));
|
||||
var reihe = el('div', 'reihe');
|
||||
var ja = el('button', 'knopf primaer', 'Freigeben');
|
||||
ja.type = 'button'; ja.dataset.was = 'freigeben'; ja.dataset.id = a.id;
|
||||
var nein = el('button', 'knopf', 'Ablehnen');
|
||||
nein.type = 'button'; nein.dataset.was = 'ablehnen'; nein.dataset.id = a.id;
|
||||
reihe.appendChild(ja); reihe.appendChild(nein);
|
||||
k.appendChild(reihe);
|
||||
box.appendChild(k);
|
||||
});
|
||||
}
|
||||
|
||||
function ladeAnfragen() {
|
||||
holen('/pult/fern').then(function (b) { zeigeAnfragen(b.anfragen || []); }, function () { /* still */ });
|
||||
}
|
||||
|
||||
$('anfragen').addEventListener('click', function (e) {
|
||||
var b = e.target.closest('button[data-was]');
|
||||
if (!b) return;
|
||||
tippen();
|
||||
mitWarten(b, rufen('/pult/fern', { was: b.dataset.was, id: b.dataset.id })).then(function (r) {
|
||||
melden(r.text, r.ok ? 'ok' : 'fehler');
|
||||
if (r.anfragen) zeigeAnfragen(r.anfragen);
|
||||
});
|
||||
});
|
||||
|
||||
$('trennen').addEventListener('click', function () {
|
||||
var b = $('trennen');
|
||||
if (!b.dataset.sicher) {
|
||||
b.dataset.sicher = '1';
|
||||
b.textContent = 'Wirklich trennen? Danach neu freigeben.';
|
||||
setTimeout(function () { b.dataset.sicher = ''; b.textContent = 'Stream-PC trennen'; }, 4000);
|
||||
return;
|
||||
}
|
||||
b.dataset.sicher = '';
|
||||
b.textContent = 'Stream-PC trennen';
|
||||
rufen('/pult/fern', { was: 'trennen' }).then(function (r) { melden(r.text, r.ok ? 'ok' : 'fehler'); });
|
||||
});
|
||||
|
||||
// ------------------------------------------------------------ Liegestuetze
|
||||
|
||||
function zeigeLz(st) {
|
||||
@@ -581,6 +635,7 @@
|
||||
case 'sound': knall(ev.id); break;
|
||||
case 'sounds-geaendert': ladeSounds(); break;
|
||||
case 'tts': ladeWartend(); break;
|
||||
case 'fern-anfrage': ladeAnfragen(); break;
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -611,6 +666,7 @@
|
||||
ladeWartend();
|
||||
}, function () { /* abgemeldet oder weg - zeigt sich oben */ });
|
||||
ladeSounds();
|
||||
ladeAnfragen();
|
||||
verbinde();
|
||||
wachHolen();
|
||||
|
||||
|
||||
Reference in new issue
Block a user