ICST Kristall Motion Map — Benutzerhandbuch

Niveau: Mittel | Zielgruppe: Komponist, Klangestalter, Raumklangtechniker. | Version: 2.2.8

ICST Kristall Motion Map ist ein eigenständiges REAPER-Lua-Skript mit grafischer Echtzeit-Oberfläche. Es ordnet bis zu 64 AmbiEncoder-Quellen als Punkte in einem 3D-Kristallgitter an und bewegt sie mit einem Schritt-Sequenzer durch den Raum. Die Bewegung kann live in der isometrischen Vorschau verfolgt, per OSC an einen ICST AmbiEncoder_64 gesendet und mit instanzspezifischen Transformationen, Quantisierung, Glättung und Interaktion gestaltet werden. Dieses Instrument entstand in Zusammenarbeit mit und inspiriert durch Eli Stine, Gast der ICST Studio Residency 2026.

ICST Kristall Motion Map — Gesamtansicht mit Instanzliste, Gitter-Vorschau, Parameter-Panel und Statusleiste

Dies ist ein kurzes Demobeispiel eines Random-Kristalls von Eli Stine — binaural gerendert.

Warnung
🎧 Mit Kopfhörern hören. Diese Aufnahme ist binaural — über Lautsprecher entfaltet sich der Raumklang nicht.
Aktualisierung
Neu bei Kristall? Direkt zu §13 Erste Schritte — Schnelleinstieg springen und in unter fünf Minuten das erste Preset zum Laufen bringen — dann für die detaillierte Referenz hierher zurückkehren.

1. Voraussetzungen

  • REAPER v6 oder neuer (v7 empfohlen)
  • ICST AmbiEncoder_64 auf dem Ziel-Track — siehe Installation
  • Python 3 mit python-osc — nur für die Live-OSC-Vorschaubrücke erforderlich

2. Installation

Schritt 1 — Bundle herunterladen

ICST_Kristall_Motion_Map_Bundle.zip herunterladen (auch auf der Downloads-Seite verfügbar) und entpacken, z. B. nach ~/REAPER/Scripts/ICST_Kristall_Motion_Map_Bundle/.

Das Bundle enthält:

  • scripts/JS_ICST_Kristall_Motion_Map.lua — Hauptskript
  • jsfx/JS_ICST_Kristall_Controller.jsfx — optionale MIDI/JSFX-Steuereinheit
  • README.md — Schnellstart-Anleitung

Schritt 2 — Als ReaScript laden

  1. In REAPER: Actions → Load ReaScript…
  2. JS_ICST_Kristall_Motion_Map.lua auswählen und Open klicken.
  3. REAPER fügt das Skript der Aktionsliste hinzu. Einmal ausführen — das Kristall-Motion-Map-Fenster öffnet sich.

Python unter Windows

Warnung
Windows-Nutzer: REAPER findet Python häufig nicht automatisch. Diese drei Schritte nach der Installation von Python über python.org/downloads durchführen.

Schritt 1 — Python-Pfad ermitteln. Eingabeaufforderung öffnen und ausführen:

python -c "import os, sys; print(os.path.dirname(sys.executable))"

Beispielausgabe: C:\Users\stine\AppData\Local\Python\pythoncore-3.14-64

Schritt 2 — REAPER auf Python zeigen. In REAPER Preferences → Plug-ins → ReaScript öffnen, „Force ReaScript to use specific Python .dll…" aktivieren und auf die python3xx.dll in diesem Ordner zeigen (z. B. python314.dll).

Schritt 3 — python-osc installieren mit demselben Python:

python -m pip install python-osc

Schritt 3 — Optional: Launcher-Datei

Wenn das Skript in einem versionierten Ordner liegen soll, kann eine einzeilige Launcher-Datei im REAPER-Scripts-Verzeichnis erstellt werden:

-- JS_ICST_Kristall_Motion_Map_Launcher.lua
dofile('/Pfad/zu/JS_ICST_Kristall_Motion_Map.lua')

Diesen Launcher als ReaScript laden. Zum Neuladen nach einer Skriptänderung das Kristall-Fenster schliessen und die Launcher-Aktion erneut ausführen.


3. Die Oberfläche auf einen Blick

ICST Kristall Motion Map in Aktion — Gitter-Vorschau mit 8 kubischen Quellen

ICST Kristall Motion Map — Gesamtansicht mit Instanzliste, Gitter-Vorschau, Parameter-Panel und Statusleiste

