***************************
* Raspberry Pi Beamertool *
***************************
Original von Moritz <mo@blog-srv.net>, portiert auf Raspberry Pi 4 /
Raspberry Pi OS Lite (64bit) bzw. Debian 13 "trixie".

--------------------------------
Was sich gegenüber dem Original geändert hat
--------------------------------
Das Original nutzte den alten Broadcom-"Legacy"-Grafikstack
(bcm_host/Dispmanx/EGL, OpenGL ES 1.1 Fixed-Function, OpenMAX IL/ilclient
für Hardware-Videodecoding). Dieser Stack existiert auf dem Pi 4 und unter
Debian 13 nicht mehr (moderner KMS/DRM-Treiber, Mesa V3D).

 - Fenster/Grafikkontext: SDL2 (Videotreiber "kmsdrm") statt bcm_host/Dispmanx/EGL
 - Rendering: OpenGL ES 2.0 mit eigenem Shader statt GLES1 Fixed-Function
 - Video: wird über einen externen mpv-Prozess pro Kanal abgespielt statt
   über OpenMAX-Hardwaredecoding in eine EGL-Textur. WICHTIG: Video wird
   dadurch NICHT mehr als Textur in die Laser-Szene eingemischt, kann also
   nicht mehr mitrotiert/gezoomt oder mit anderen Canvases überlagert
   werden. Für das Kernfeature (DMX-gesteuerte Gobos/Muster als PNG/GIF)
   ändert sich nichts.
 - unterstützte Videoformate: mp4, mkv, mov, avi, webm, h264 (vorher nur
   rohe .h264-Elementarstreams)
 - Videogröße wird über ffprobe ermittelt statt über mediainfo
 - Autostart über systemd (rpi-beamertool.service) statt /etc/rc.local
 - Installer nutzt apt statt aptitude und baut aus dem Quellcode

Unverändert/portabel geblieben: Art-Net-Empfang, Konfiguration
(resources/config.txt), ncurses-Konsole, Canvas-/Zoom-/Rotationslogik,
GIF-Loader, PNG-Loader (stb_image), das PHP-Webinterface (tools/index.php).

-----------------------------
Installation
-----------------------------
Getestet mit Raspberry Pi OS Lite (64bit, Bookworm/Trixie) und Debian 13
"trixie" auf einem Raspberry Pi 4.

Automatisch (empfohlen):

    sudo ./tools/rpi-bt-install.sh

Das Skript installiert die Build-Abhängigkeiten, baut das Programm, kopiert
alles nach /opt/rpi-beamertool und richtet den systemd-Autostart ein.

Manuell:

    sudo apt-get update
    sudo apt-get install build-essential cmake pkg-config \
        libsdl2-dev libgles2-mesa-dev libncurses-dev mpv ffmpeg

    mkdir build && cd build
    cmake ..
    make -j$(nproc)
    ./rpi-beamertool

-----------------------------
Bedienung / Deinstallation
-----------------------------
    systemctl start rpi-beamertool      # bzw. tools/rpi-bt-start.sh
    systemctl restart rpi-beamertool    # bzw. tools/rpi-bt-restart.sh
    journalctl -u rpi-beamertool -f     # Logs
    sudo ./tools/rpi-bt-uninstall.sh    # deinstallieren

-----
INFO:
-----
 - Läuft auf der Konsole ganz ohne Desktop (X11/Wayland) über KMS/DRM.
   Der ausführende Nutzer muss in den Gruppen "video" und "render" sein
   (macht der Installer automatisch); nach dem ersten Hinzufügen ggf.
   einmal neu einloggen/rebooten.
 - Die Berechnung der automatischen Drehungen und des Shutters erfolgt pro
   Frame (wie im Original/Windows-Beamertool). Besser wäre eine
   Berechnung pro Zeit, da die Framerate von 60 FPS bei vielen großen
   Gobos absinken kann.
 - Der Animationsregler ist wirkungslos, das Steuern von Videos und GIFs
   ist (noch) nicht implementiert.
 - Faustformel gegen Framerate-Probleme: solange Skalierung, Anzahl und
   Zoom so eingestellt sind, dass sich keine Gobos überlappen, sollte es
   keine Probleme geben (Überlappung mit anderen Laser-Instanzen ist
   damit nicht gemeint).
 - Man kann wählen, ob sich die Zoomfunktion wie im Original verhält oder
   in einen Kreis zoomt.
 - Für Videowiedergabe wird mpv benötigt (installiert der Installer
   automatisch): sudo apt-get install mpv ffmpeg
