aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormonoguitari <113245090+monoguitari@users.noreply.github.com>2023-08-22 15:42:55 -0400
committermonoguitari <113245090+monoguitari@users.noreply.github.com>2023-08-22 15:42:55 -0400
commit7a2f4ea7d58b816e84949c58d66310ac6a18edd6 (patch)
tree8f6153d58ae49fecc943ac30193ef837c097f230 /src
parentec6a5f5d5684ca66cd21bb8fef91c86852dd126f (diff)
uptodate
Diffstat (limited to 'src')
-rw-r--r--src/client/util/CurrentUserUtils.ts12
-rw-r--r--src/client/views/nodes/RecordingBox/RecordingBox.tsx69
2 files changed, 64 insertions, 17 deletions
diff --git a/src/client/util/CurrentUserUtils.ts b/src/client/util/CurrentUserUtils.ts
index 54828867e..053f416ce 100644
--- a/src/client/util/CurrentUserUtils.ts
+++ b/src/client/util/CurrentUserUtils.ts
@@ -714,9 +714,13 @@ export class CurrentUserUtils {
{ title: "View", icon: "View", toolTip: "View tools", subMenu: CurrentUserUtils.viewTools(), expertMode: false, toolType:CollectionViewType.Freeform, funcs: {hidden: `!SelectionManager_selectedDocType(self.toolType, self.expertMode)`, linearView_IsOpen: `SelectionManager_selectedDocType(self.toolType, self.expertMode)`} }, // Always available
{ title: "Web", icon: "Web", toolTip: "Web functions", subMenu: CurrentUserUtils.webTools(), expertMode: false, toolType:DocumentType.WEB, funcs: {hidden: `!SelectionManager_selectedDocType(self.toolType, self.expertMode)`, linearView_IsOpen: `SelectionManager_selectedDocType(self.toolType, self.expertMode)`} }, // Only when Web is selected
{ title: "Schema", icon: "Schema",linearBtnWidth:58,toolTip: "Schema functions",subMenu: CurrentUserUtils.schemaTools(), expertMode: false, toolType:CollectionViewType.Schema, funcs: {hidden: `!SelectionManager_selectedDocType(self.toolType, self.expertMode)`, linearView_IsOpen: `SelectionManager_selectedDocType(self.toolType, self.expertMode)`} }, // Only when Schema is selected
- { title: "Audio", icon: 'microphone', toolTip: "Dictate", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `getIsRecording()`}, ignoreClick: true, scripts: { onClick: 'return toggleRecording(_readOnly_)'},},
- { title: "StopRec", icon: "stop", toolTip: "Stop", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `!getIsRecording()`}, ignoreClick: true, scripts: { onClick: `return toggleRecording(_readOnly_)`}},
- { title: "Dropdown", toolTip: "Workspace Recordings", btnType: ButtonType.DropdownList, expertMode: false, funcs: {btnList: `getWorkspaceRecordings()`}, ignoreClick: true, scripts: { script: `toggleRecPlayback(value)`}, },
+ { title: "Audio", icon: 'microphone', toolTip: "Dictate", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `getIsRecording()`}, ignoreClick: true, scripts: { onClick: 'return toggleRecording(_readOnly_)'},},
+ { title: "StopRec", icon: "stop", toolTip: "Stop", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `!getIsRecording()`}, ignoreClick: true, scripts: { onClick: `return toggleRecording(_readOnly_)`}},
+ { title: "Dropdown", toolTip: "Workspace Recordings", btnType: ButtonType.DropdownList, expertMode: false, funcs: {btnList: `getWorkspaceRecordings()`}, ignoreClick: true, scripts: { script: `toggleRecPlayback(value)`}},
+ { title: "Play Rec",icon: "play", toolTip: "Play recording", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `!getIsRecPlayback()`}, ignoreClick: true, scripts: { onClick: `return playWorkspaceRec(getCurrentRecording())`}},
+ { title: "Pause Rec",icon: "pause", toolTip: "Pause recording", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `!getIsRecPlayback()`}, ignoreClick: true, scripts: { onClick: `return pauseWorkspaceRec(getCurrentRecording())`}},
+ { title: "Stop Rec", icon: "stop", toolTip: "Stop recording", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `!getIsRecPlayback()`}, ignoreClick: true, scripts: { onClick: `return closeWorkspaceRec(getCurrentRecording())`}},
+ { title: "Add doc", icon: "down", toolTip: "add to doc", btnType: ButtonType.ToggleButton, expertMode: false, funcs: {hidden: `!getIsRecPlayback()`}, ignoreClick: true, scripts: { onClick: `console.log("heya")`}},
];
}
@@ -741,6 +745,8 @@ export class CurrentUserUtils {
const subMenu = params.subMenu;
Doc.UserDoc().workspaceRecordings = new List<Doc>;
Doc.UserDoc().isRecording = false;
+ Doc.UserDoc().isRecPlayback = false;
+ Doc.UserDoc().currentRecording = undefined;
if (!subMenu) { // button does not have a sub menu
return this.setupContextMenuButton(params, menuBtnDoc);
}
diff --git a/src/client/views/nodes/RecordingBox/RecordingBox.tsx b/src/client/views/nodes/RecordingBox/RecordingBox.tsx
index 3237ce6cd..5502a1e08 100644
--- a/src/client/views/nodes/RecordingBox/RecordingBox.tsx
+++ b/src/client/views/nodes/RecordingBox/RecordingBox.tsx
@@ -9,7 +9,7 @@ import { VideoBox } from '../VideoBox';
import { RecordingView } from './RecordingView';
import { DocumentType } from '../../../documents/DocumentTypes';
import { Presentation } from '../../../util/TrackMovements';
-import { Doc } from '../../../../fields/Doc';
+import { Doc, DocListCast } from '../../../../fields/Doc';
import { Id } from '../../../../fields/FieldSymbols';
import { BoolCast, DocCast } from '../../../../fields/Types';
import { ScriptingGlobals } from '../../../util/ScriptingGlobals';
@@ -17,6 +17,11 @@ import { DocumentManager } from '../../../util/DocumentManager';
import { Docs } from '../../../documents/Documents';
import { CollectionFreeFormView } from '../../collections/collectionFreeForm/CollectionFreeFormView';
import { CurrentUserUtils } from '../../../util/CurrentUserUtils';
+import { DocumentView } from '../DocumentView';
+import { SettingsManager } from '../../../util/SettingsManager';
+import { PropertiesView } from '../../PropertiesView';
+import { PropertiesSection } from '../../PropertiesSection';
+import { PropertiesDocContextSelector } from '../../PropertiesDocContextSelector';
@observer
export class RecordingBox extends ViewBoxBaseComponent<FieldViewProps>() {
@@ -91,19 +96,29 @@ ScriptingGlobals.add(function toggleRecording(_readOnly_: boolean) {
//if recordingbox is true; when we press the stop button. changed vals temporarily to see if changes happening
console.log('grabbing screen!')
RecordingBox.screengrabber.Pause?.();
+ const remDoc = RecordingBox.screengrabber.rootDoc;
setTimeout(() => {
RecordingBox.screengrabber?.Finish?.();
RecordingBox.screengrabber!.rootDoc.overlayX = 400; //was 100
RecordingBox.screengrabber!.rootDoc.overlayY = 100;
- console.log(RecordingBox.screengrabber?.rootDoc)
+ // DocListCast(Doc.MyOverlayDocs.data)
+ // .filter(doc => doc.slides === RecordingBox.screengrabber!.rootDoc)
+ // .forEach(Doc.RemFromMyOverlay);
+ console.log(RecordingBox.screengrabber)
RecordingBox.screengrabber = undefined;
}, 100);
+ //could break if recording takes too long to turn into videobox. If so, either increase time on setTimeout below or find diff place to do this
+ setTimeout(() => {
+ Doc.RemFromMyOverlay(remDoc);
+
+ }, 1000)
Doc.UserDoc().isRecording = false;
- // console.log(RecordingBox.screengrabber.dataDoc);
+
// Doc.AddDocToList(Doc.UserDoc(), "workspaceRecordings", RecordingBox.screengrabber.dataDoc);
Doc.AddDocToList(Doc.UserDoc(), "workspaceRecordings", RecordingBox.screengrabber.rootDoc);
- // console.log(RecordingBox.screengrabber.rootDoc)
- // console.log(RecordingBox.screengrabber.dataDoc.data?.valueOf);
+
+ // let recView = Array.from(DocumentManager.Instance.DocumentViews).find(view => view.ComponentView instanceof CollectionFreeFormView);
+ // console.log(recView)
} else {
//when we first press mic
const screengrabber = Docs.Create.WebCamDocument('', {
@@ -125,23 +140,49 @@ ScriptingGlobals.add(function toggleRecording(_readOnly_: boolean) {
}
}, 'toggle recording');
ScriptingGlobals.add(function toggleRecPlayback(value: Doc) {
+ let docval = undefined;
+ Doc.UserDoc().isRecPlayback = true;
+ Doc.UserDoc().currentRecording = value;
console.log(value)
- const screenvid = Docs.Create.VideoDocument('', {_width: 384, _height: 216});
-
- let ffView = Array.from(DocumentManager.Instance.DocumentViews).find(view => view.ComponentView instanceof CollectionFreeFormView);
- (ffView?.ComponentView as CollectionFreeFormView).props.addDocument?.(value);
-
+ value.overlayX = 100;
+ value.overlayY = 100;
+ Doc.AddToMyOverlay(value);
+ DocumentManager.Instance.AddViewRenderedCb(value, docView => {
+ docval =
+ Doc.UserDoc().currentRecording = docView.ComponentView as VideoBox;
+ // docval.Play();
+ })
+ // let ffView = Array.from(DocumentManager.Instance.DocumentViews).find(view => view.ComponentView instanceof CollectionFreeFormView);
+ // (ffView?.ComponentView as CollectionFreeFormView).props.addDocument?.(value);
});
+ScriptingGlobals.add(function addRectoWorkspace() {
+ console.log("adding rec to doc");
+
+})
+ScriptingGlobals.add(function playWorkspaceRec(value: VideoBox) {
+ value.Play();
+})
+ScriptingGlobals.add(function pauseWorkspaceRec(value: VideoBox) {
+ value.Pause();
+})
+ScriptingGlobals.add(function closeWorkspaceRec(value: VideoBox) {
+ value.Pause();
+ Doc.RemFromMyOverlay(value.rootDoc);
+ Doc.UserDoc().currentRecording = undefined;
+ Doc.UserDoc().isRecPlayback = false;
+})
-ScriptingGlobals.add(function getCurrRecording() {
- console.log(RecordingBox.screengrabber);
-});
ScriptingGlobals.add(function getWorkspaceRecordings() {
return Doc.UserDoc().workspaceRecordings
});
ScriptingGlobals.add(function getIsRecording() {
return Doc.UserDoc().isRecording;
})
-
+ScriptingGlobals.add(function getIsRecPlayback() {
+ return Doc.UserDoc().isRecPlayback;
+})
+ScriptingGlobals.add(function getCurrentRecording() {
+ return Doc.UserDoc().currentRecording;
+})