# 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 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 ```