@remotion/studio 4.0.526 → 4.0.527
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Canvas.js +88 -26
- package/dist/components/CanvasCaptureDropHandler.js +63 -0
- package/dist/components/CanvasOrLoading.js +10 -2
- package/dist/components/CompositionSelectorItem.js +1 -0
- package/dist/components/CurrentAsset.js +2 -1
- package/dist/components/InitialCompositionLoader.js +1 -1
- package/dist/components/InlineDropdown.js +26 -2
- package/dist/components/InlineEditableTitle.js +1 -0
- package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +1 -0
- package/dist/components/InspectorPanel/CompositionInspector.js +3 -3
- package/dist/components/InspectorPanel/CompositionMetadata.js +4 -0
- package/dist/components/InspectorPanel/ElementLibraryButton.js +1 -0
- package/dist/components/InspectorPanel/MultiSequenceInspector.js +32 -1
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +41 -1
- package/dist/components/InspectorPanel/common.js +1 -0
- package/dist/components/InspectorPanel/styles.js +2 -0
- package/dist/components/InspectorPanel/use-composition-actions.js +1 -0
- package/dist/components/InspectorSourceLocation.js +3 -0
- package/dist/components/MenuBuildIndicator.js +1 -0
- package/dist/components/NewComposition/CancelButton.js +1 -1
- package/dist/components/Preview.js +3 -0
- package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +1 -0
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -0
- package/dist/components/RadioButton.js +1 -0
- package/dist/components/RenderModal/DataEditor.js +4 -1
- package/dist/components/RenderQueue/CaptionQueueItem.js +5 -2
- package/dist/components/RenderQueue/CaptionQueueProcessor.js +35 -8
- package/dist/components/RenderQueue/VideoMattingQueueItem.js +1 -0
- package/dist/components/RenderQueue/caption-job-types.d.ts +6 -0
- package/dist/components/RenderQueue/index.js +1 -0
- package/dist/components/RendersTab.js +2 -0
- package/dist/components/SelectedOutlineSnapIndicators.d.ts +6 -0
- package/dist/components/SelectedOutlineSnapIndicators.js +16 -12
- package/dist/components/SequencePropsSubscriptionProvider.d.ts +3 -0
- package/dist/components/SequencePropsSubscriptionProvider.js +8 -6
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +6 -9
- package/dist/components/Timeline/TimelineEffectItem.js +1 -0
- package/dist/components/Timeline/TimelineExpandArrowButton.js +1 -0
- package/dist/components/Timeline/TimelineExpandedRow.js +1 -0
- package/dist/components/Timeline/TimelineFieldLabel.js +1 -0
- package/dist/components/Timeline/TimelineKeyframeControls.js +1 -0
- package/dist/components/Timeline/TimelineSequence.js +26 -0
- package/dist/components/Timeline/TimelineSequenceFrame.js +1 -0
- package/dist/components/Timeline/TimelineSequenceItem.js +28 -0
- package/dist/components/Timeline/TimelineViewport.d.ts +1 -0
- package/dist/components/Timeline/TimelineViewport.js +10 -1
- package/dist/components/Timeline/delete-selected-timeline-item.js +2 -2
- package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +3 -1
- package/dist/components/Timeline/get-sequence-context-menu-items.js +13 -1
- package/dist/components/Timeline/split-selected-timeline-item.d.ts +13 -10
- package/dist/components/Timeline/split-selected-timeline-item.js +58 -35
- package/dist/components/TimelineCombobox.js +1 -0
- package/dist/components/Transcription/TranscriptionModal.js +16 -11
- package/dist/components/Transcription/TranscriptionModalWithOptionalWhisper.js +1 -1
- package/dist/components/WebMcp.js +1 -0
- package/dist/components/composition-drop-preview.d.ts +9 -2
- package/dist/components/composition-drop-preview.js +7 -4
- package/dist/components/composition-menu-items.js +4 -4
- package/dist/components/delete-jsx-nodes-api.d.ts +2 -0
- package/dist/components/{delete-jsx-node-api.js → delete-jsx-nodes-api.js} +5 -5
- package/dist/components/get-open-in-menu-items.js +7 -7
- package/dist/components/keyboard-shortcuts.d.ts +4 -4
- package/dist/components/keyboard-shortcuts.js +3 -1
- package/dist/components/public-output-name.d.ts +1 -0
- package/dist/components/public-output-name.js +7 -3
- package/dist/esm/{CaptionQueueProcessor-k0yrm3dj.mjs → CaptionQueueProcessor-npa6szn1.mjs} +39 -8
- package/dist/esm/{LazyModels-nk7py0zt.mjs → LazyModels-nh3c8h9p.mjs} +4 -3
- package/dist/esm/{LazyModels-mtggyjye.mjs → LazyModels-rr5v8h5y.mjs} +4 -3
- package/dist/esm/{TranscriptionModal-ymnx1c7m.mjs → TranscriptionModal-79m5wgcj.mjs} +25 -17
- package/dist/esm/{VideoMattingModal-05vpczks.mjs → VideoMattingModal-31pew0xj.mjs} +9 -6
- package/dist/esm/index-21hxsfaa.mjs +239 -0
- package/dist/esm/{index-0gewwxse.mjs → index-4zen9prq.mjs} +2293 -2203
- package/dist/esm/index-5t2dwxsk.mjs +530 -0
- package/dist/esm/{index-5gd8k9yv.mjs → index-614tdz2q.mjs} +1 -1
- package/dist/esm/{index-cdy8v54v.mjs → index-9xxg6218.mjs} +20 -541
- package/dist/esm/{index-5bfxbpca.mjs → index-ac5550e7.mjs} +1 -1
- package/dist/esm/{index-eb5txqp6.mjs → index-e855w59j.mjs} +8 -86
- package/dist/esm/{index-4dsz9035.mjs → index-n5gmcvhz.mjs} +1 -1
- package/dist/esm/{index-bs39wngg.mjs → index-ppspzgn9.mjs} +3134 -2994
- package/dist/esm/{index-g7k2dvar.mjs → index-r0ejh5sy.mjs} +1 -1
- package/dist/esm/index-r1gr3j3a.mjs +80 -0
- package/dist/esm/{index-x40wwfmt.mjs → index-s7qa3xbw.mjs} +6 -4
- package/dist/esm/{index-f97r9e2g.mjs → index-vxwg66ar.mjs} +5 -3
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/internals.mjs +10 -7
- package/dist/esm/previewEntry.mjs +10 -7
- package/dist/esm/{resolve-composition-component-location-bt2d6qxq.mjs → resolve-composition-component-location-qrp05g62.mjs} +1 -1
- package/dist/helpers/copy-text.js +1 -16
- package/dist/helpers/hoverable.js +2 -1
- package/dist/helpers/open-in-editor.js +1 -1
- package/dist/helpers/studio-runtime-config.d.ts +1 -1
- package/dist/helpers/use-keybinding.d.ts +1 -1
- package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
- package/dist/helpers/use-menu-structure.js +15 -9
- package/dist/state/modals.d.ts +5 -0
- package/dist/state/timeline-zoom.js +4 -0
- package/package.json +19 -19
- package/dist/components/delete-jsx-node-api.d.ts +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.deleteJsxNodes = void 0;
|
|
4
4
|
const browser_studio_operations_1 = require("../helpers/browser-studio-operations");
|
|
5
5
|
const call_api_1 = require("./call-api");
|
|
6
|
-
const
|
|
6
|
+
const deleteJsxNodes = (request) => {
|
|
7
7
|
const browserStudioOperations = (0, browser_studio_operations_1.getBrowserStudioOperations)();
|
|
8
8
|
return browserStudioOperations
|
|
9
|
-
? browserStudioOperations.
|
|
10
|
-
: (0, call_api_1.callApi)('/api/delete-jsx-
|
|
9
|
+
? browserStudioOperations.deleteJsxNodes(request)
|
|
10
|
+
: (0, call_api_1.callApi)('/api/delete-jsx-nodes', request);
|
|
11
11
|
};
|
|
12
|
-
exports.
|
|
12
|
+
exports.deleteJsxNodes = deleteJsxNodes;
|
|
@@ -30,7 +30,7 @@ const getConfigureDefaultAppsMenuItems = ({ hasPreviousItems, onConfigureApps, }
|
|
|
30
30
|
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: "Configure default apps..." }),
|
|
31
31
|
leftItem: null,
|
|
32
32
|
onClick: onConfigureApps,
|
|
33
|
-
quickSwitcherLabel:
|
|
33
|
+
quickSwitcherLabel: 'Configure default apps...',
|
|
34
34
|
subMenu: null,
|
|
35
35
|
type: 'item',
|
|
36
36
|
value: 'change-default-apps',
|
|
@@ -55,7 +55,7 @@ const getOpenInMenuItems = ({ canOpenDesktopApps, codingAgentInfo, editorDisable
|
|
|
55
55
|
onOpenInEditor(editor.id);
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
-
quickSwitcherLabel:
|
|
58
|
+
quickSwitcherLabel: `Open in ${editor.name}`,
|
|
59
59
|
subMenu: null,
|
|
60
60
|
type: 'item',
|
|
61
61
|
value: editor.id,
|
|
@@ -68,7 +68,7 @@ const getOpenInMenuItems = ({ canOpenDesktopApps, codingAgentInfo, editorDisable
|
|
|
68
68
|
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: codingAgent.name }),
|
|
69
69
|
leftItem: jsx_runtime_1.jsx(CodingAgentIcon_1.CodingAgentIcon, { codingAgentId: codingAgent.id, size: 18 }),
|
|
70
70
|
onClick: () => onOpenInCodingAgent(codingAgent.id, codingAgent.nameWithType),
|
|
71
|
-
quickSwitcherLabel:
|
|
71
|
+
quickSwitcherLabel: `Open in ${codingAgent.nameWithType}`,
|
|
72
72
|
subMenu: null,
|
|
73
73
|
type: 'item',
|
|
74
74
|
value: `coding-agent-${codingAgent.id}`,
|
|
@@ -91,7 +91,7 @@ const getOpenInMenuItems = ({ canOpenDesktopApps, codingAgentInfo, editorDisable
|
|
|
91
91
|
onOpenInGitSource();
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
|
-
quickSwitcherLabel:
|
|
94
|
+
quickSwitcherLabel: 'Open in GitHub.com',
|
|
95
95
|
subMenu: null,
|
|
96
96
|
type: 'item',
|
|
97
97
|
value: 'github',
|
|
@@ -111,7 +111,7 @@ const getOpenInMenuItems = ({ canOpenDesktopApps, codingAgentInfo, editorDisable
|
|
|
111
111
|
onOpenInFileExplorer();
|
|
112
112
|
}
|
|
113
113
|
},
|
|
114
|
-
quickSwitcherLabel:
|
|
114
|
+
quickSwitcherLabel: `Open in ${fileManagerName}`,
|
|
115
115
|
subMenu: null,
|
|
116
116
|
type: 'item',
|
|
117
117
|
value: 'file-explorer',
|
|
@@ -156,7 +156,7 @@ const getOpenInMenuItems = ({ canOpenDesktopApps, codingAgentInfo, editorDisable
|
|
|
156
156
|
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: terminal.name }),
|
|
157
157
|
leftItem: jsx_runtime_1.jsx(terminal_1.TerminalIcon, { terminalId: terminal.id, size: 18 }),
|
|
158
158
|
onClick: () => onOpenInTerminal === null || onOpenInTerminal === void 0 ? void 0 : onOpenInTerminal(terminal.id),
|
|
159
|
-
quickSwitcherLabel:
|
|
159
|
+
quickSwitcherLabel: `Open in ${terminal.name}`,
|
|
160
160
|
subMenu: null,
|
|
161
161
|
type: 'item',
|
|
162
162
|
value: `terminal-${terminal.id}`,
|
|
@@ -176,7 +176,7 @@ const getOpenInMenuItems = ({ canOpenDesktopApps, codingAgentInfo, editorDisable
|
|
|
176
176
|
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: gitClient.name }),
|
|
177
177
|
leftItem: jsx_runtime_1.jsx(git_client_1.GitClientIcon, { gitClientId: gitClient.id, size: 18 }),
|
|
178
178
|
onClick: () => onOpenInGitClient(gitClient.id),
|
|
179
|
-
quickSwitcherLabel:
|
|
179
|
+
quickSwitcherLabel: `Open in ${gitClient.name}`,
|
|
180
180
|
subMenu: null,
|
|
181
181
|
type: 'item',
|
|
182
182
|
value: `git-client-${gitClient.id}`,
|
|
@@ -12,15 +12,15 @@ export type KeyboardShortcutGroup = {
|
|
|
12
12
|
export declare const defaultKeyboardShortcuts: Record<StudioKeyboardShortcutAction, readonly StudioKeyboardShortcut[]>;
|
|
13
13
|
export declare const keyboardShortcutGroups: readonly KeyboardShortcutGroup[];
|
|
14
14
|
export declare const askAIKeyboardShortcutGroup: KeyboardShortcutGroup;
|
|
15
|
-
export declare const getKeyboardShortcutsForAction: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut", configured?: Partial<Record<"askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut", StudioKeyboardShortcutValue>> | null) => readonly StudioKeyboardShortcut[];
|
|
15
|
+
export declare const getKeyboardShortcutsForAction: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "splitSequences" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut", configured?: Partial<Record<"askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "splitSequences" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut", StudioKeyboardShortcutValue>> | null) => readonly StudioKeyboardShortcut[];
|
|
16
16
|
export declare const keyboardEventMatchesShortcut: ({ event, shortcut: value, }: {
|
|
17
17
|
readonly event: KeyboardEvent;
|
|
18
18
|
readonly shortcut: StudioKeyboardShortcut;
|
|
19
19
|
}) => boolean;
|
|
20
20
|
export declare const keyboardShortcutsOverlap: (first: StudioKeyboardShortcut, second: StudioKeyboardShortcut) => boolean;
|
|
21
|
-
export declare const keyboardEventMatchesAction: (event: KeyboardEvent, action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => boolean;
|
|
21
|
+
export declare const keyboardEventMatchesAction: (event: KeyboardEvent, action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "splitSequences" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => boolean;
|
|
22
22
|
export declare const formatKeyboardShortcut: (value: StudioKeyboardShortcut) => readonly string[];
|
|
23
23
|
export declare const formatKeyboardShortcutForAria: (value: StudioKeyboardShortcut) => string;
|
|
24
|
-
export declare const getKeyboardShortcutLabel: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
25
|
-
export declare const getKeyboardShortcutAriaKeyShortcuts: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
24
|
+
export declare const getKeyboardShortcutLabel: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "splitSequences" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
25
|
+
export declare const getKeyboardShortcutAriaKeyShortcuts: (action: "askAI" | "clearInOutPoints" | "copyEffectsAndValues" | "cutEffects" | "deleteSelection" | "duplicateSequences" | "enterFullscreen" | "goToFrame" | "jumpToBeginning" | "jumpToEnd" | "nextComposition" | "pauseAndReturnToPlaybackStart" | "pausePlayback" | "pickColor" | "playForward" | "playPause" | "previousComposition" | "quickSwitcher" | "redo" | "render" | "resetZoom" | "reversePlayback" | "selectAllSequenceRows" | "selectOpacityProp" | "selectRotateProp" | "selectScaleProp" | "selectTranslateProp" | "setInPoint" | "setOutPoint" | "showKeyboardShortcuts" | "splitSequences" | "toggleBothSidebars" | "toggleCheckerboard" | "toggleLeftSidebar" | "toggleLoop" | "toggleMute" | "toggleOutlines" | "toggleRightSidebar" | "toggleRulersAndGuides" | "toggleSnapping" | "undo" | "zoomIn" | "zoomOut") => string;
|
|
26
26
|
export declare const shortcutFromKeyboardEvent: (event: KeyboardEvent) => StudioKeyboardShortcut | null;
|
|
@@ -45,7 +45,8 @@ exports.defaultKeyboardShortcuts = {
|
|
|
45
45
|
selectOpacityProp: [{ key: 't' }],
|
|
46
46
|
selectRotateProp: [{ key: 'r', shift: false }],
|
|
47
47
|
selectScaleProp: [{ key: 's' }],
|
|
48
|
-
duplicateSequences: [{ key: 'd', commandOrControl: true }],
|
|
48
|
+
duplicateSequences: [{ key: 'd', commandOrControl: true, shift: false }],
|
|
49
|
+
splitSequences: [{ key: 'd', commandOrControl: true, shift: true }],
|
|
49
50
|
copyEffectsAndValues: [{ key: 'c', commandOrControl: true }],
|
|
50
51
|
cutEffects: [{ key: 'x', commandOrControl: true }],
|
|
51
52
|
deleteSelection: [{ key: 'Backspace' }, { key: 'Delete' }],
|
|
@@ -136,6 +137,7 @@ exports.keyboardShortcutGroups = [
|
|
|
136
137
|
shortcut('Select rotate prop', 'selectRotateProp'),
|
|
137
138
|
shortcut('Select scale prop', 'selectScaleProp'),
|
|
138
139
|
shortcut('Duplicate sequences', 'duplicateSequences'),
|
|
140
|
+
shortcut('Split sequences at playhead', 'splitSequences'),
|
|
139
141
|
shortcut('Copy effects / values', 'copyEffectsAndValues'),
|
|
140
142
|
shortcut('Cut effects', 'cutEffects'),
|
|
141
143
|
fixedShortcut('Paste effects / values', [[is_mac_1.isMac ? '⌘' : 'Ctrl', 'V']], 'Handled by the browser clipboard event'),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const getMediaFileName: (src: string, displayName: string) => string;
|
|
1
2
|
export declare const getDefaultOutputBaseName: (src: string, displayName: string, fallbackName: string) => string;
|
|
2
3
|
export declare const validatePublicOutputName: ({ extension, outName, }: {
|
|
3
4
|
extension: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validatePublicOutputName = exports.getDefaultOutputBaseName = void 0;
|
|
3
|
+
exports.validatePublicOutputName = exports.getDefaultOutputBaseName = exports.getMediaFileName = void 0;
|
|
4
4
|
const invalidCharacters = ['?', '*', '+', ':', '%'];
|
|
5
|
-
const
|
|
5
|
+
const getMediaFileName = (src, displayName) => {
|
|
6
6
|
var _a;
|
|
7
7
|
let pathname = displayName;
|
|
8
8
|
if (!/^(data|blob):/i.test(src.trimStart())) {
|
|
@@ -24,7 +24,11 @@ const getDefaultOutputBaseName = (src, displayName, fallbackName) => {
|
|
|
24
24
|
catch (_c) {
|
|
25
25
|
// Keep the encoded name if it contains an invalid escape sequence.
|
|
26
26
|
}
|
|
27
|
-
return
|
|
27
|
+
return decoded;
|
|
28
|
+
};
|
|
29
|
+
exports.getMediaFileName = getMediaFileName;
|
|
30
|
+
const getDefaultOutputBaseName = (src, displayName, fallbackName) => {
|
|
31
|
+
return ((0, exports.getMediaFileName)(src, displayName)
|
|
28
32
|
.replace(/\.[^/.]+$/, '')
|
|
29
33
|
.replace(/[^a-zA-Z0-9-_ ]/g, '-')
|
|
30
34
|
.trim()
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadModelForJob
|
|
3
3
|
} from "./index-v4tr1bft.mjs";
|
|
4
|
+
import {
|
|
5
|
+
installRequiredPackages
|
|
6
|
+
} from "./index-21hxsfaa.mjs";
|
|
4
7
|
import {
|
|
5
8
|
RenderQueueContext
|
|
6
9
|
} from "./index-9x6e1dq0.mjs";
|
|
7
10
|
import {
|
|
11
|
+
callApi
|
|
12
|
+
} from "./index-r1gr3j3a.mjs";
|
|
13
|
+
import {
|
|
14
|
+
getBrowserStudioOperations,
|
|
8
15
|
writeStaticFile
|
|
9
16
|
} from "./index-cw0pnpg5.mjs";
|
|
17
|
+
import"./index-9xxg6218.mjs";
|
|
18
|
+
import"./index-5zrb1ft4.mjs";
|
|
19
|
+
import"./index-k426ye99.mjs";
|
|
10
20
|
import"./index-rcv7qkt5.mjs";
|
|
11
21
|
|
|
12
22
|
// src/components/RenderQueue/CaptionQueueProcessor.tsx
|
|
@@ -179,14 +189,35 @@ var CaptionQueueProcessor = () => {
|
|
|
179
189
|
const { captions } = toCaptions({
|
|
180
190
|
whisperWebGpuOutput: transcription
|
|
181
191
|
});
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
192
|
+
if (job.target === null) {
|
|
193
|
+
updateCaptionJobProgress(job.id, {
|
|
194
|
+
message: `Saving ${job.outName}...`,
|
|
195
|
+
value: 0.95
|
|
196
|
+
});
|
|
197
|
+
await writeStaticFile({
|
|
198
|
+
contents: JSON.stringify(captions, null, 2),
|
|
199
|
+
filePath: job.outName
|
|
200
|
+
});
|
|
201
|
+
} else {
|
|
202
|
+
updateCaptionJobProgress(job.id, {
|
|
203
|
+
message: "Adding Basic captions...",
|
|
204
|
+
value: 0.95
|
|
205
|
+
});
|
|
206
|
+
await installRequiredPackages([
|
|
207
|
+
{ name: "@remotion/captions", version: null }
|
|
208
|
+
]);
|
|
209
|
+
const request = {
|
|
210
|
+
fileName: job.target.fileName,
|
|
211
|
+
nodePath: job.target.nodePath.nodePath,
|
|
212
|
+
durationInFrames: job.target.durationInFrames,
|
|
213
|
+
captions
|
|
214
|
+
};
|
|
215
|
+
const browserStudioOperations = getBrowserStudioOperations();
|
|
216
|
+
const response = browserStudioOperations ? await browserStudioOperations.insertBasicCaptions(request) : await callApi("/api/insert-basic-captions", request);
|
|
217
|
+
if (!response.success) {
|
|
218
|
+
throw new Error(response.reason);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
190
221
|
captionCount = captions.length;
|
|
191
222
|
} catch (error) {
|
|
192
223
|
processingError = error instanceof Error ? error : new Error(String(error));
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Models
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
3
|
+
} from "./index-614tdz2q.mjs";
|
|
4
|
+
import"./index-r0ejh5sy.mjs";
|
|
5
|
+
import"./index-5t2dwxsk.mjs";
|
|
6
|
+
import"./index-9xxg6218.mjs";
|
|
6
7
|
import"./index-5zrb1ft4.mjs";
|
|
7
8
|
import"./index-k426ye99.mjs";
|
|
8
9
|
import"./index-rcv7qkt5.mjs";
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Models
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
3
|
+
} from "./index-ac5550e7.mjs";
|
|
4
|
+
import"./index-r0ejh5sy.mjs";
|
|
5
|
+
import"./index-5t2dwxsk.mjs";
|
|
6
|
+
import"./index-9xxg6218.mjs";
|
|
6
7
|
import"./index-5zrb1ft4.mjs";
|
|
7
8
|
import"./index-k426ye99.mjs";
|
|
8
9
|
import"./index-rcv7qkt5.mjs";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
NumberSetting,
|
|
7
7
|
getDefaultCaptionOutputName,
|
|
8
8
|
validateCaptionOutputName
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-vxwg66ar.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Button,
|
|
12
12
|
Checkbox,
|
|
@@ -30,22 +30,25 @@ import {
|
|
|
30
30
|
optionsSidebarTabs,
|
|
31
31
|
persistSelectedOptionsSidebarPanel,
|
|
32
32
|
rightRow,
|
|
33
|
-
showNotification,
|
|
34
33
|
useStaticFiles
|
|
35
|
-
} from "./index-
|
|
34
|
+
} from "./index-ppspzgn9.mjs";
|
|
35
|
+
import {
|
|
36
|
+
showNotification
|
|
37
|
+
} from "./index-21hxsfaa.mjs";
|
|
36
38
|
import {
|
|
37
39
|
RenderQueueContext
|
|
38
40
|
} from "./index-9x6e1dq0.mjs";
|
|
39
41
|
import {
|
|
40
42
|
openInFileExplorer
|
|
41
|
-
} from "./index-
|
|
43
|
+
} from "./index-e855w59j.mjs";
|
|
44
|
+
import"./index-r1gr3j3a.mjs";
|
|
42
45
|
import {
|
|
43
46
|
getBrowserStudioOperations
|
|
44
47
|
} from "./index-cw0pnpg5.mjs";
|
|
45
48
|
import {
|
|
46
49
|
Models
|
|
47
|
-
} from "./index-
|
|
48
|
-
import"./index-
|
|
50
|
+
} from "./index-614tdz2q.mjs";
|
|
51
|
+
import"./index-r0ejh5sy.mjs";
|
|
49
52
|
import {
|
|
50
53
|
InlineAction,
|
|
51
54
|
Spacing,
|
|
@@ -61,7 +64,8 @@ import {
|
|
|
61
64
|
leftSidebar,
|
|
62
65
|
optionsPanel,
|
|
63
66
|
outerModalStyle
|
|
64
|
-
} from "./index-
|
|
67
|
+
} from "./index-5t2dwxsk.mjs";
|
|
68
|
+
import"./index-9xxg6218.mjs";
|
|
65
69
|
import"./index-5zrb1ft4.mjs";
|
|
66
70
|
import {
|
|
67
71
|
BLUE_DISABLED,
|
|
@@ -770,7 +774,8 @@ var TranscriptionModal = ({
|
|
|
770
774
|
audioStreamIndex,
|
|
771
775
|
displayName,
|
|
772
776
|
requestInit,
|
|
773
|
-
src
|
|
777
|
+
src,
|
|
778
|
+
target
|
|
774
779
|
}) => {
|
|
775
780
|
const [tab, setTab] = useState("transcribe");
|
|
776
781
|
const isModelCached = useCallback((model) => isWhisperModelCached({ model }), []);
|
|
@@ -811,8 +816,8 @@ var TranscriptionModal = ({
|
|
|
811
816
|
};
|
|
812
817
|
}, []);
|
|
813
818
|
const normalizedOutName = outName.normalize("NFC").toLowerCase();
|
|
814
|
-
const queuedOutputExists = captionJobs.some((job) => (job.status === "idle" || job.status === "running") && job.outName.normalize("NFC").toLowerCase() === normalizedOutName);
|
|
815
|
-
const outputValidationMessage = validateCaptionOutputName(outName) ?? (queuedOutputExists ? "Another caption job is already using this output file" : null);
|
|
819
|
+
const queuedOutputExists = captionJobs.some((job) => job.target === null && (job.status === "idle" || job.status === "running") && job.outName.normalize("NFC").toLowerCase() === normalizedOutName);
|
|
820
|
+
const outputValidationMessage = target === null ? validateCaptionOutputName(outName) ?? (queuedOutputExists ? "Another caption job is already using this output file" : null) : null;
|
|
816
821
|
const exists = staticFiles.some((file) => file.name.normalize("NFC").toLowerCase() === normalizedOutName);
|
|
817
822
|
const chunkValidationMessage = strideLengthInSeconds * 2 >= chunkLengthInSeconds ? "Stride length must be less than half of chunk length" : null;
|
|
818
823
|
const decodingValidationMessage = !Number.isFinite(temperature) ? "Temperature must be a finite number greater than 0" : temperature <= 0 ? "Temperature must be greater than 0" : !Number.isInteger(topK) || topK < 0 ? "Top K must be a non-negative integer" : !Number.isFinite(repetitionPenalty) ? "Repetition penalty must be a finite number greater than 0" : repetitionPenalty <= 0 ? "Repetition penalty must be greater than 0" : !Number.isInteger(noRepeatNgramSize) || noRepeatNgramSize < 0 ? "No-repeat n-gram size must be a non-negative integer" : null;
|
|
@@ -834,7 +839,8 @@ var TranscriptionModal = ({
|
|
|
834
839
|
displayName,
|
|
835
840
|
audioStreamIndex,
|
|
836
841
|
requestInit,
|
|
837
|
-
outName,
|
|
842
|
+
outName: target === null ? outName : "Basic captions",
|
|
843
|
+
target,
|
|
838
844
|
model: selectedModel,
|
|
839
845
|
language: modelInfo.multilingual ? selectedLanguage : null,
|
|
840
846
|
task: modelInfo.supportsTranslation ? selectedTask : "transcribe",
|
|
@@ -861,6 +867,7 @@ var TranscriptionModal = ({
|
|
|
861
867
|
forceFullSequences,
|
|
862
868
|
noRepeatNgramSize,
|
|
863
869
|
outName,
|
|
870
|
+
target,
|
|
864
871
|
repetitionPenalty,
|
|
865
872
|
requestInit,
|
|
866
873
|
src,
|
|
@@ -873,13 +880,14 @@ var TranscriptionModal = ({
|
|
|
873
880
|
temperature,
|
|
874
881
|
topK
|
|
875
882
|
]);
|
|
883
|
+
const title = target === null ? `Transcribe ${displayName}` : "Generate captions";
|
|
876
884
|
return /* @__PURE__ */ jsx(DismissableModal, {
|
|
877
|
-
ariaLabel:
|
|
885
|
+
ariaLabel: title,
|
|
878
886
|
children: /* @__PURE__ */ jsxs("div", {
|
|
879
887
|
style: transcriptionModalStyle,
|
|
880
888
|
children: [
|
|
881
889
|
/* @__PURE__ */ jsx(ModalHeader, {
|
|
882
|
-
title
|
|
890
|
+
title
|
|
883
891
|
}),
|
|
884
892
|
/* @__PURE__ */ jsxs("div", {
|
|
885
893
|
style: container,
|
|
@@ -895,7 +903,7 @@ var TranscriptionModal = ({
|
|
|
895
903
|
...buttonStyle,
|
|
896
904
|
backgroundColor: canTranscribe ? buttonStyle.backgroundColor : BLUE_DISABLED
|
|
897
905
|
},
|
|
898
|
-
children: "Transcribe"
|
|
906
|
+
children: target === null ? "Transcribe" : "Generate captions"
|
|
899
907
|
})
|
|
900
908
|
]
|
|
901
909
|
}),
|
|
@@ -951,13 +959,13 @@ var TranscriptionModal = ({
|
|
|
951
959
|
style: tab === "transcribe" ? settingsPanel : hiddenPanel,
|
|
952
960
|
className: VERTICAL_SCROLLBAR_CLASSNAME,
|
|
953
961
|
children: [
|
|
954
|
-
/* @__PURE__ */ jsx(OutputSettings, {
|
|
962
|
+
target === null ? /* @__PURE__ */ jsx(OutputSettings, {
|
|
955
963
|
exists,
|
|
956
964
|
onOutNameChange,
|
|
957
965
|
outName,
|
|
958
966
|
validationMessage: outputValidationMessage
|
|
959
|
-
}),
|
|
960
|
-
/* @__PURE__ */ jsx(RenderModalHr, {}),
|
|
967
|
+
}) : null,
|
|
968
|
+
target === null ? /* @__PURE__ */ jsx(RenderModalHr, {}) : null,
|
|
961
969
|
/* @__PURE__ */ jsx(ModelSettings, {
|
|
962
970
|
cachedModels,
|
|
963
971
|
selectedLanguage,
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./index-7tt71e8n.mjs";
|
|
4
4
|
import {
|
|
5
5
|
RenderModalOutputName
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-s7qa3xbw.mjs";
|
|
7
7
|
import {
|
|
8
8
|
Button,
|
|
9
9
|
Checkmark,
|
|
@@ -25,16 +25,18 @@ import {
|
|
|
25
25
|
rightRow,
|
|
26
26
|
useStaticFiles,
|
|
27
27
|
validatePublicOutputName
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-ppspzgn9.mjs";
|
|
29
|
+
import"./index-21hxsfaa.mjs";
|
|
29
30
|
import {
|
|
30
31
|
RenderQueueContext
|
|
31
32
|
} from "./index-9x6e1dq0.mjs";
|
|
32
|
-
import"./index-
|
|
33
|
+
import"./index-e855w59j.mjs";
|
|
34
|
+
import"./index-r1gr3j3a.mjs";
|
|
33
35
|
import"./index-cw0pnpg5.mjs";
|
|
34
36
|
import {
|
|
35
37
|
Models
|
|
36
|
-
} from "./index-
|
|
37
|
-
import"./index-
|
|
38
|
+
} from "./index-ac5550e7.mjs";
|
|
39
|
+
import"./index-r0ejh5sy.mjs";
|
|
38
40
|
import {
|
|
39
41
|
VERTICAL_SCROLLBAR_CLASSNAME,
|
|
40
42
|
ValidationMessage,
|
|
@@ -48,7 +50,8 @@ import {
|
|
|
48
50
|
leftSidebar,
|
|
49
51
|
optionsPanel,
|
|
50
52
|
outerModalStyle
|
|
51
|
-
} from "./index-
|
|
53
|
+
} from "./index-5t2dwxsk.mjs";
|
|
54
|
+
import"./index-9xxg6218.mjs";
|
|
52
55
|
import"./index-5zrb1ft4.mjs";
|
|
53
56
|
import {
|
|
54
57
|
BLUE_DISABLED
|