Das Fenster ist in vier Bereiche aufgeteilt:

Statusleisten-Übersicht — alle 5 Zeilen beschriftet

┌─────────────────┬──────────────────────────────────────┐
│  Instanzliste   │     Gitter-Vorschau (3D isometrisch) │
│                 ├──────────────────────────────────────┤
│  [+Add] [-Rem]  │  Parameter-Panel  [↺ Def]             │
│  [Dup]          │    (scrollbar, pro Instanz)           │
├─────────────────┴──────────────────────────────────────┤
│  Zeile 1: OSC · Preset-Name · Save · Reset             │
│  Zeile 2: Speed · BPM · Fwd/Rev · Pause · Stop · PP · Sync │
│  Zeile 3: Offset X Y Z · Move X Y Z                   │
│  Zeile 4: Rotate Pt · Yw · Rl · Zoom                  │
│  Zeile 5: Spin Pt · Yw · Rl · Arrange-Buttons         │
│  Preset-Leiste: Cubic · Tetragonal · … · Triclinic     │
└────────────────────────────────────────────────────────┘

4. Instanzliste

Das linke Panel listet alle aktiven Instanzen auf. Jede Zeile zeigt Nummer, Farbpunkt, Name und aktuellen Schrittzähler.

SteuerelementAktion
Zeile anklickenInstanz auswählen; Parameter-Panel aktualisiert sich
Shift + KlickZur Mehrfachauswahl hinzufügen; alle ausgewählten Instanzen teilen Parametereingaben
+ AddNeue Instanz mit Standardeinstellungen erstellen
− RemAusgewählte Instanz löschen
DupAusgewählte Instanz duplizieren
Taste AInstanz hinzufügen
Taste DAusgewählte Instanz duplizieren
Taste RAusgewählte Instanz auf Schritt 0 zurücksetzen
Taste Cmd+AAlle Instanzen auf einmal auswählen
Warnung
Das Maximum sind 64 Instanzen. Darüber hinaus hat das Hinzufügen keine Wirkung.

5. Gitter-Vorschau

Instanzliste (links) und isometrische Gitter-Vorschau mit 8 kubischen Quellen — ausgewählte Instanz hervorgehoben

Das obere rechte Panel zeigt alle aktivierten Instanzen als farbige Punkte in einer isometrischen 3D-Projektion. Ein Einheitswürfel dient als Orientierungsrahmen.

InteraktionWirkung
Punkt ziehenInstanz in der XY-Ebene verschieben (aktualisiert Start X und Start Y)
Shift + ziehenInstanz entlang der Z-Achse verschieben (aktualisiert Start Z)
Shift + Punkt anklickenInstanz zur Mehrfachauswahl hinzufügen
HovernZeigt Instanzname und Markierungsring

Zwischen je zwei Instanzen innerhalb von EDGE_DIST Welteinheiten werden Kanten gezeichnet — so ist die Gitter-Topologie auf einen Blick erkennbar.


6. Parameter-Panel

Die rechte Spalte unterhalb der Vorschau zeigt alle Parameter der ausgewählten Instanz. Mit dem Mausrad scrollen.

In der Panel-Kopfzeile werden Instanznummer und Name angezeigt. Ein kleiner ↺ Def-Button oben rechts im Header setzt alle Parameter der ausgewählten Instanz(en) auf Werksstandard zurück (Position, Offsets, Rate, Schrittanzahl, Modus, Rotation, Skalierung, Grenzen, Glättung). Name und Farbe bleiben erhalten. Bei Mehrfachauswahl werden alle Instanzen gleichzeitig zurückgesetzt.

Werte bearbeiten

Jedes Zahlenfeld unterstützt drei Methoden zur Wertänderung ohne Eintippen:

MethodeBedienungHinweis
MausradFeld anklicken zum Fokussieren, dann scrollenPro Feldtyp ein passender Schrittweite (siehe Tabelle unten). Shift halten für ×10 gröberen Schritt.
Cmd + ZiehenCmd halten, Feld anklicken, Maus nach oben (Wert steigt) oder unten (Wert sinkt) ziehenShift zusätzlich halten für ×0,1 feineren Schritt. Änderungen werden relativ auf alle ausgewählten Instanzen übertragen.
DirekteingabeFeld anklicken, Wert eintippen, Enter bestätigenEsc bricht ab.

Scrollschritte nach Feldtyp:

