102 lines
6.2 KiB
Markdown
102 lines
6.2 KiB
Markdown
# Web SongBeamer (Version 2.1)
|
|
|
|
Ein professionelles, webbasiertes Tool zur Präsentation von Liedtexten und Bibelstellen für Gottesdienste und Veranstaltungen (ähnlich wie der originale SongBeamer). Es nutzt einen Server-Client-Ansatz und kann auf beliebigen Geräten über den Webbrowser genutzt werden.
|
|
|
|
## Features
|
|
|
|
- **Verbindungsstabilität (Beamer):** Sehr performantes System (300ms Polling ohne Blockierung des PHP-Servers). Der Beamer verliert nie die Verbindung und geht dank Wake-Lock-API nicht in den Sleep-Modus.
|
|
- **Folien-Galerie (Control):** Alle Folien des aktuellen Liedes werden als übersichtliche Galerie unter dem Hauptbildschirm dargestellt. Klick auf eine Karte navigiert sofort dorthin.
|
|
- **Smarte Bibelsuche:** Intelligentes Prefix-basiertes Matching. Die Eingabe von z. B. `o` schlägt direkt "Offenbarung" vor. Wenn es mehrere Treffer gibt (z. B. "jo"), werden die Optionen zur Verfeinerung angezeigt. Fehler bei der Eingabe (wie `1. Petrus` oder `1petrus`) werden problemlos erkannt.
|
|
- **Live & Preview Logik:** Suchergebnisse (Lieder oder Bibelstellen) können über die `Enter`-Taste erst in einer Vorschau geladen und mit einem zweiten `Enter` auf den Beamer übertragen werden.
|
|
- **Zentrale Einstellungen (`settings.php`):** Konfiguriere globale Parameter (wie die Größe der Folien-Galerie) komfortabel über ein eigenes Interface.
|
|
|
|
---
|
|
|
|
## Bedienungsanleitung (Handbuch für Operatoren)
|
|
|
|
Wenn du das Projekt aufrufst, erscheint eine Auswahlseite mit zwei Knöpfen: **Control** und **Beamer**.
|
|
|
|
### 1. Control (Steuerungsoberfläche)
|
|
Hier wählst du Lieder aus und steuerst die Präsentation. Dieses Fenster bleibt auf dem Hauptbildschirm des Operators.
|
|
|
|
#### 1.1 Lieder auswählen und suchen
|
|
- Im Menü auf der linken Seite siehst du alle `.sng`-Dateien aus dem Ordner `files/songs/`.
|
|
- **Die Suchleiste** (Fokus mit `Alt+F` oder `/`) erlaubt das Filtern nach Titel, Datei-Pfad oder ChurchSongID.
|
|
- **Tastatur-Flow:** Wenn du in der Suchleiste eine Nummer eintippst und das Lied oben in der Liste erscheint, drücke **1x Enter**. Das Lied wird auf deinem Laptop als **Vorschau** geladen. Drücke **nochmal Enter**, um es live auf den Beamer zu schalten. Du kannst Lieder alternativ auch einfach direkt mit der Maus anklicken (dann gehen sie sofort live).
|
|
|
|
#### 1.2 Folien steuern (Slide-Strip)
|
|
- Unter der Hauptansicht befindet sich die **Folien-Galerie**. Hier siehst du alle Folien (Strophen, Refrains, etc.) als kleine Kärtchen nebeneinander.
|
|
- Klicke ein Kärtchen an, um es live auf den Beamer zu schicken.
|
|
- **Navigation per Tastatur:**
|
|
- `+` (Plus) oder `Enter` (außerhalb der Suche) oder `Pfeil Rechts`: **Nächste Folie**
|
|
- `-` (Minus) oder `Pfeil Links`: **Vorherige Folie**
|
|
- `1-9`: Direkter Sprung zu einer bestimmten Folie (z.B. Folie 1).
|
|
- `0`: Schwarzer Bildschirm (Black Screen). Erneut drücken, um das Bild wieder einzublenden.
|
|
|
|
#### 1.3 Bibelstellen projizieren
|
|
Durch die Eingabe von `/` in der Suchleiste, gefolgt von der Bibelstelle, wechselst du in den Bibel-Modus (lädt beim ersten Mal die Datenbank `GerSch.json`).
|
|
- **Aufbau der Suche:** `/[Buch] [Kapitel],[Vers]` (Komma, Punkt oder Doppelpunkt ist möglich)
|
|
- **Beispiele:**
|
|
- `/1m 1,1` (1. Mose Kapitel 1, Vers 1)
|
|
- `/o 21,1` (Offenbarung Kapitel 21, Vers 1)
|
|
- **Preview & Live:** Einmal `Enter` = Lokale Vorschau auf dem Laptop. Ein zweites Mal `Enter` = Text wird live auf den Beamer gesendet.
|
|
|
|
#### 1.4 Einstellungen und Anpassungen
|
|
- **Lokale Einstellungen:** Klicke oben rechts auf das Farbpaletten-Icon. Hier kannst du die Farben für mehrsprachige Lieder definieren (Sprache 1, 2, 3, 4). Diese werden in deinem Browser gespeichert.
|
|
- **Globale Einstellungen:** Klicke oben rechts auf das Zahnrad-Icon (`settings.php`). Hier kannst du (für alle Operator gültig) die Größe und Schriftgröße der kleinen Galerie-Kärtchen einstellen.
|
|
- **Schriftgröße (Beamer):** Über die Knöpfe `A-` und `A+` passt du live die Textgröße für das Publikum an.
|
|
|
|
---
|
|
|
|
### 2. Beamer (Projektoransicht)
|
|
Dieses Fenster ist für das Publikum gedacht.
|
|
- Ziehe es auf den zweiten Bildschirm (Beamer/Leinwand) und drücke `F11` (Vollbildmodus).
|
|
- Es ist kein Neuladen nötig. Die Seite synchronisiert sich im Hintergrund 3x pro Sekunde (`sync.json`) völlig automatisch und extrem ressourcenschonend.
|
|
- Der Mauszeiger wird auf diesem Bildschirm automatisch unsichtbar gemacht.
|
|
|
|
### 3. Dateimanager (File Manager)
|
|
In der Control-Ansicht gibt es oben rechts den Button "Dateimanager" (Ordner-Icon). Er öffnet ein eigenständiges Werkzeug, mit dem du bequem vom Browser aus neue Lieder (`.sng`) hochladen oder Ordner anlegen kannst, ohne auf das Dateisystem des Servers direkt zugreifen zu müssen.
|
|
|
|
---
|
|
|
|
## Installation & Systemanforderungen
|
|
|
|
### Anforderungen
|
|
- **PHP 8.0 oder neuer** (z. B. über XAMPP, WAMP oder den integrierten PHP-Server).
|
|
- Keine Datenbank (MySQL/MariaDB) erforderlich. Alles läuft über JSON-Dateien.
|
|
|
|
### Installation (Windows / Lokal)
|
|
1. Führe folgenden Befehl in der Windows PowerShell (als Administrator) aus, um das Paket zu installieren (wenn das Script existiert):
|
|
```powershell
|
|
iex (irm "https://joelunger.de/downloads/wsb/windows")
|
|
```
|
|
|
|
### Installation (Linux / macOS / Manuell)
|
|
1. Repository klonen oder den Ordner auf deinen Rechner kopieren:
|
|
```bash
|
|
git clone <repository-url> web-songbeamer
|
|
cd web-songbeamer
|
|
```
|
|
2. Starte den integrierten PHP-Server im Hauptverzeichnis des Projekts:
|
|
```bash
|
|
php -S localhost:4000
|
|
```
|
|
3. Öffne deinen Webbrowser und rufe die Seite auf: `http://localhost:4000`
|
|
|
|
---
|
|
|
|
## Projektstruktur
|
|
```text
|
|
web-songbeamer/
|
|
├── index.html # Startseite (Auswahl Control / Beamer)
|
|
├── control.php # Die Steuerungsseite (Für den Operator)
|
|
├── beamer.php # Die Beamer-/Präsentationsseite
|
|
├── settings.php # Benutzeroberfläche für globale Einstellungen (Galeriegrößen)
|
|
├── config.php # Speichert die Werte von settings.php
|
|
├── sync.json # Echtzeit-Datenpuffer für Control und Beamer
|
|
├── GerSch.json # Bibeldatenbank (~8.5 MB)
|
|
└── files/ # Datenspeicher
|
|
├── songs/ # Lieder (.sng Dateien)
|
|
└── index.php # Web-Datei-Manager für Lieder-Uploads
|
|
```
|