Ergebnisse der Überlegungen vom 8.8.05 bzgl. der Neuprogrammierung des Cocoon Sequencers
Es soll ein Steuerungsinterface entwickelt werden, das die Bedürfnisse von live Steuerung (als Instrument / Sequencer) und präziser Ablauf-Programmierung (Timeline) befriedigend und auf eine allgemeine Weise löst.
Ziele
- Leichte Benutzung
- Stabilität
- Out of the Box experience
- keine vvvv Kenntnisse notwendig
- Mit vvvv Kentnissen voll customisierbar
- Thema: Live-Bildsynthese/bearbeitung. Kein VJ Mixer
- neuer Weg zum Umgang mit Licht (LED-Technik, Projektion)
Diese Steuerung soll als neues Interface für das Cocoon-Framework und als Extension zu der bestehenden Trafo-Version eingesetzt werden. Das Cocoon-Framework ist
sehr unhierarchisch und flach, alle Module (Layers) können gleichzeitig eingesetzt werden und bedingen sich nicht gegenseitig. Es ist (z.zt. noch) starr, d.h. es gibt keine veränderlichen Module in dem Framework, also auch keine wechselnden Parameter. Im Trafo werden zur Laufzeit Module
ausgetauscht, so daß sich das Interface an die neuen Parameter anpassen muß. (In Schritt 3 der Cocoon-Revision soll allerdings eine Trafo-ähnliche, also veränderliche Struktur eingesetzt werden)
Troll (von Control), als Ergänzung zu Trafo
Die Entwicklung des Interfaces läßt sich zunächst in 3 Aufgaben gliedern:
IOBoxen
die Programmierung universeller IO-Boxen, die im Renderer angezeigt und von dem User verändert werden können. Io Boxen sind für folgende Subtypen notwendig:
- Floats
- Booleans (Bang, Toggle)
- Farben
- Enums (Strings, Bilder / Filme)
weitere Möglichkeiten
- Multidimensionale IO-Boxen x/y/z, pan/tilt
- Kurven (envelopes)
- Multislider
Diese IO-Boxen sollen durch einen allgemein formatierten String
initialisiert und mit Werten und Wertebereichen gefüllt werden.
Offene Punkte
Wenn man die programmiert:
- Sind das allgemeine io-boxen, die sich im patch verwenden lassen und durch den anschluss an den renderer auch darstellen lassen?
- Ist also die propagierte timeline also einfach ein knoten, der sich rendern lässt?
- Wie unterscheidem sich die anforderungen an eine realtime/touchscreen iobox von der existierenden.
- Gibt es eine symbiotische variante, oder schliesst sich das gegenseitig aus?
- Sind die boxen polymporph (also sring-output) oder gibt es für verschiedene typen verschiendene boxen
Wenn man sie patcht:
- Welche high-level-objekte will man haben, um sie effizient zu programmieren
Sequencer
Die Programmierung eines Sequencers, der es ermöglicht, alle oben genannten Parameter in Ihren Veränderungen aufzuzeichnen und die Aufzeichnung entsprechend zu visualisieren. Weitere Features wie Beattracking und Quantisierung sollen zur Verfügung stehen.
- Speicherbarkeit von Settings für ein Modul oder Modulgruppen.
- Switching zwischen abgespeicherten Settings (im Hinblick auf die Verwendung als konventionelles Lichtpult)
- Evtl. das generieren "freier Parameter", wie z.B. Soundanalyse oder LFOs, die dann auf andere Parameter gelinkt werden können. siehe hierzu auch die Überlegungen zu einer Möglichen dritten Produktstufe "Generator".
- Anschliessen Externer Steuergeräte / Schalter
Timeline
Die Programmierung einer Timeline, die alle zur Verfügung
stehenden Parameter abbildet und über Keyframes programmierbar macht. Sie muß mit der veränderlichen Anzahl und Art der Prameter umgehen können und den Austausch eines Moduls im Trafo triggern können.
Triggern von Presets im Sequencer
Idealerweise sind die IO-Boxen immer die gleichen, lediglich
das, was damit gesteuert wird, Sequencer oder Timeline, wird umgestellt.
Man kann mehrere Rechner nebeneinander Aufstellen, die z.B. alle das Sequencer-Interface geladen haben, die dann alle auf die gleichen Parameter zugreifen, und untereinander aufteilen können. Der eine steuert dann z.B. die Bilder eines Moduls, der andere die Skalierung, oder ein anderes Modul. Ausfallsicherheit, Skalierbarkeit.
Generator
Angedacht haben wir eine weitere Produktstufe, den "Generator", der auf einfache Weise native v4-programming-features zur Verfügung stellen soll, die sich nicht in ein lineares Interface packen lassen, weil man dann schnell wieder bei so etwas wie der GrandMA ankommen würde.
Steuern einer Lampengruppe über einen Circular Spread. Die Signale, die im Generator erzeugt werden, stehen dann im Sequencer zur Verfügung, und können dort gelinkt werden.
Oder ist das doch gleich in den Sequencer integriert? Weil der Rechner muß ja eigentlich nicht viel machen, um so ein paar Werte zu generieren ...
Offene Punkte
Das könnte auch eine variante von p2p-boygrouping werden (die patches werden zwar auf dem generator angelegt und getestet, aber direkt auf den renderern, bzw. dem haupt-trafo angelegt.
Wie werden die global vorhandenen inputs und outputs verwaltet?
Wie werden parallel beschaltete outputs interpretiert?
- Immer über klare zuweisung/Priorisierung (jeder sender hat eine priority; derjenige mit der höchsten priority gewinnt)
- Über einen modus am sender, der immer mitgesendet wird
Clamp low (wert ist mindestens so hoch, wie der angegebene)
Clamp high (wert ist höchstens so hoch, wie der angegebene)
Mid (mittelwert aller angelegten werte)
benötigte Highlevel-Objekte:
- DX-Renderer IO Boxen
- Sequencer mit Texture out & Stack load / Stack save
- Timeline
- sonst: Patch-Leistungsoptimerung!!! (wie immer), damit man schön große Patches bauen kann ...
Zu klären
- Host ist offener vvvv patch incl. Vollversion vvvv
- Geschlossenes EXE mit runtime-version (favorisiert)
Produktformate
Framework Only
- mit Onscreen-Interface (dualhead)
- 600 Euro
Framework mit Hardware-Controller ("Faderbox")
Standard-Mini
- Touchscreen-Controller + Framework
- DMX, MIDI input, Controller
- eigebauter Festspeicher mit Programmcode
- Speicherkartenleser eingebaut
- Externer PC
- 2000 Euro
Out of the Box
- Wie oben, mit fertig konfiguriertem PC incl. Video In
- 4000 Euro
VST-Host zur Fernsteuerung
- Alternativ After-Effects, Freeframe, Ableton Live etc.
Modul-Pack
WMF Selection, Dubai Club Visuals, Cocoon Clubnight FX, 333 Business Clocks, Weather and Newsfeeds, Cinetix interface modules, Fun with MovingLights
Kontakte
Marktübersicht / Vertriebsideen
- Frederic Opsomer, LED, Großbildshow
- Markus Berger
- XXL-Video, Hamburg
- Chris Fritsch
- E:cue
- Antonius Quodt
Produktion
Mitarbeiter / Partner
- Stefan Franke / Ableton
- John
Investor
Themen
- Design
- Manufacturing
- Marketing
- Distribution
- Service
VVVV Technical Todo
- High-Level-Interface Objects (-> Diplom Oz)
- Timeline
- Live Load/Unload XML. V4P mit Reader(File) laden. XLST-Transformationen ersetzen IOBoxen mit R Nodes oder interface-elementen. !-knoten läd gegebenen xml code in speicher. (File-Open patchbar machen). damit lassen sich alternative systeme zum direkten öffnen von fremdformaten als patches patchen(z.b. .fla, fixtures, image-dateien etc.) (-> Diplom Björn/David)
- Hiding Patches / Standalone
- bug fixes für load/unload
what to do for cocoon
kurzfristig
- Dateisynchronisation vereinfachen. mirror-programm benutzen. klare master zuweisen, sachen automatisch an die richtigen stellen spielen. backups automatisch anlegen.
- System entwickeln, wie man einfach zwischen verschiedenen Setups umschalten kann, um z.b. für eine sonderveranstaltung eigene patches benutzen zu können.
- Ggf. umgang mit mehreren Shows in der GrandMA erlernen
- Hoch- und Runterfahren automatisieren, wie bei Hydrosphere
- Neuer Terrazzoparameter, der AVI-files abspielt. ggf. auch Flash-Files
- Schalter zum Umschalten zwischen Voll- und Halb-PAL am Rendercontroller
mittelfristig
- Sequencer auf neue Version updaten, prüfen, mit welchen neuen Knoten die Performance signifikant erhöhrt werden kann. Wünschbares Interface entwerfen. Aufwand für Erweiterung um Presets/Timelines etc. abschätzen. GrandMA herausoperieren.
- Nachladen von Patches debuggen
- Strategie zum nachladen von Patches in der Boygroup entwickeln
- Layers und Workflows entwickeln, die externen Grafikern kreative Gestaltung ermöglichen. z.b. Fotos, AVI, Flash-AVI-konversion, Panoramafilme etc.
langfristig
- Graph schneller machen. unbenützte patches drinlassen
- Clublicht über VVVV steuern, GrandMA eliminieren.
vvvv and lights
- fixturefiles in module umwandeln. knoten für gängige lampen
- marktübersicht dmx interfaces machen
- modul: pan-tilt nach x/y berechnung
- cmyk colors
- farbkorrekturen,
- timeline, 2d-timeline
- presets/combinations
- texture to dmx
- ioboxen in externe faderboxen und touchboxen exponieren / manual override
- I mit Step pin
- Delay ms
- dynamicpingroups autoadd
- beat tracking
- time code reader
- linear time to timecode frame formats