FeldSchritt
Schrittanzahl1 (nur ganzzahlig)
Rotationsfelder1,0°
Offset-Felder0,005
Rate0,05
Start-Position0,01
Glättung / Glide0,01

Grundparameter — alles, was für die erste Sitzung benötigt wird:

Identität

ParameterBeschreibung
NameBezeichnung in der Instanzliste
EnabledDeaktiviert: Instanz eingefroren, nicht in OSC-Ausgabe

Position

ParameterBeschreibung
Start X / Y / ZUrsprung der Instanz im Weltkoordinatensystem (in der Vorschau visuell verschiebbar)
Offset X / Y / ZSchrittvektor — Bewegung pro Schritt entlang jeder Achse

Pro Schritt ergibt sich die Rohposition als:

Position = Start + currentStep × Offset

Timing

ParameterBeschreibung
RateSchritte pro Sekunde (BPM aus) oder Schritte pro Taktschlag (BPM an)
StepsGesamtschrittanzahl; bestimmt den Umkehrpunkt bei Finite und Pingpong
ModeInfinite — läuft unendlich; Finite — stoppt am letzten Schritt; Pingpong — prallt ab

Bewegungstransformationen — den Pfad nach der linearen Grundbewegung formen:

Rotation

Dreht um die Start-Position mit einer Euler-Rotationsmatrix. Winkel in Grad.

ParameterBeschreibung
Rot X / Y / ZEuler-Winkel in Grad
OrderAnwendungsreihenfolge: XYZ, XZY, YXZ, YZX, ZXY, ZYX

Skalierung

Skaliert den Offset-Vektor relativ zur Start-Position.

ParameterBeschreibung
Scale X / Y / ZSkalierungsfaktor pro Achse

Grenzen (Bounds)

Begrenzt die Position auf eine Box, nach Rotation und Skalierung.

ParameterBeschreibung
Bounds OnGrenzenverarbeitung aktivieren
ModeNone, Clamp (stoppt am Rand), Wrap (springt auf die Gegenseite), Mirror (reflektiert)
Min / Max X / Y / ZEckpunkte der Begrenzungsbox

Quantisierung

ParameterBeschreibung
Space Q.Endposition auf ein Raster einrasten (vor Glättung)
Time Q.Schrittfortschritt auf Taktunterteilungen quantisieren
Grid X / Y / ZRasterzellgrösse pro Achse (Space Q.)

Glättung

Exponentieller Übergang zwischen der schrittweisen Zielposition und der Ausgabe:

alpha      = 1 − exp(−dt / glideTime)
currentPos = currentPos + alpha × (targetPos − currentPos)
ParameterBeschreibung
SmoothingFilter aktivieren/deaktivieren
Glide TimeZeitkonstante in Sekunden — 0.08 s ist knackig, 0.5 s ist langsam

Erweitert — Instanzen beeinflussen sich gegenseitig (optional für den Einstieg):

Interaktion

Parameter-Panel (untere Bereiche) — Bounds, Quantize, Smoothing und Interaction sichtbar

Instanzen können die Geschwindigkeit und Richtung benachbarter Instanzen beeinflussen.

ParameterBeschreibung
InteractionFür diese Instanz aktivieren
Send AmountWie stark diese Instanz andere beeinflusst
Receive AmountWie stark diese Instanz eingehende Einflüsse aufnimmt
RadiusEinflusssphäre in Welteinheiten
Falloff ModeLinear / Inverse Square / Gaussian
Affect OffsetEingehender Einfluss modifiziert die Schrittrichtung
Affect RateEingehender Einfluss modifiziert die Schrittrate

7. Statusleiste — Zeile 1: OSC und Presets

Statusleiste — alle vier Steuerzeilen und die acht Preset-Buttons am unteren Rand

OSC

SteuerelementBeschreibung
FarbpunktGrün = verbunden, rot = getrennt
HostIP-Adresse des OSC-Ziels (Standard 127.0.0.1)
PortUDP-Port des OSC-Ziels (Standard 9001)
Connect / DisconnectOSC-Brücke öffnen oder schliessen
in: PORTErscheint nach dem Verbinden — UDP-Port für eingehende OSC-Nachrichten (immer Ausgangsport + 1, z. B. 9002 bei Ausgangsport 9001)

Felder anklicken zum Bearbeiten, Enter zum Bestätigen.

Presets

