Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance issues with TimeCodePlayer #3

Open
xn--nding-jua opened this issue Dec 18, 2015 · 2 comments
Open

Performance issues with TimeCodePlayer #3

xn--nding-jua opened this issue Dec 18, 2015 · 2 comments

Comments

@xn--nding-jua
Copy link
Owner

Timecodeplayer is neglecting some events. Maybe this is a general MIDI-issue -> new MIDI-component?

@jenars
Copy link

jenars commented Jan 13, 2016

Hi, Szenen direkt via Midibefehl getriggert funktioniert ohne Probleme. Im Timecode Player werden die Szenen teilweise mehrfach, nicht an der richtigen Stelle und auch oft bereits bei Starten des Timecodes getriggert. Dies hab ich via MTC aus MidiOX, Show Cue Systems und Cubase heraus getestet.

Eine Timecode Funktion wäre wirklich fantastisch wenn der Ton aus anderer Software heraus zugespielt wird (komplexe Shows via SCS, qLab oder aber auch Live-Bands mit Clicktrack)

grüße
tocsin

@digitalshow
Copy link

Ich denke nicht, dass der Timecodeplayer Events unterschlägt. Ich habe mal mit Reaper (DAW) einen Timecode erzeugt und in langsamer Geschwindigkeit wiedergegeben. Es fällt auf, dass z.B. beim Übergang von 00:00:15.14 zu 00:00:15.16 sowie von 00:00:15.28 zu 00:00:16.00 ein Frame 00:00:15.00 bzw. 00:00:00:28 angezeigt wird (Frames kamen bei mir nur mit geraden Zahlen, bei 30fps non-dropped). Das kommt ziemlich sicher von der Verarbeitung der Quarter-Frame-Timecodes, da hier zwischen 15 und 16 die MSBs geschaltet werden. Werden die LSBs vor den MSBs verarbeitet, gibt es zwischenzeitlich einen früheren Timecode. Ich habe auch Frames mit 31 zwischen 15 und 16 gesehen, es könnte also auch passieren, dass die MSBs vor den LSBs kommen. Im ersten Fall werden die Flags, die die bereits erfolgte Ausführung anzeigen, zurückgesetzt und die Szenen im nächsten Moment nochmal ausgeführt; im zweiten Fall werden Szenen zu früh ausgeführt.
Mein Vorschlag beinhaltet zwei Punkte:

  • Auswahl durch den Benutzer, ob Quarter-Frame-Timecode benutzt werden soll
  • Fix der Verarbeitung: Laut Wikipedia werden die Frame-LSBs (Piece #0) zum genauen Zeitpunkt übertragen, andere später. Somit sollten die LSBs bei Überlauf auch immer schon die MSBs inkrementieren, die MSBs können dann bei Eingang korrigierend wirken. Bei Überlauf der Frame-, Sekunden-, Minuten- und Stundenzähler sind natürlich die nächstgröberen auch zu inkrementieren. Eventuell muss man auch damit rechnen, dass die MSBs zu früh kommen, ich würde sie also ignorieren, wenn die LSBs eins vor Überlauf stehen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants