|
|
1 day ago | |
|---|---|---|
| .claude/commands | 2 days ago | |
| App | 1 day ago | |
| Packages/MusubiKit | 1 day ago | |
| Vendor | 2 days ago | |
| design | 2 days ago | |
| docs | 2 days ago | |
| .gitignore | 2 days ago | |
| CLAUDE.md | 2 days ago | |
| README.md | 2 days ago | |
| START.md | 2 days ago | |
| project.yml | 1 day ago | |
README.md
Musubi
NDI rein. Bild, Ton und Stimme raus.
Musubi (結び, japanisch: das Knüpfen, Verbinden) ist eine macOS-App von Zielke Studio für kleine Live-Übertragungen. Sie macht MacBook und Mac mini zu den fehlenden Bausteinen einer Regie:
- NDI-Quellen im Vollbild auf beliebige Bildschirme
- NDI-Ton (auch ohne Bild) gezielt auf einzelne Kanäle eines Audio-Interfaces
- Talkback per Sprechtaste
- Intercom, PGM-Vorschau und Tally fürs Handy im Browser
- Szenen, die Regie-Mac und Bühnen-Mac auf einen Klick einrichten
Erster Einsatz: OP-Liveübertragung (ATEM im OP, Regie im Saal, eine Netzwerkleitung dazwischen).
Status
M0 abgenommen. M1 (Bild), M2 (Ton-Matrix) und M3 (Szenen und Fernsteuerung) umgesetzt, Langzeittests und Teile der Abnahmen offen. Siehe docs/04-fahrplan.md.
Dokumente
| Datei | Inhalt |
|---|---|
| CLAUDE.md | Arbeitsanweisungen für Claude Code |
| START.md | Startbefehl für Claude Code |
| docs/01-konzept.md | Idee, Rollen, Funktionsumfang |
| docs/02-architektur.md | Module, Frameworks, Datenflüsse |
| docs/03-design.md | Designsystem, Farben, Typografie, Texte |
| docs/04-fahrplan.md | Meilensteine mit Abnahmetests |
| docs/05-testplan-hardware.md | Tests, sobald die Hardware da ist |
| docs/06-netzwerk.md | IP-Plan, Schnittstellen, Relay als Plan B |
Bauen
brew install xcodegen # einmalig
xcodegen # erzeugt Musubi.xcodeproj aus project.yml
open Musubi.xcodeproj
Das .xcodeproj ist generiert und nicht im Repo. Nach Änderungen an project.yml erneut xcodegen ausführen.
Signiert wird mit Developer ID Application (Team XY4C2RG3L5), Hardened Runtime an. Ohne dieses Zertifikat im Schlüsselbund CODE_SIGN_IDENTITY/DEVELOPMENT_TEAM in project.yml anpassen.
Installieren immer nach /Applications – in privaten Ordnern blockiert macOS Bonjour (Fernsteuerung).
Startargumente (für Tests und Knoten ohne Bildschirm)
| Argument | Wirkung |
|---|---|
--route "<NDI-Name>=<Bildschirm-Index>" |
Quelle im Vollbild auf Bildschirm (0 = Hauptbildschirm) |
--audio-route "ndi:<NDI-Name>=<Gerät>:<Kanal>" |
NDI-Ton auf Ausgangskanal (Gerätename als Teilstring, Kanal ab 1) |
--audio-route "input:<Eingang>=<Gerät>:<Kanal>" |
Mikrofon (über die Sprechtaste) auf Ausgangskanal |
--load-scene "<Name>" |
gespeicherte Szene laden |
--login-item on|off |
Beim Anmelden starten |
Rolle und Schnittstelle ohne Bildschirm: defaults write studio.zielke.musubi role node bzw. interfaceName en7.
Protokolle: Console.app, Subsystem studio.zielke.musubi. Minuten-Statistik: ~/Library/Logs/Musubi/stats-*.csv (Bild), audio-*.csv (Ton).
Ohne NDI SDK in Vendor/NDI/ bricht der Build mit einem Hinweis ab. Tests (Swift Testing, 44 Stück): im Schema Musubi (⌘U) oder cd Packages/MusubiKit && swift test – beides braucht das SDK, weil alle Module mitgebaut werden.
Struktur
| Pfad | Inhalt |
|---|---|
App/ |
App-Target: Einstieg, Koordinator (Rolle, Szenen, Live-Stand), Oberfläche, String Catalog |
Packages/MusubiKit/ |
Module MusubiCore, NDIKit (+ CNDI-Modulemap), VideoOutput, AudioMatrix (+ CAudioRing), Remote, DesignSystem |
design/Theme.swift |
Design-Tokens; im Package als Symlink eingebunden |
project.yml |
XcodeGen-Projektdefinition |
Voraussetzungen
- Xcode (aktuell), macOS auf Apple Silicon zum Entwickeln
- NDI SDK für macOS (nicht im Repo, siehe Vendor/README.md)
- Zielgeräte: MacBook (Apple Silicon) und Mac mini 2018 (Intel, macOS 15) → Universal Build
© Zielke Studio