SteuerelementBeschreibung
NamensfeldPreset-Name eintippen
Gespeicherte Presets als Dropdown öffnen
SaveAlle aktuellen Instanzen unter dem Preset-Namen speichern
ResetAlle Instanzen löschen und Standard-Preset laden

Presets werden im REAPER ExtState gespeichert (projektunabhängig, sitzungsübergreifend persistent).


8. Statusleiste — Zeile 2: Wiedergabe-Steuerung

SteuerelementBeschreibung
Speed ×N.NNGlobaler Raten-Multiplikator — skaliert alle Instanzraten gleichmässig. Klicken zum Eintippen, Enter bestätigt.
BPMBPM-Sync umschalten. Aus = Schritte/Sekunde. An = Schritte/Taktschlag (folgt REAPER-Tempo).
> Fwd / < RevGlobale Richtung für alle Instanzen.
‖ PauseAlle Bewegungen einfrieren. Nochmals klicken = weiter.
■ StopAlle Instanzen auf Schritt 0 zurücksetzen und sofort pausieren (Wiedergabe startet nicht automatisch). Über ‖ Pause oder Neustart fortsetzen.
⇄ PPGlobalen Pingpong-Modus umschalten — alle Instanzen prallen statt zu wiederholen.
⊙ SyncPhasen-Akkumulator und Schrittzähler aller ausgewählten Instanzen auf 0 zurücksetzen, um sie zu synchronisieren, ohne nicht ausgewählte Instanzen zu beeinflussen.

BPM-Modus im Detail

BPM aus: Rate = 2 bedeutet 2 Schritte pro Sekunde, unabhängig vom Tempo.

BPM an: Rate = 1 bedeutet 1 Schritt pro Viertelnote. Bei 120 BPM sind das 2 Schritte/Sek; bei 60 BPM ein Schritt/Sek. Eine Instanz mit 64 Schritten und Rate 1 vollendet einen Zyklus in 64 Viertelnoten (16 Takte in 4/4).


9. Statusleiste — Zeile 3: Globaler Offset und Bewegung

Zeile 3 enthält sechs Scrubber-Slider mit Bereich −2,0 bis +2,0. Horizontal ziehen zum Ändern des Wertes.

Offset X / Y / Z — Globale Translation

Verschiebt alle Instanzpositionen gleichmässig nach allen instanzspezifischen Transformationen. Damit kann das gesamte Kristall im Ambisonics-Raum platziert werden, ohne einzelne Start-Positionen anzufassen.

Beispiel: Offset X = 0,5 verschiebt alle Quellen um 0,5 Einheiten nach rechts.

Move X / Y / Z — Globale Bewegungsrichtung

Fügt allen Instanzen einen zusätzlichen Schritt-Offset überlagert zu ihrem eigenen Offset X/Y/Z hinzu. Damit treibt das gesamte Kristall in eine gewählte Richtung.

Beispiel: Move X = 0,01 addiert pro Schritt 0,01 Einheiten entlang X zu jeder Instanz. Kombination Move X = 0,007 und Move Y = 0,007 ergibt eine Diagonalbewegung.

Warnung
Offset und Move werden nicht in Presets gespeichert — sie sind Steuerungen auf Sitzungsebene für Echtzeit-Performance.

10. Statusleiste — Zeile 4: Globale Rotation und Zoom

Zeile 4 enthält drei Rotations-Scrubber und einen Zoom-Scrubber, die alle nach instanzspezifischen Transformationen und dem globalen Offset angewendet werden.

Rotation (Pt / Yw / Rl)

Dreht den gesamten Kristall um den Weltursprung. Winkel in Grad, Bereich −180 bis +180.

SliderAchseWirkung
Pt (Pitch)XKippt das Kristall vorwärts / rückwärts
Yw (Yaw)YDreht das Kristall links / rechts
Rl (Roll)ZRollt das Kristall im / gegen Uhrzeigersinn

Zoom (×)

Skaliert die gesamte Kristallfigur gleichmässig um den Ursprung — nach der Rotation, vor der Translation. Bereich 0,0–2,0, Neutralpunkt bei 1,0.

WertWirkung
0,0Alle Quellen kollabieren zum Ursprung
1,0Keine Änderung (neutral)
2,0Figur doppelt so gross

Der Zoom wirkt in Echtzeit auf die Gittervorschau und den Live-OSC-Ausgang. Den ×-Scrubber horizontal ziehen oder anklicken und einen Wert eintippen.

Alle Slider horizontal ziehen oder anklicken und einen Wert eintippen, dann Enter bestätigen.

