🦖 DinosDrums OS – Benutzerhandbuch
Dieses Dokument liefert eine vollständige technische Referenz über alle Funktionen des DinosDrums Betriebssystems (v1.0).
2. Dashboard & Action Pads (Makros)
Die Startseite (Dashboard) ist in zwei Bereiche geteilt. Die linke Spalte enthält die Action Pads. Dies sind virtuelle Schalter, die komplexe Befehlsketten (Makros) ausführen können.
Pads verwalten
- Hinzufügen: Klick auf das
+Symbol in einer Kategorie. - Bearbeiten:
[Ⓜ]öffnet den Makro-Editor.RENbenennt das Pad um oder verschiebt es in eine andere Kategorie. - Sortieren: Pads können bei aktiviertem Edit-Modus per Drag & Drop sortiert werden.
Makro-Typen
Im Editor können beliebig viele Befehle mit individuellen Delays (in Sekunden) gestapelt werden:
| Typ | Funktion |
|---|---|
| Action Pad | Löst ein anderes, bestehendes Pad aus (Verkettung). |
| MIDI CC/PC/Note | Sendet Standard-MIDI Befehle an definierte Outputs. |
| DMX Licht | Sendet Art-Net DMX-Werte (0-255) auf einem spezifischen Kanal. |
| WebSocket | Sendet native String-Befehle (z.B. Mutes) direkt an das Ui-Mischpult. |
| Terminal Shell | Führt Linux Bash-Befehle auf dem Raspberry Pi aus (z.B. sudo poweroff). |
| HA Szene | Triggert programmierte Home Assistant Lichtstimmungen. |
| Subsnap FX | Wendet aufgenommene Pult-Korrekturen sofort an. |
Sonderfunktion: Pads, die exakt AUTOSTART oder BOOT benannt werden, führt das OS beim Hochfahren automatisch aus.
3. Snapshot Matrix (Song-Verwaltung)
Die rechte Spalte des Dashboards verwaltet den Ablauf des Gigs. Ein Snapshot (Song) ist an eine MIDI Program Change (PC) Nummer gebunden.
Trigger-Ablauf beim PC-Wechsel
Wird eine neue PC-Nummer empfangen (z.B. vom SPD-SX), arbeitet das System folgende Kette ab:
- Speichert automatisch den letzten Mix (sofern Autosave aktiv ist).
- Setzt die global verknüpfte MIDI-Map für ankommende Trigger.
- Sendet PC-Befehle (mit definierten Offsets) an verknüpfte Hardware-Geräte.
- Weist das Ui-Pult an, den Basis-Snapshot zu laden.
- Wendet das definierte BPM-Tempo an.
- Triggert die verknüpfte Home Assistant Szene.
- Feuert einen hinterlegten Subsnap ab.
Im [CFG]-Menü eines Songs können zudem Hardware-Relaiszustände (Rack) fest in den Song gebrannt werden.
4. Subsnap Recorder (Partial Recall)
Da Mischpulte bei einem Snapshot-Wechsel in der Regel alle Parameter überschreiben, schützt der Subsnap-Recorder den aktuellen Soundcheck.
Klicke auf den roten Button [⏺ FX] neben einem Song. Es öffnet sich die aktuelle Kanalübersicht des Mischpults.
- Aufnahme: Wähle die Parameter (Mute, Fader, FX1/2), die für diesen Song relevant sind. Das OS liest die echten Werte vom Pult aus und speichert sie als JSON.
- Kategorie-Zuweisung: Wird der Subsnap an eine Kategorie (z.B. "Akustik-Set") gebunden, wird er bei jedem Song dieser Kategorie geladen, sofern der Song nicht durch einen eigenen Override-Subsnap überschrieben wird.
5. Live View (In-Ear Dashboards)
Die Ansicht 🎚️ LIVE VIEW erlaubt die Erstellung Custom-Fader-Oberflächen, optimiert für Touchscreens.
- Widget Builder: Im Edit-Modus können Ui16-Kanäle, MIDI-CC-Regler, Action-Pads oder Smart-Home-Dimmer als Boxen angelegt werden.
- Auto-Sync: Im Config-Bereich der Matrix kann einem Song ein Dashboard zugewiesen werden. Wird der Song gewechselt, laden alle offenen Live-Views im Netzwerk automatisch das korrekte Dashboard.
6. Matrix View (Routing)
Die Ansicht 🕸️ MATRIX ist eine reine Visualisierungsebene. Sie fragt den State des Ui-Mischpults ab und zeichnet dynamische Vektorlinien (Beziér-Kurven) zwischen Inputs, Busses und Outputs, abhängig davon, ob Fader hochgezogen sind und Mutes deaktiviert sind.
7. Hardware Rack (Relais)
In der Ansicht 🎛️ RACK werden physische Hardware-Schalter konfiguriert. Das System sendet Status-Updates via UDP an einen konfigurierten Raspberry Pi Pico, der Relais schaltet (z.B. für Amp-Channels oder Loop-Pedale).
8. Global Settings
Unter Global Settings auf der Config-Seite werden die Basis-Parameter für den Betrieb festgelegt:
- Show Name: Der exakte Name der Show im Soundcraft Ui-Mischpult (wichtig für Snapshot-Befehle).
- PC Change Delay: Verzögerung in Sekunden, bevor ein Song-Wechsel nach Empfang des MIDI-Befehls ausgeführt wird (Schutz gegen versehentliche Doppel-Trigger).
- Backup Verzeichnis: Lokaler Pfad auf dem Pi, in dem Backups des Skripts und der JSON-Konfigurationen abgelegt werden.
- Mac NFS Share: Optionaler Mount-Punkt, um Backups direkt auf einen externen Rechner (z.B. den Haupt-Mac) zu schreiben.
9. Netzwerk & UDP Einstellungen
Regelt die Kommunikation mit externer Hardware und Software:
- Mac IP: IP-Adresse des Rechners, an den MIDI-Befehle via UDP weitergeleitet werden.
- UDP Ports: Ports für den Empfang (vom Mac) und das Senden (zum Mac/Pico) von MIDI-Datenpaketen.
- Pi Pico IP: Adresse des Mikrocontrollers, der das physische Hardware-Relais-Rack steuert.
10. Home Assistant (Scenes)
Erlaubt die Erstellung von Lichtshows und Automationen über Webhooks.
- Pipeline-Syntax: Befehle werden zeilenweise abgearbeitet. Beispiel:
light.drums | rgb: 255,0,0 | bri: 100 - LOOP & DELAY: Ermöglicht pulsierende Effekte oder zeitgesteuerte Abläufe.
11. MIDI Map Profiles
Ermöglicht das "Re-Mapping" von ankommenden MIDI-Daten in Echtzeit:
- Profile: Es können verschiedene Mappings erstellt werden (z.B. eins für das Üben zu Hause, eins für die Bühne).
- Rules: Definieren, welche Note/CC-Nummer auf welchem Kanal in welchen Ziel-Befehl übersetzt wird (z.B. Note 36 -> PC 5).
12. Hardware Input Maps (Triggers)
Verknüpft physische Eingänge (Pads/Trigger am SPD-SX) mit Software-Aktionen:
- Mapping: Ein ankommendes MIDI-Signal löst ein spezifisches Action Pad aus.
- Context-Switching: Trigger können songabhängig aktiviert werden. Ein Trigger kann auf "IMMER SCHARF" stehen oder nur bei bestimmten Songs funktionieren.
- Threshold: Mindest-Velocity/Wert, damit der Trigger auslöst.
13. Device Management
Hier wird die Hardware-Peripherie verwaltet:
- Gerätetypen: HTML (Ui-Mischpult), MIDI PC (externe Hardware wie SPD-SX) oder Art-Net (DMX Licht-Nodes).
- Master Status: Legt fest, ob dieses Gerät das gesamte OS umschalten darf (z.B. SPD-SX schaltet Songs am Pi um).
- PC Offset: Korrekturwert für Program Changes, falls externe Geräte bei 1 statt 0 anfangen zu zählen.
14. System Code Updater
Ermöglicht Wartungsarbeiten direkt im Browser:
- Live Patching: Der Python-Code von
ui16_bridge.pykann im Editor bearbeitet werden. - Syntax-Check: Vor dem Speichern prüft das System den Code auf Fehler, um einen Absturz zu verhindern.
- Backup/Restore: Ermöglicht das Erstellen und Laden von Sicherungspunkten.
15. Notfall Troubleshooting (SSH)
Befehle für den Terminal-Zugriff, falls das Web-Interface nicht reagiert oder das Skript abstürzt.
Standard-Kommandos
| OS Service Status abfragen | sudo systemctl status ddos.service |
| Live-Fehler (Logs) anzeigen | journalctl -u ddos.service -f |
| OS Service neustarten | sudo systemctl restart ddos.service |
| Sicher herunterfahren | sudo poweroff |
System-Code manuell aus Backup wiederherstellen
Sollte der Browser-Editor das System gecrasht haben, stelle die lauffähige Version über das Terminal wieder her:
# 1. In das Arbeitsverzeichnis wechseln cd ~/ddos # 2. Die aktuelle (defekte) Datei umbenennen mv ui16_bridge.py ui16_bridge_broken.py # 3. Das letzte funktionierende Backup kopieren (Dateiname anpassen!) cp ~/.dinosdrumsOS/backups/ui16_bridge_2024XXXX_XXXXXX.py ui16_bridge.py # 4. Den Dienst neu starten sudo systemctl restart ddos.service