diff options
author | lonkaars <loek@pipeframe.xyz> | 2021-05-17 11:15:52 +0200 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2021-05-17 11:15:52 +0200 |
commit | 5a66728480dcf9ea3281d1bd887f610f8e6b7db4 (patch) | |
tree | 8bb221323f44f21f37e4d9adf2229bad5c8fe3dd /pages/present.tsx | |
parent | 5890893a4c60af290843601252caf890360d29cf (diff) |
timeline moves in editor to now
Diffstat (limited to 'pages/present.tsx')
-rw-r--r-- | pages/present.tsx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/pages/present.tsx b/pages/present.tsx index d1d18a2..085a99c 100644 --- a/pages/present.tsx +++ b/pages/present.tsx @@ -22,6 +22,7 @@ export class TimedVideoPlayer { registeredEventListeners: boolean; frame: number; framerate: number; + onframe?: (frame: number) => void; constructor() { this.slide = -1; @@ -31,13 +32,13 @@ export class TimedVideoPlayer { this.registeredEventListeners = false; } - frameToTimestampString(frame: number) { + frameToTimestampString(frame: number, trim: boolean = true) { var timecodeString = new Timecode(frame, this.framerate).toString(); - return timecodeString - .replace(/^(00:)+/, '') - .replace(';', '.') + if (trim) timecodeString = timecodeString.replace(/^(00:)+/, ''); + timecodeString = timecodeString.replace(';', '.') .replace(/(:)(\d+?)$/, '.$2') + 'f'; + return timecodeString; } timestampToFrame(timestamp: number): number { @@ -114,8 +115,12 @@ export class TimedVideoPlayer { setInterval(() => { if (this.player.paused) return; + + var lastFrame = this.frame; this.frame = this.timestampToFrame(this.player.currentTime); + if (this.frame != lastFrame && this.onframe) this.onframe(this.frame); + var slide = this.timeline.slides[this.slide]; if (!slide) return; |