Warnung
Rotation und Zoom wirken auf die effektive Endposition jeder Instanz. Die Gittervorschau aktualisiert sich in Echtzeit, auch wenn die Wiedergabe pausiert ist.

Rotationsachsen — Pt kippt vorwärts/rückwärts, Yw dreht links/rechts, Rl rollt CW/CCW

Pt/Yw/Rl können auch extern gesteuert werden — siehe §11 Externe Steuerung.


11. Externe Steuerung — OSC-Eingang und MIDI

OSC-Eingang

Wenn die OSC-Brücke verbunden ist (Connect geklickt, Status-Punkt grün), empfängt das Kristall gleichzeitig OSC-Nachrichten auf Ausgangsport + 1 (z. B. Port 9002 bei Ausgangsport 9001). Der Empfangsport wird als in: PORT neben dem Connect-Button angezeigt.

OSC/MIDI Signalfluss — zwei Eingangspfade konvergieren zur globalen Rotation

Folgende Nachrichten können von TouchOSC, Max/MSP, OSSIA, SuperCollider oder jedem OSC-fähigen Tool gesendet werden:

OSC-AdresseArgumenteWirkung
/kristall/pitch<float Grad>Globalen Pitch setzen (−180…+180)
/kristall/yaw<float Grad>Globalen Yaw setzen (−180…+180)
/kristall/roll<float Grad>Globalen Roll setzen (−180…+180)
/kristall/rotate<float pitch> <float yaw> <float roll>Alle drei gleichzeitig setzen

Die Werte werden sofort übernommen und überschreiben die Slider. Werte ausserhalb von −180…+180 werden automatisch begrenzt.

Beispiel — Kristall mit TouchOSC drehen:

  1. Im Kristall-GUI verbinden (Ausgangsport 9001, Ziel 127.0.0.1).
  2. In TouchOSC OSC-Ziel auf 127.0.0.1:9002 setzen.
  3. Einen Fader auf /kristall/yaw, Bereich −180 bis +180, zuweisen.
  4. Fader bewegen → Kristall dreht sich in Echtzeit.

MIDI über JSFX-Controller-Brücke

Falls ein Kristall Controller JSFX auf einem Track vorhanden ist, liest das Skript dessen Parameter automatisch:

JSFX-SliderParameter-IndexBereichWirkung
slider65−180…+180°Globaler Pitch
slider76−180…+180°Globaler Yaw
slider87−180…+180°Globaler Roll
slider98−2…+2Offset X
slider109−2…+2Offset Y
slider1110−2…+2Offset Z
slider1211−2…+2Move X
slider1312−2…+2Move Y
slider1413−2…+2Move Z
slider15140…2Zoom ×

MIDI-CCs über REAPER’s MIDI-Learn-Dialog oder den FX-Parameter-Lane auf Slider 6–8 für Rotationssteuerung mappen. Für Automation-Envelopes auf Offset, Move und Zoom (Slider 9–15): JSFX in der FX-Kette rechtsklicken → Param → Envelope für den gewünschten Slider aktivieren, dann im REAPER-Envelope-Lane einzeichnen. Die Slider werden jeden Frame ausgelesen, solange das JSFX auf einem Track geladen ist.

Automation-Envelope-Workflow — Offset X/Y/Z, Move X/Y/Z und Zoom in REAPER-Envelope-Lanes eingezeichnet

Warnung
JSFX-Pitch/Yaw/Roll werden nur übernommen, wenn mindestens einer der drei ungleich null ist. Wenn alle drei 0 sind oder das JSFX diese Slider nicht enthält, bleiben die Slider-Werte der Oberfläche erhalten.

12. Eingebaute Presets (Schnellauswahl)

Preset-Layouts — Top-Ansicht aller 8 Preset-Muster

Acht Preset-Schaltflächen am unteren Fensterrand. Jedes Preset löscht alle aktuellen Instanzen und platziert neue. Buttons 1–4 (türkis) sind abstrakte Bewegungslayouts, Buttons 5–8 (bernstein) sind kristallografische Einheitszellenformen.

