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.