U-Studio – Installationsanleitung

## 📋 Systemvoraussetzungen

Anforderung | Beschreibung
--- | ---
Betriebssystem | Linux (getestet auf Arch Linux / CachyOS)
Gambas3 | IDE + Runtime + Komponenten (siehe Tabelle unten)
ulanzi-niri | Python-Daemon aus `ulanzi-studio-niri` – via `uv tool install`
uv | Python-Paketmanager (docs.astral.sh/uv)
gcc (optional) | Nur nötig, wenn `ulanziread` neukompiliert werden soll
Hardware | Ulanzi D200X Stream Deck (USB)

## 📦 Gambas3-Komponenten

Folgende Gambas3-Komponenten werden vom Projekt benötigt (aus `.project`):

Komponente | Arch Linux | Debian / Ubuntu
--- | --- | ---
Gambas3 IDE | `gambas3-ide` | `gambas3`
Gambas3 Runtime | `gambas3-runtime` | `gambas3-runtime`
`gb.image` | `gambas3-gb-image` | `gambas3-gb-image`
`gb.form` | `gambas3-gb-form` | `gambas3-gb-form`
`gb.form.dialog` | `gambas3-gb-form-dialog` | `gambas3-gb-form-dialog`
`gb.settings` | `gambas3-gb-settings` | `gambas3-gb-settings`

💡 `gb.gui` ist in der Runtime enthalten und muss nicht separat installiert werden.

## 🔗 Externe Links

Ressource | Link
--- | ---
Gambas3 Projektseite | https://gambas.sourceforge.net/
Gambas3 Wiki / Dokumentation | https://gambaswiki.org/
ulanzi-studio-niri (GitHub) | https://github.com/doitian/ulanzi-studio-niri
Ulanzi D200X (Hersteller) | https://ulanzi.com/
uv (Python-Paketmanager) | https://docs.astral.sh/uv/
GCC (GNU Compiler Collection) | https://gcc.gnu.org/

## 🚀 Installation (Arch Linux / CachyOS)

1
Gambas3 + uv installieren

    sudo pacman -Sy \
      gambas3-ide gambas3-gb-form gambas3-gb-form-dialog \
      gambas3-gb-image gambas3-gb-settings \
      uv python base-devel

2
ulanzi-niri (ulanzi-studio-niri) installieren

    uv tool install ulanzi-studio-niri

Installiert `ulanzi-niri` nach `~/.local/bin/ulanzi-niri`. Stelle sicher, dass `~/.local/bin` in deinem `PATH` ist.
3
udev-Regel installieren (einmalig)

    ulanzi-niri install-udev
    # → folge den gedruckten sudo-Anweisungen
    # → danach Ulanzi D200X ab- und wieder einstecken

4
Benutzer in die input-Gruppe aufnehmen

    sudo usermod -aG input $USER

⚠️ Nach diesem Befehl abmelden und neu anmelden (oder neustarten), damit die Gruppenmitgliedschaft wirksam wird.
5
Projekt öffnen & ausführen

    gambas3 /pfad/zu/U-Studio/U-Studio.gambas

In der Gambas3-IDE: `F5` drücken oder Projekt → Ausführen.

## 🚀 Installation (Debian / Ubuntu)

1
Gambas3 + uv installieren

    sudo apt update
    sudo apt install \
      gambas3 gambas3-gb-form gambas3-gb-form-dialog \
      gambas3-gb-image gambas3-gb-settings \
      python3 python3-pip build-essential

uv installieren: `curl -LsSf https://astral.sh/uv/install.sh | sh`
2
ulanzi-niri (ulanzi-studio-niri) installieren

    uv tool install ulanzi-studio-niri

3
udev-Regel installieren (einmalig)

    ulanzi-niri install-udev
    # → folge den gedruckten sudo-Anweisungen
    # → danach Ulanzi D200X ab- und wieder einstecken

4
Benutzer in input-Gruppe aufnehmen

    sudo usermod -aG input $USER

⚠️ Danach abmelden & neu anmelden.
5
Projekt starten

    gambas3 /pfad/zu/U-Studio/U-Studio.gambas

## 🛠️ ulanziread (optional) neukompilieren

Das Binary `ulanziread` liegt bereits vorkompiliert im Projekt. Nur bei Architektur-Wechsel oder Änderungen am Source-Code neu bauen:

    gcc -O2 -o ulanziread ulanziread.c

## ⚙️ Funktionsweise

Beim Start sucht `deckstart.sh` automatisch nach dem HID-Gerät (`/dev/hidraw*` mit `ID_MODEL=ulanzi`). Der Ulanzi D200X muss angeschlossen sein, damit die Live-Tastenerkennung funktioniert.