Hallo Lichtler,
auch wenn der Timecodeplayer definitiv für die 3.3 angekündigt ist und der Funktionsumfang mit Sicherheit überwältigend sein wird, habe ich mal eine kleine Demo mit einer externen Anwendung gebastelt. Ich habe mir den Nulloy Music Plyer geschnappt und ihn um eine Timecode-Ausgabe erweitert wie ihn das (betagte) DE Mediacenter macht.
Bedeutet: ich kann den NET Timecode auf ein paar Cuelisten ziehen im Input Assignment und bekomme die Cues einigermaßen genau auf Zeit.
Der Nulloy Player im Beta-Stadium sieht ganz vielversprechend aus, vor allem die Waveform als Navigationshilfe ist beim Licht-Programmieren hilfreich. Außerdem kann man per Tastenkombi 3 verschiedene Zeitsprünge ausführen, also beispielsweise -0.5 / -1 / -5 Sekunden.
Screenshot und Demo versuche ich im Laufe der nächsten Tage hochzuladen, das ganze wiegt im Moment leider über 200MB...
Angefangen hat es mit einem Netzwerk-Dump vom DE-Mediacenter: ein einfacher String in Sekunden mit 7 Nachkommastellen über UDP. Das kann ja nicht so schwer sein, dachte ich.
Versuch 1: LUA-Plugin für den VLC. Der kann alles abspielen, ist zuverlässig und an sehr vielen Stellen anpassbar. Der VLC erlaubt leider keine Netzwerkfunktion in den LUA-Skripten. Mit einem VLC-Modul müsste es gehen, aber da ist die Dokumentation höchst unübersichtlich.
Versuch 2: Timecode aus einer DAW extrahieren. Vorhanden ist Reaper: günstig, ausreichender Funktionsumfang und sehr gute Skriptunterstützung. Reaper gibt standardmäßig MIDI Clock (Beat Signal 1-2-3-4) und MIDI Timecode aus. Versteht DMXC3 noch nicht. Also mit vvvv einen Converter gebastelt und das ganze als String per UDP -> Läuft!
Versuch 3: Das sind zuviele externe Programme, dann mach ich's halt selber. Eine DAW, MIDI plus eine kryptische grafische Entwicklungsumgebung sind doch für Timecode deutlich oversized. Also einen Open Source Audioplayer finden, den man leicht modifizieren kann, aktuell weiterentwickelt wird und vielleicht ein paar nette Zusatzfunktionen bietet. Nach einigem hin und her, lesen von Quellcode und Einstellungsmöglichkeiten ist es dann Nulloy geworden.
Versuch 3a: Nulloy ohne Modifikation kompilieren. Unter Windows 7. Es waren drei unschöne Wochen. Ich muss dazusagen: meine sonstigen Softwareprojekte liegen eher im Kilobyte-Bereich. Es war das erste Mal C++11, QT und shared librarys für mich, also entsprechend viel Dokumentation lesen.
Versuch 3b: Nulloy ohne Modifikation kompilieren. Unter Linux. 5 Minuten Kaffepause. Top!
Versuch 4: Nulloy.exe für Windows unter Linux erstellen. Diesmal eher 2 Wochen Doku lesen, config-Dateien anpassen, zum dritten Mal nachlesen, wie man einen Symlink setzt und ein paar #defines raussschmeißen. Am Ende hat es dank mxe gut geklappt. Aber eine Toolchain zu bauen kann wirklich eine ganze Weile dauern.
Der eigentliche Code für die Timecode-Ausgabe sind 4 Zeilen, also wirklich kein Hexenwerk. Im Moment nur auf 50ms genau, das lässt sich hoffentlich noch verbessern.
Die Eingabe in DMXC3 hingegen ist recht anstrengend: es muss zwingend im Format hh:mm:ss.ff sein, ein 01:12 reicht leider nicht. Und das es nach dem Punkt 25 Frames sind und nicht etwa Hundertstel Sekunden, stand auch nicht in der Doku. Von einer schnellen Eingabe ohne Mausbenutzung weiß der Cuelist Editor auch noch wenig.
Aber ich will mich nicht so viel beschweren - ich bin froh, dass es klappt und vielleicht hilft jemandem diese Überangslösung.
Beste Grüße,
der lichtheini