# Loupedeck × LaserOS – 4 Plugin-Varianten (Mac)

Vier eigenständige Plugins für **Loupedeck CT / Live / Live S** & **Logitech MX Creative Console**, die **LaserOS** (LaserCube-Software) so bequem bedienbar machen wie eine Lichtkonsole.

Alle vier laufen parallel — wähle pro Profil in der Loupedeck-App, was du gerade brauchst.

| # | Variante | Wofür | Best für |
|---|----------|-------|----------|
| 1 | **Laser Quick Control** | 8 Pattern-Trigger + 8 FX + Blackout + Panic | DJ-Set, schnelles „klick und es leuchtet" |
| 2 | **Laser Pattern Browser** | 4 Bänke × 12 Slots (48 Pattern) + Queue-Encoder | Größere Sets, Setlisten, Acts |
| 3 | **Laser Performance Mode** | 7 Encoder (Intensity, Scale, Rotation, Speed, Hue, X, Y) + Master + Tap-BPM | Live-Tweaking, Show-Programming |
| 4 | **Laser Audio Reactive** | Beat-FX, Strobe-/Whiteout-Hold mit Auto-Cutoff, Audio-Sensitivity, Tap-BPM | Live mit Musik, kurze Drops, Festivals |

> **WICHTIG**: Lies erst `CAVEATS.md` — dort steht ehrlich, was geht und was nicht.

---

## Funktionsprinzip

```
┌──────────────┐   MIDI Notes/CC    ┌──────────────────┐   USB/WiFi   ┌──────────┐
│ Loupedeck    │ ─────────────────► │   LaserOS App    │ ───────────► │ LaserCube│
│ + Plugin DLL │       OSC          │  (lernt MIDI)    │              │          │
└──────────────┘                    └──────────────────┘              └──────────┘
```

LaserOS hat kein offenes Programmier-API, lernt aber MIDI-CC/Note auf seine UI-Aktionen. Die Plugins senden über einen virtuellen MIDI-Port `LoupedeckLaserBridge` an LaserOS. Zusätzlich werden alle Befehle parallel als **OSC** geschickt (für Pangolin BEYOND / Modulaser / Resolume).

## Voraussetzungen (macOS)

1. **macOS 13+** (Apple Silicon oder Intel)
2. **Logi Options+ / Loupedeck App ≥ 6.0**
3. **.NET 8 SDK** zum Bauen → `brew install --cask dotnet-sdk`
4. **sendmidi** (für virtuellen MIDI-Port) → `brew install sendmidi`
5. **LaserOS** + LaserCube
6. In LaserOS: *Settings → MIDI → Input* → `LoupedeckLaserBridge` aktivieren

## Build & Install (alle vier auf einmal)

```bash
cd loupedeck-laser
bash scripts/build-all.sh         # baut alle 4 Plugins
bash scripts/install-mac.sh       # legt .link-Dateien für LogiPluginService
```

Danach Loupedeck-/Logi-Options+-App neu starten — die vier Plugins erscheinen unter *Plugins*.

## Einmal-Lernlauf in LaserOS

Pro Plugin-Button/Encoder:

1. LaserOS → Pattern/Effekt anwählen → **„Assign MIDI"** klicken.
2. Auf der Loupedeck den Plugin-Button drücken.
3. LaserOS bestätigt mit dem MIDI-Wert → speichern.

Alle Mapping-Tabellen (welche Note welche Funktion ansteuert) liegen in `docs/`.

## Mapping-Tabellen

- [Variante 1 – Quick Control](docs/MAPPING-v1.md)
- [Variante 2 – Pattern Browser](docs/MAPPING-v2.md)
- [Variante 3 – Performance Mode](docs/MAPPING-v3.md)
- [Variante 4 – Audio Reactive](docs/MAPPING-v4.md)

## Verzeichnis

```
loupedeck-laser/
├── README.md                   # ← du bist hier
├── CAVEATS.md                  # ehrliche Limits
├── LASEROS-API.md              # Hintergrund-Recherche zu LaserOS-Protokollen
├── SDK-NOTES.md                # Hintergrund-Recherche zum Loupedeck SDK
├── STATUS.md                   # Recherche-Summary + offene Fragen
├── shared/                     # gemeinsame LaserBridge + LaserOSMap
├── variants/
│   ├── variant-1-quick-control/LaserQuickControl/
│   ├── variant-2-pattern-browser/LaserPatternBrowser/
│   ├── variant-3-performance-mode/LaserPerformance/
│   └── variant-4-audio-reactive/LaserAudioReactive/
├── scripts/                    # build / install / package-zip
├── docs/                       # Mapping & Quickstart
└── .trash-claude-doubles/      # alternative Implementierung (Referenz, nicht im Build)
```

## Lizenz

MIT. Inspiriert von den Open-Source-Plugins unter https://github.com/Loupedeck-open-source und dem offiziellen [Logi Actions SDK](https://github.com/Logitech/actions-sdk).