#PresetWas erstellt wird
1Cubic8 Instanzen an den Ecken eines Einheitswürfels. Jede Ecke pendelt im Pingpong-Modus zum Zentrum (0, 0, 0) und zurück — ein „atmender Würfel"-Effekt.
2TetragonalGitter mit gleichem XY-Abstand und anderem Z-Abstand
3Hexagonal2D-Hexagonalring entlang Z (entspricht typischen Kuppelaufstellungen)
4Rnd.Swarm20 zufällig in einer Kugel verteilte Instanzen
5OrthorhombicEinheitszelle mit drei ungleichen orthogonalen Achsen (α=β=γ=90°)
6RhombohedralEinheitszelle mit gleichen Achsen und gleichen nicht-orthogonalen Winkeln (α=β=γ≠90°)
7MonoclinicEinheitszelle mit einer geneigten Achse (α=γ=90°, β≠90°)
8TriclinicEinheitszelle ohne gleiche Achsen und ohne rechte Winkel — maximale Asymmetrie

13. Erste Schritte — Schnelleinstieg

Aktualisierung
Hier einsteigen. Dieser Schnelleinstieg dauert etwa fünf Minuten und vermittelt den grundlegenden Arbeitsablauf. Vorkenntnisse der Parameter sind nicht erforderlich — das Cubic-Preset wird beim Klick auf Reset automatisch geladen.

Schritt 1 — Preset anwenden

Cubic in der Statusleiste klicken. Acht Instanzen erscheinen in der Gittervorschau.

Schritt 2 — Bewegung beobachten

Speed auf ×1,00 belassen, BPM aus. Die Schrittzähler in der Instanzliste zählen hoch.

Schritt 3 — Richtung einstellen

Instanz 1 auswählen. Offset X = 0,02, Offset Y = 0,01, Offset Z = 0 setzen. Diese Instanz bewegt sich nun diagonal in der XY-Ebene.

Schritt 4 — Pingpong-Modus

Mode = Pingpong, Steps = 64. Die Quelle läuft 64 Schritte aus und prallt zurück.

Schritt 5 — Globalen Drift hinzufügen

Den Move X-Slider in Zeile 3 auf ca. 0,008 ziehen. Das gesamte Kristall driftet nun nach rechts, während die einzelnen Instanzen weiterhin pendeln.

Schritt 6 — Kristall drehen

Den Yw-Slider (Yaw) in Zeile 4 ziehen, um das gesamte Kristall um die Hochachse zu drehen. Pt und Rl für zusammengesetzte Orientierungen kombinieren. Die Gittervorschau aktualisiert sich in Echtzeit.

Schritt 7 — OSC verbinden

Host und Port in Zeile 1 eingeben, Connect klicken. Positionen werden in Echtzeit gesendet. Nach dem Verbinden erscheint in: 9002 — dieser Port empfängt externe Rotationssteuerung (siehe §11).


14. Fehlerbehebung

Quellen bewegen sich nicht. Speed > 0 prüfen und Instanz auf Enabled kontrollieren. Im BPM-Modus muss der REAPER-Transport laufen.

Alle Instanzen an derselben Position. Ein Preset anwenden oder manuell unterschiedliche Start-Positionen setzen.

Positionen driften ausserhalb des Arrays. Mode auf Pingpong wechseln oder Bounds mit Mirror-Modus aktivieren.

Move-Slider ändert zu grosse Schritte. Langsam ziehen — der Slider deckt den gesamten Bereich −2 bis +2 ab. Für Feinsteuerung Slider anklicken, Wert eintippen, Enter bestätigen.

OSC verbindet sich nicht. Python-OSC-Brücke (python-osc) prüfen. Host-IP und Port kontrollieren. Bei Erfolg wird der Status-Punkt grün.

OSC verbindet sich nicht (Windows). Drei Punkte prüfen: (1) Python muss im System-PATH stehen — Python neu installieren und „Add Python to PATH" ankreuzen falls es fehlt. (2) Die Windows-Firewall zeigt beim ersten Start einen Dialog — „Zugriff erlauben" klicken. (3) Status-Punkt ist grün, aber keine Bewegung: Host-IP auf 127.0.0.1 prüfen falls AmbiEncoder lokal läuft.

OSC-Eingang (Rotation) hat keine Wirkung. Die OSC-Brücke muss zuerst verbunden sein. Sicherstellen, dass der Controller an Ausgangsport + 1 sendet (Standard: 9002, nicht 9001). Mit einem UDP-Monitor (z. B. Protokol) prüfen ob Pakete ankommen.

Stop-Button pausiert nicht, sondern startet die Wiedergabe. Auf das neueste Skript aktualisieren (v2.2.8) — dieser Fehler bestand nur in frühen Vorversionen.


Siehe auch