aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/RecordingApi.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/util/RecordingApi.ts')
-rw-r--r--src/client/util/RecordingApi.ts26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/client/util/RecordingApi.ts b/src/client/util/RecordingApi.ts
index 48ea12fd9..ae5431a03 100644
--- a/src/client/util/RecordingApi.ts
+++ b/src/client/util/RecordingApi.ts
@@ -57,7 +57,7 @@ export class RecordingApi {
this.absoluteStart = -1;
// used for tracking movements in the view frame
- this.recordingFFViews = null;
+ this.recordingFFViews = new Map();
this.tabChangeDisposeFunc = null;
// for now, set playFFView
@@ -126,9 +126,8 @@ export class RecordingApi {
}
}
- public start = (meta?: Object) => {
+ public initTabTracker = () => {
// init the dispose funcs on the page
- this.recordingFFViews = new Map();
const docList = DocListCast(CollectionDockingView.Instance.props.Document.data);
this.updateRecordingFFViewsFromTabs(docList);
@@ -140,7 +139,9 @@ export class RecordingApi {
console.log('change in tabs', change);
this.updateRecordingFFViewsFromTabs(DocListCast(change), true);
});
+ }
+ public start = (meta?: Object) => {
// update the presentation mode
Doc.UserDoc().presentationMode = 'recording';
@@ -238,10 +239,7 @@ export class RecordingApi {
// play movemvents will recreate them when the user resumes the presentation
public pauseMovements = (): undefined | Error => {
- if (!this._isPlaying) {
- //return new Error('[recordingApi.ts] pauseMovements() failed: not playing')
- return
- }
+ if (!this._isPlaying) { console.warn('[recordingApi.ts] pauseMovements(): already on paused'); return;}
this._isPlaying = false
// TODO: set userdoc presentMode to browsing
this.timers?.map(timer => clearTimeout(timer))
@@ -250,6 +248,7 @@ export class RecordingApi {
}
private videoBoxDisposeFunc: IReactionDisposer | null = null;
+ private videoBox: VideoBox | null = null;
setVideoBox = (videoBox: VideoBox) => {
console.log('setVideoBox', videoBox);
@@ -258,20 +257,25 @@ export class RecordingApi {
reaction(() => ({ playing: videoBox._playing, timeViewed: videoBox.player?.currentTime || 0 }),
({ playing, timeViewed }) =>
playing ? this.playMovements(videoBox.presentation, timeViewed) : this.pauseMovements()
- );
+ );
+ this.videoBox = videoBox;
}
removeVideoBox = () => {
if (this.videoBoxDisposeFunc == null) { console.warn('removeVideoBox on null videoBox'); return; }
this.videoBoxDisposeFunc();
+
+ this.videoBox = null;
+ this.videoBoxDisposeFunc = null;
}
// by calling pause on the VideoBox, the pauseMovements will be called
- public pauseVideoAndMovements = () => {
- // this.videoBox?.Pause()
+ public pauseFromInteraction = () => {
+ Doc.UserDoc().presentationMode = 'none';
+ this.videoBox?.Pause();
- this.pauseMovements()
+ this.pauseMovements();
// return this.videoBox == null
}