@remotion/cli 3.3.82 → 3.3.84
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/codemods/update-default-props.js +7 -8
- package/dist/color-math.d.ts +1 -0
- package/dist/color-math.js +12 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/user-agent.d.ts +4 -0
- package/dist/config/user-agent.js +12 -0
- package/dist/editor/components/Canvas.js +1 -4
- package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +7 -0
- package/dist/editor/components/NewComposition/RemInputTypeColor.js +53 -0
- package/dist/editor/components/RenderButton.js +4 -1
- package/dist/editor/components/RenderModal/CrfSetting.js +1 -1
- package/dist/editor/components/RenderModal/EnvInput.js +1 -1
- package/dist/editor/components/RenderModal/FrameRangeSetting.js +1 -1
- package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +1 -1
- package/dist/editor/components/RenderModal/NumberSetting.js +1 -1
- package/dist/editor/components/RenderModal/RenderModal.js +25 -15
- package/dist/editor/components/RenderModal/RenderModalAdvanced.js +2 -0
- package/dist/editor/components/RenderModal/RenderModalAudio.js +1 -1
- package/dist/editor/components/RenderModal/RenderModalBasic.js +1 -1
- package/dist/editor/components/RenderModal/RenderModalData.js +71 -12
- package/dist/editor/components/RenderModal/RenderModalInput.js +1 -1
- package/dist/editor/components/RenderModal/RenderModalJSONInputPropsEditor.d.ts +1 -0
- package/dist/editor/components/RenderModal/RenderModalJSONInputPropsEditor.js +22 -2
- package/dist/editor/components/RenderModal/RenderModalPicture.js +1 -1
- package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +3 -40
- package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +11 -0
- package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +55 -0
- package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +14 -0
- package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +108 -0
- package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
- package/dist/editor/components/RenderModal/SchemaEditor/{ZodOrNullEditor.d.ts → ZodNullableEditor.d.ts} +1 -2
- package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.js +10 -0
- package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
- package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +14 -0
- package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +10 -0
- package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +1 -2
- package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +1 -1
- package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +12 -0
- package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.js +3 -0
- package/dist/editor/components/RenderModal/layout.js +0 -1
- package/dist/editor/components/RenderModal/out-name-checker.d.ts +0 -1
- package/dist/editor/components/RenderModal/out-name-checker.js +3 -3
- package/dist/editor/components/RenderQueue/actions.d.ts +0 -2
- package/dist/editor/components/RenderQueue/actions.js +10 -11
- package/dist/editor/components/RenderQueue/index.js +25 -1
- package/dist/editor/components/RenderToolbarIcon.js +22 -7
- package/dist/editor/components/RendersTab.js +3 -3
- package/dist/editor/components/RightPanel.js +2 -7
- package/dist/editor/components/SegmentedControl.d.ts +0 -5
- package/dist/editor/components/SegmentedControl.js +2 -3
- package/dist/editor/components/SidebarCollapserControls.js +81 -10
- package/dist/editor/components/SizeSelector.js +1 -1
- package/dist/editor/components/Splitter/SplitterElement.js +1 -0
- package/dist/editor/components/Tabs/index.js +9 -2
- package/dist/editor/components/Tabs/vertical.d.ts +7 -0
- package/dist/editor/components/Tabs/vertical.js +43 -0
- package/dist/editor/components/TimeValue.js +3 -4
- package/dist/editor/components/Timeline/TimelineListItem.js +9 -1
- package/dist/ffmpeg.js +2 -2
- package/dist/get-cli-options.js +1 -0
- package/dist/parse-command-line.d.ts +1 -0
- package/dist/parse-command-line.js +3 -0
- package/dist/preview-server/api-types.d.ts +0 -4
- package/dist/preview-server/render-queue/job.d.ts +1 -1
- package/dist/preview-server/render-queue/queue.d.ts +1 -13
- package/dist/preview-server/render-queue/queue.js +6 -9
- package/dist/preview-server/routes/can-update-default-props.d.ts +4 -0
- package/dist/preview-server/routes/can-update-default-props.js +38 -0
- package/package.json +6 -6
- package/dist/editor/components/CheckerboardContext.d.ts +0 -0
- package/dist/editor/components/CheckerboardContext.js +0 -1
- package/dist/editor/components/CollapsedSidebarExpander.d.ts +0 -5
- package/dist/editor/components/CollapsedSidebarExpander.js +0 -40
- package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullEditor.js +0 -45
- package/dist/editor/components/RenderModal/SchemaEditor/schema-serialization.d.ts +0 -2
- package/dist/editor/components/RenderModal/SchemaEditor/schema-serialization.js +0 -21
- package/dist/editor/components/SidebarContent.d.ts +0 -5
- package/dist/editor/components/SidebarContent.js +0 -53
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canUpdateDefaultProps = exports.updateDefaultProps = exports.cancelRenderJob = exports.removeRenderJob = exports.openInFileExplorer = exports.subscribeToFileExistenceWatcher = exports.unsubscribeFromFileExistenceWatcher = exports.addVideoRenderJob = exports.addStillRenderJob =
|
|
3
|
+
exports.canUpdateDefaultProps = exports.updateDefaultProps = exports.cancelRenderJob = exports.removeRenderJob = exports.openInFileExplorer = exports.subscribeToFileExistenceWatcher = exports.unsubscribeFromFileExistenceWatcher = exports.addVideoRenderJob = exports.addStillRenderJob = void 0;
|
|
4
4
|
const date_serialization_1 = require("../RenderModal/SchemaEditor/date-serialization");
|
|
5
5
|
const callApi = (endpoint, body) => {
|
|
6
6
|
return new Promise((resolve, reject) => {
|
|
@@ -25,9 +25,8 @@ const callApi = (endpoint, body) => {
|
|
|
25
25
|
});
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
|
-
exports.callApi = callApi;
|
|
29
28
|
const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, verbose, chromiumOptions, delayRenderTimeout, envVariables, inputProps, }) => {
|
|
30
|
-
return
|
|
29
|
+
return callApi('/api/render', {
|
|
31
30
|
compositionId,
|
|
32
31
|
type: 'still',
|
|
33
32
|
outName,
|
|
@@ -44,7 +43,7 @@ const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, f
|
|
|
44
43
|
};
|
|
45
44
|
exports.addStillRenderJob = addStillRenderJob;
|
|
46
45
|
const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, verbose, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, }) => {
|
|
47
|
-
return
|
|
46
|
+
return callApi('/api/render', {
|
|
48
47
|
compositionId,
|
|
49
48
|
type: 'video',
|
|
50
49
|
outName,
|
|
@@ -75,11 +74,11 @@ const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, s
|
|
|
75
74
|
};
|
|
76
75
|
exports.addVideoRenderJob = addVideoRenderJob;
|
|
77
76
|
const unsubscribeFromFileExistenceWatcher = ({ file, clientId, }) => {
|
|
78
|
-
return
|
|
77
|
+
return callApi('/api/unsubscribe-from-file-existence', { file, clientId });
|
|
79
78
|
};
|
|
80
79
|
exports.unsubscribeFromFileExistenceWatcher = unsubscribeFromFileExistenceWatcher;
|
|
81
80
|
const subscribeToFileExistenceWatcher = async ({ file, clientId, }) => {
|
|
82
|
-
const { exists } = await
|
|
81
|
+
const { exists } = await callApi('/api/subscribe-to-file-existence', {
|
|
83
82
|
file,
|
|
84
83
|
clientId,
|
|
85
84
|
});
|
|
@@ -90,30 +89,30 @@ const openInFileExplorer = ({ directory }) => {
|
|
|
90
89
|
const body = {
|
|
91
90
|
directory,
|
|
92
91
|
};
|
|
93
|
-
return
|
|
92
|
+
return callApi('/api/open-in-file-explorer', body);
|
|
94
93
|
};
|
|
95
94
|
exports.openInFileExplorer = openInFileExplorer;
|
|
96
95
|
const removeRenderJob = (job) => {
|
|
97
|
-
return
|
|
96
|
+
return callApi('/api/remove-render', {
|
|
98
97
|
jobId: job.id,
|
|
99
98
|
});
|
|
100
99
|
};
|
|
101
100
|
exports.removeRenderJob = removeRenderJob;
|
|
102
101
|
const cancelRenderJob = (job) => {
|
|
103
|
-
return
|
|
102
|
+
return callApi('/api/cancel', {
|
|
104
103
|
jobId: job.id,
|
|
105
104
|
});
|
|
106
105
|
};
|
|
107
106
|
exports.cancelRenderJob = cancelRenderJob;
|
|
108
107
|
const updateDefaultProps = (compositionId, defaultProps) => {
|
|
109
|
-
return
|
|
108
|
+
return callApi('/api/update-default-props', {
|
|
110
109
|
compositionId,
|
|
111
110
|
defaultProps: (0, date_serialization_1.serializeJSONWithDate)(defaultProps, undefined),
|
|
112
111
|
});
|
|
113
112
|
};
|
|
114
113
|
exports.updateDefaultProps = updateDefaultProps;
|
|
115
114
|
const canUpdateDefaultProps = (compositionId) => {
|
|
116
|
-
return
|
|
115
|
+
return callApi('/api/can-update-default-props', {
|
|
117
116
|
compositionId,
|
|
118
117
|
});
|
|
119
118
|
};
|
|
@@ -3,15 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RenderQueue = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const client_id_1 = require("../../helpers/client-id");
|
|
6
7
|
const colors_1 = require("../../helpers/colors");
|
|
8
|
+
const layout_1 = require("../layout");
|
|
7
9
|
const context_1 = require("./context");
|
|
8
10
|
const RenderQueueItem_1 = require("./RenderQueueItem");
|
|
9
11
|
const separatorStyle = {
|
|
10
12
|
borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
|
|
11
13
|
};
|
|
12
|
-
|
|
14
|
+
const errorExplanation = {
|
|
15
|
+
fontSize: 14,
|
|
16
|
+
color: colors_1.LIGHT_TEXT,
|
|
17
|
+
fontFamily: 'sans-serif',
|
|
18
|
+
lineHeight: 1.5,
|
|
19
|
+
};
|
|
20
|
+
const explainer = {
|
|
21
|
+
display: 'flex',
|
|
22
|
+
flex: 1,
|
|
23
|
+
flexDirection: 'column',
|
|
24
|
+
padding: '0 12px',
|
|
25
|
+
justifyContent: 'center',
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
textAlign: 'center',
|
|
28
|
+
};
|
|
13
29
|
const RenderQueue = () => {
|
|
30
|
+
const connectionStatus = (0, react_1.useContext)(client_id_1.PreviewServerConnectionCtx).type;
|
|
14
31
|
const { jobs } = (0, react_1.useContext)(context_1.RenderQueueContext);
|
|
32
|
+
const jobCount = jobs.length;
|
|
33
|
+
if (connectionStatus === 'disconnected') {
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: explainer, children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 5 }), (0, jsx_runtime_1.jsx)("div", { style: errorExplanation, children: "The preview server has disconnected." }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 2, block: true })] }));
|
|
35
|
+
}
|
|
36
|
+
if (jobCount === 0) {
|
|
37
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: explainer, children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 5 }), (0, jsx_runtime_1.jsx)("div", { style: errorExplanation, children: "No renders in the queue." }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { y: 2, block: true })] }));
|
|
38
|
+
}
|
|
15
39
|
return ((0, jsx_runtime_1.jsx)("div", { children: jobs.map((j, index) => {
|
|
16
40
|
return ((0, jsx_runtime_1.jsx)("div", { style: index === jobs.length - 1 ? undefined : separatorStyle, children: (0, jsx_runtime_1.jsx)(RenderQueueItem_1.RenderQueueItem, { job: j }) }, j.id));
|
|
17
41
|
}) }));
|
|
@@ -2,27 +2,40 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RenderButton = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const client_1 = require("@remotion/renderer/client");
|
|
5
6
|
const react_1 = require("react");
|
|
6
7
|
const remotion_1 = require("remotion");
|
|
7
8
|
const get_default_out_name_1 = require("../../get-default-out-name");
|
|
9
|
+
const Button_1 = require("../../preview-server/error-overlay/remotion-overlay/Button");
|
|
8
10
|
const get_default_video_contexts_1 = require("../../preview-server/render-queue/get-default-video-contexts");
|
|
9
11
|
const client_id_1 = require("../helpers/client-id");
|
|
12
|
+
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
10
13
|
const render_1 = require("../icons/render");
|
|
11
14
|
const modals_1 = require("../state/modals");
|
|
12
|
-
const
|
|
15
|
+
const layout_1 = require("./layout");
|
|
16
|
+
const button = {
|
|
17
|
+
paddingLeft: 7,
|
|
18
|
+
paddingRight: 7,
|
|
19
|
+
paddingTop: 7,
|
|
20
|
+
paddingBottom: 7,
|
|
21
|
+
};
|
|
22
|
+
const label = {
|
|
23
|
+
fontSize: 14,
|
|
24
|
+
};
|
|
13
25
|
const RenderButton = () => {
|
|
14
26
|
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
15
27
|
const { type } = (0, react_1.useContext)(client_id_1.PreviewServerConnectionCtx);
|
|
28
|
+
const shortcut = (0, use_keybinding_1.areKeyboardShortcutsDisabled)() ? '' : '(R)';
|
|
29
|
+
const tooltip = type === 'connected'
|
|
30
|
+
? 'Export the current composition ' + shortcut
|
|
31
|
+
: 'Connect to the preview server to render';
|
|
16
32
|
const iconStyle = (0, react_1.useMemo)(() => {
|
|
17
33
|
return {
|
|
18
34
|
style: {
|
|
19
|
-
height:
|
|
35
|
+
height: 16,
|
|
20
36
|
},
|
|
21
37
|
};
|
|
22
38
|
}, []);
|
|
23
|
-
const tooltip = type === 'connected'
|
|
24
|
-
? 'Export the current composition'
|
|
25
|
-
: 'Connect to the preview server to render';
|
|
26
39
|
const video = remotion_1.Internals.useVideo();
|
|
27
40
|
const frame = (0, remotion_1.useCurrentFrame)();
|
|
28
41
|
const onClick = (0, react_1.useCallback)(() => {
|
|
@@ -47,7 +60,9 @@ const RenderButton = () => {
|
|
|
47
60
|
initialVideoImageFormat: defaults.videoImageFormat,
|
|
48
61
|
initialOutName: (0, get_default_out_name_1.getDefaultOutLocation)({
|
|
49
62
|
compositionName: video.id,
|
|
50
|
-
defaultExtension: isVideo
|
|
63
|
+
defaultExtension: isVideo
|
|
64
|
+
? client_1.BrowserSafeApis.getFileExtensionFromCodec(initialVideoCodec, defaults.audioCodec)
|
|
65
|
+
: defaults.stillImageFormat,
|
|
51
66
|
type: 'asset',
|
|
52
67
|
}),
|
|
53
68
|
initialJpegQuality: defaults.jpegQuality,
|
|
@@ -79,6 +94,6 @@ const RenderButton = () => {
|
|
|
79
94
|
if (!video) {
|
|
80
95
|
return null;
|
|
81
96
|
}
|
|
82
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
97
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { id: "render-modal-button", title: tooltip, onClick: onClick, buttonContainerStyle: button, children: (0, jsx_runtime_1.jsxs)(layout_1.Row, { align: "center", children: [(0, jsx_runtime_1.jsx)(render_1.RenderIcon, { svgProps: iconStyle }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsx)("span", { style: label, children: "Render" })] }) }));
|
|
83
98
|
};
|
|
84
99
|
exports.RenderButton = RenderButton;
|
|
@@ -11,14 +11,14 @@ const row = {
|
|
|
11
11
|
display: 'flex',
|
|
12
12
|
flexDirection: 'row',
|
|
13
13
|
fontSize: 14,
|
|
14
|
-
justifyContent: 'center',
|
|
15
14
|
color: 'inherit',
|
|
16
15
|
alignItems: 'center',
|
|
16
|
+
flex: 1,
|
|
17
17
|
};
|
|
18
18
|
const badge = {
|
|
19
19
|
height: 16,
|
|
20
20
|
width: 16,
|
|
21
|
-
borderRadius:
|
|
21
|
+
borderRadius: 3,
|
|
22
22
|
fontSize: 10,
|
|
23
23
|
display: 'inline-flex',
|
|
24
24
|
justifyContent: 'center',
|
|
@@ -38,6 +38,6 @@ const RendersTab = ({ selected, onClick }) => {
|
|
|
38
38
|
borderColor: colors_1.LIGHT_TEXT,
|
|
39
39
|
};
|
|
40
40
|
}, [failedJobs]);
|
|
41
|
-
return ((0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: selected, onClick: onClick, children: (0, jsx_runtime_1.jsxs)("div", { style: row, children: ["Renders", jobCount > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: selected, onClick: onClick, children: (0, jsx_runtime_1.jsxs)("div", { style: row, children: ["Renders", jobCount > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)("div", { style: badgeStyle, children: jobCount })] })) : null] }) }));
|
|
42
42
|
};
|
|
43
43
|
exports.RendersTab = RendersTab;
|
|
@@ -4,7 +4,6 @@ exports.RightPanel = exports.rightSidebarTabs = exports.persistSelectedPanel = v
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const remotion_1 = require("remotion");
|
|
7
|
-
const colors_1 = require("../helpers/colors");
|
|
8
7
|
const RenderModalData_1 = require("./RenderModal/RenderModalData");
|
|
9
8
|
const RenderQueue_1 = require("./RenderQueue");
|
|
10
9
|
const RendersTab_1 = require("./RendersTab");
|
|
@@ -19,8 +18,6 @@ const container = {
|
|
|
19
18
|
const PropsEditor = ({ composition }) => {
|
|
20
19
|
var _a;
|
|
21
20
|
const { props, updateProps } = (0, react_1.useContext)(remotion_1.Internals.EditorPropsContext);
|
|
22
|
-
// TODO: Warn if inputProps were specified to the CLI, then
|
|
23
|
-
// they take priority over defaultProps
|
|
24
21
|
const setInputProps = (0, react_1.useCallback)((newProps) => {
|
|
25
22
|
updateProps({
|
|
26
23
|
id: composition.id,
|
|
@@ -38,9 +35,7 @@ const getSelectedPanel = () => {
|
|
|
38
35
|
}
|
|
39
36
|
return 'input-props';
|
|
40
37
|
};
|
|
41
|
-
const tabsContainer = {
|
|
42
|
-
borderBottom: `1px solid ${colors_1.BORDER_COLOR}`,
|
|
43
|
-
};
|
|
38
|
+
const tabsContainer = {};
|
|
44
39
|
const persistSelectedPanel = (panel) => {
|
|
45
40
|
localStorage.setItem(localStorageKey, panel);
|
|
46
41
|
};
|
|
@@ -76,6 +71,6 @@ const RightPanel = () => {
|
|
|
76
71
|
if (composition === null) {
|
|
77
72
|
return null;
|
|
78
73
|
}
|
|
79
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: panel === 'input-props', onClick: onCompositionsSelected, children: "
|
|
74
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: panel === 'input-props', onClick: onCompositionsSelected, children: "Props" }), (0, jsx_runtime_1.jsx)(RendersTab_1.RendersTab, { onClick: onRendersSelected, selected: panel === 'renders' })] }) }), panel === 'renders' ? ((0, jsx_runtime_1.jsx)(RenderQueue_1.RenderQueue, {})) : ((0, jsx_runtime_1.jsx)(PropsEditor, { composition: composition }))] }));
|
|
80
75
|
};
|
|
81
76
|
exports.RightPanel = RightPanel;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
2
1
|
import React from 'react';
|
|
3
2
|
export declare type SegmentedControlItem = {
|
|
4
3
|
label: React.ReactNode;
|
|
@@ -10,7 +9,3 @@ export declare const SegmentedControl: React.FC<{
|
|
|
10
9
|
items: SegmentedControlItem[];
|
|
11
10
|
needsWrapping: boolean;
|
|
12
11
|
}>;
|
|
13
|
-
export declare const Item: React.FC<PropsWithChildren<{
|
|
14
|
-
selected: boolean;
|
|
15
|
-
onClick: () => void;
|
|
16
|
-
}>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SegmentedControl = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const colors_1 = require("../helpers/colors");
|
|
@@ -38,7 +38,7 @@ const SegmentedControl = ({ items, needsWrapping }) => {
|
|
|
38
38
|
};
|
|
39
39
|
}, [needsWrapping]);
|
|
40
40
|
return ((0, jsx_runtime_1.jsx)("div", { style: controlStyle, children: items.map((i) => {
|
|
41
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(Item, { onClick: i.onClick, selected: i.selected, children: i.label }, i.key));
|
|
42
42
|
}) }));
|
|
43
43
|
};
|
|
44
44
|
exports.SegmentedControl = SegmentedControl;
|
|
@@ -60,4 +60,3 @@ const Item = ({ selected, onClick, children }) => {
|
|
|
60
60
|
}, [hovered, selected]);
|
|
61
61
|
return ((0, jsx_runtime_1.jsx)("button", { type: "button", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: itemStyle, tabIndex: tabIndex, onClick: onClick, children: children }));
|
|
62
62
|
};
|
|
63
|
-
exports.Item = Item;
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SidebarCollapserControls = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
+
const ShortcutHint_1 = require("../../preview-server/error-overlay/remotion-overlay/ShortcutHint");
|
|
7
|
+
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
6
8
|
const sidebar_1 = require("../state/sidebar");
|
|
7
9
|
const InlineAction_1 = require("./InlineAction");
|
|
8
10
|
const layout_1 = require("./layout");
|
|
@@ -15,7 +17,8 @@ const style = {
|
|
|
15
17
|
position: 'relative',
|
|
16
18
|
};
|
|
17
19
|
const SidebarCollapserControls = () => {
|
|
18
|
-
const {
|
|
20
|
+
const { setSidebarCollapsedState, sidebarCollapsedStateRight } = (0, react_1.useContext)(sidebar_1.SidebarContext);
|
|
21
|
+
const keybindings = (0, use_keybinding_1.useKeybinding)();
|
|
19
22
|
const leftSidebarStatus = (0, TopPanel_1.useResponsiveSidebarStatus)();
|
|
20
23
|
const leftIcon = (0, react_1.useMemo)(() => {
|
|
21
24
|
return {
|
|
@@ -36,16 +39,84 @@ const SidebarCollapserControls = () => {
|
|
|
36
39
|
};
|
|
37
40
|
}, [sidebarCollapsedStateRight]);
|
|
38
41
|
const toggleLeft = (0, react_1.useCallback)(() => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
setSidebarCollapsedState({
|
|
43
|
+
left: (s) => {
|
|
44
|
+
if (s === 'responsive') {
|
|
45
|
+
return leftSidebarStatus === 'collapsed' ? 'expanded' : 'collapsed';
|
|
46
|
+
}
|
|
47
|
+
return s === 'collapsed' ? 'expanded' : 'collapsed';
|
|
48
|
+
},
|
|
49
|
+
right: null,
|
|
44
50
|
});
|
|
45
|
-
}, [leftSidebarStatus,
|
|
51
|
+
}, [leftSidebarStatus, setSidebarCollapsedState]);
|
|
46
52
|
const toggleRight = (0, react_1.useCallback)(() => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
setSidebarCollapsedState({
|
|
54
|
+
right: (s) => (s === 'collapsed' ? 'expanded' : 'collapsed'),
|
|
55
|
+
left: null,
|
|
56
|
+
});
|
|
57
|
+
}, [setSidebarCollapsedState]);
|
|
58
|
+
const toggleBoth = (0, react_1.useCallback)(() => {
|
|
59
|
+
if (sidebarCollapsedStateRight === leftSidebarStatus) {
|
|
60
|
+
setSidebarCollapsedState({
|
|
61
|
+
left: (s) => {
|
|
62
|
+
if (s === 'responsive') {
|
|
63
|
+
return leftSidebarStatus === 'collapsed' ? 'expanded' : 'collapsed';
|
|
64
|
+
}
|
|
65
|
+
return s === 'collapsed' ? 'expanded' : 'collapsed';
|
|
66
|
+
},
|
|
67
|
+
right: (s) => (s === 'collapsed' ? 'expanded' : 'collapsed'),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
else if (sidebarCollapsedStateRight === 'expanded') {
|
|
71
|
+
toggleRight();
|
|
72
|
+
}
|
|
73
|
+
else if (leftSidebarStatus === 'expanded') {
|
|
74
|
+
toggleLeft();
|
|
75
|
+
}
|
|
76
|
+
}, [
|
|
77
|
+
leftSidebarStatus,
|
|
78
|
+
setSidebarCollapsedState,
|
|
79
|
+
sidebarCollapsedStateRight,
|
|
80
|
+
toggleLeft,
|
|
81
|
+
toggleRight,
|
|
82
|
+
]);
|
|
83
|
+
(0, react_1.useEffect)(() => {
|
|
84
|
+
const left = keybindings.registerKeybinding({
|
|
85
|
+
event: 'keydown',
|
|
86
|
+
key: 'b',
|
|
87
|
+
commandCtrlKey: true,
|
|
88
|
+
callback: toggleLeft,
|
|
89
|
+
preventDefault: true,
|
|
90
|
+
triggerIfInputFieldFocused: false,
|
|
91
|
+
});
|
|
92
|
+
const right = keybindings.registerKeybinding({
|
|
93
|
+
event: 'keydown',
|
|
94
|
+
key: 'j',
|
|
95
|
+
commandCtrlKey: true,
|
|
96
|
+
callback: toggleRight,
|
|
97
|
+
preventDefault: true,
|
|
98
|
+
triggerIfInputFieldFocused: false,
|
|
99
|
+
});
|
|
100
|
+
const zen = keybindings.registerKeybinding({
|
|
101
|
+
event: 'keydown',
|
|
102
|
+
key: 'g',
|
|
103
|
+
commandCtrlKey: true,
|
|
104
|
+
callback: toggleBoth,
|
|
105
|
+
preventDefault: true,
|
|
106
|
+
triggerIfInputFieldFocused: false,
|
|
107
|
+
});
|
|
108
|
+
return () => {
|
|
109
|
+
left.unregister();
|
|
110
|
+
right.unregister();
|
|
111
|
+
zen.unregister();
|
|
112
|
+
};
|
|
113
|
+
}, [keybindings, toggleBoth, toggleLeft, toggleRight]);
|
|
114
|
+
const toggleLeftTooltip = (0, use_keybinding_1.areKeyboardShortcutsDisabled)()
|
|
115
|
+
? 'Toggle Left Sidebar'
|
|
116
|
+
: `Toggle Left Sidebar (${ShortcutHint_1.cmdOrCtrlCharacter}+B)`;
|
|
117
|
+
const toggleRightTooltip = (0, use_keybinding_1.areKeyboardShortcutsDisabled)()
|
|
118
|
+
? 'Toggle Right Sidebar'
|
|
119
|
+
: `Toggle Right Sidebar (${ShortcutHint_1.cmdOrCtrlCharacter}+J)`;
|
|
120
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.Row, { children: [(0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { onClick: toggleLeft, children: (0, jsx_runtime_1.jsx)("div", { style: style, title: toggleLeftTooltip, children: (0, jsx_runtime_1.jsx)("div", { style: leftIcon }) }) }), (0, jsx_runtime_1.jsx)(InlineAction_1.InlineAction, { onClick: toggleRight, children: (0, jsx_runtime_1.jsx)("div", { style: style, title: toggleRightTooltip, children: (0, jsx_runtime_1.jsx)("div", { style: rightIcon }) }) })] }));
|
|
50
121
|
};
|
|
51
122
|
exports.SidebarCollapserControls = SidebarCollapserControls;
|
|
@@ -84,7 +84,7 @@ const SizeSelector = () => {
|
|
|
84
84
|
},
|
|
85
85
|
type: 'item',
|
|
86
86
|
value: newSize.size,
|
|
87
|
-
keyHint: newSize.size ===
|
|
87
|
+
keyHint: newSize.size === 'auto' ? '0' : null,
|
|
88
88
|
leftItem: String(size.size) === String(newSize.size) ? (0, jsx_runtime_1.jsx)(Checkmark_1.Checkmark, {}) : null,
|
|
89
89
|
subMenu: null,
|
|
90
90
|
quickSwitcherLabel: null,
|
|
@@ -14,6 +14,7 @@ const SplitterElement = ({ children, type }) => {
|
|
|
14
14
|
display: 'flex',
|
|
15
15
|
position: 'relative',
|
|
16
16
|
overflow: 'hidden',
|
|
17
|
+
flexDirection: 'column',
|
|
17
18
|
};
|
|
18
19
|
}, [context.flexValue, type]);
|
|
19
20
|
return (0, jsx_runtime_1.jsx)("div", { style: style, children: children });
|
|
@@ -23,7 +23,12 @@ const selectorButton = {
|
|
|
23
23
|
border: 'none',
|
|
24
24
|
flex: 1,
|
|
25
25
|
padding: 8,
|
|
26
|
+
paddingLeft: 16,
|
|
27
|
+
display: 'flex',
|
|
28
|
+
flexDirection: 'row',
|
|
26
29
|
fontSize: 14,
|
|
30
|
+
color: 'inherit',
|
|
31
|
+
alignItems: 'center',
|
|
27
32
|
};
|
|
28
33
|
const Tab = ({ children, onClick, style, selected }) => {
|
|
29
34
|
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
@@ -38,11 +43,13 @@ const Tab = ({ children, onClick, style, selected }) => {
|
|
|
38
43
|
return {
|
|
39
44
|
...selectorButton,
|
|
40
45
|
backgroundColor: selected
|
|
41
|
-
?
|
|
46
|
+
? 'transparent'
|
|
42
47
|
: hovered
|
|
43
48
|
? colors_1.CLEAR_HOVER
|
|
44
|
-
:
|
|
49
|
+
: colors_1.INPUT_BACKGROUND,
|
|
45
50
|
color: selected ? 'white' : colors_1.LIGHT_TEXT,
|
|
51
|
+
borderTop: selected ? '2px solid var(--blue)' : '2px solid transparent',
|
|
52
|
+
boxShadow: selected ? 'none' : undefined,
|
|
46
53
|
...style,
|
|
47
54
|
};
|
|
48
55
|
}, [hovered, selected, style]);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VerticalTab = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const colors_1 = require("../../helpers/colors");
|
|
7
|
+
const z_index_1 = require("../../state/z-index");
|
|
8
|
+
const selectorButton = {
|
|
9
|
+
border: 'none',
|
|
10
|
+
flex: 1,
|
|
11
|
+
padding: 8,
|
|
12
|
+
paddingLeft: 16,
|
|
13
|
+
display: 'flex',
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
fontSize: 14,
|
|
16
|
+
color: 'inherit',
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
};
|
|
19
|
+
const VerticalTab = ({ children, onClick, style, selected }) => {
|
|
20
|
+
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
21
|
+
const { tabIndex } = (0, z_index_1.useZIndex)();
|
|
22
|
+
const onPointerEnter = (0, react_1.useCallback)(() => {
|
|
23
|
+
setHovered(true);
|
|
24
|
+
}, []);
|
|
25
|
+
const onPointerLeave = (0, react_1.useCallback)(() => {
|
|
26
|
+
setHovered(false);
|
|
27
|
+
}, []);
|
|
28
|
+
const definiteStyle = (0, react_1.useMemo)(() => {
|
|
29
|
+
return {
|
|
30
|
+
...selectorButton,
|
|
31
|
+
backgroundColor: selected
|
|
32
|
+
? colors_1.SELECTED_BACKGROUND
|
|
33
|
+
: hovered
|
|
34
|
+
? colors_1.CLEAR_HOVER
|
|
35
|
+
: 'transparent',
|
|
36
|
+
color: selected ? 'white' : colors_1.LIGHT_TEXT,
|
|
37
|
+
boxShadow: selected ? 'none' : undefined,
|
|
38
|
+
...style,
|
|
39
|
+
};
|
|
40
|
+
}, [hovered, selected, style]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)("button", { style: definiteStyle, type: "button", onClick: onClick, tabIndex: tabIndex, onPointerLeave: onPointerLeave, onPointerEnter: onPointerEnter, children: children }));
|
|
42
|
+
};
|
|
43
|
+
exports.VerticalTab = VerticalTab;
|
|
@@ -18,14 +18,13 @@ const text = {
|
|
|
18
18
|
const time = {
|
|
19
19
|
display: 'inline-block',
|
|
20
20
|
fontSize: 18,
|
|
21
|
+
lineHeight: 1,
|
|
21
22
|
};
|
|
22
23
|
const frameStyle = {
|
|
23
24
|
color: '#ccc',
|
|
24
25
|
fontSize: 10,
|
|
25
26
|
fontWeight: 500,
|
|
26
|
-
|
|
27
|
-
const spacer = {
|
|
28
|
-
width: layout_1.SPACING_UNIT,
|
|
27
|
+
lineHeight: 1,
|
|
29
28
|
};
|
|
30
29
|
const TimeValue = () => {
|
|
31
30
|
const frame = (0, remotion_1.useCurrentFrame)();
|
|
@@ -37,6 +36,6 @@ const TimeValue = () => {
|
|
|
37
36
|
if (isStill) {
|
|
38
37
|
return null;
|
|
39
38
|
}
|
|
40
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: text, children: [(0, jsx_runtime_1.jsx)("div", { style: time, children: (0, render_frame_1.renderFrame)(frame, config.fps) }),
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: text, children: [(0, jsx_runtime_1.jsx)("div", { style: time, children: (0, render_frame_1.renderFrame)(frame, config.fps) }), " ", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), (0, jsx_runtime_1.jsxs)("div", { style: frameStyle, children: [frame, " ", (0, jsx_runtime_1.jsxs)("span", { style: frameStyle, children: ["(", config.fps, " fps)"] })] })] }));
|
|
41
40
|
};
|
|
42
41
|
exports.TimeValue = TimeValue;
|
|
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const timeline_layout_1 = require("../../helpers/timeline-layout");
|
|
7
7
|
const z_index_1 = require("../../state/z-index");
|
|
8
|
+
const layout_1 = require("../layout");
|
|
8
9
|
const TimelineCollapseToggle_1 = require("./TimelineCollapseToggle");
|
|
9
10
|
const TimelineSequenceFrame_1 = require("./TimelineSequenceFrame");
|
|
10
11
|
const HOOK_WIDTH = 7;
|
|
@@ -16,6 +17,9 @@ const TIMELINE_COLLAPSER_MARGIN_RIGHT = 10;
|
|
|
16
17
|
exports.TOTAL_TIMELINE_LAYER_LEFT_PADDING = TIMELINE_COLLAPSER_WIDTH + TIMELINE_COLLAPSER_MARGIN_RIGHT + timeline_layout_1.TIMELINE_PADDING;
|
|
17
18
|
const textStyle = {
|
|
18
19
|
fontSize: 13,
|
|
20
|
+
whiteSpace: 'nowrap',
|
|
21
|
+
textOverflow: 'ellipsis',
|
|
22
|
+
overflow: 'hidden',
|
|
19
23
|
};
|
|
20
24
|
const outer = {
|
|
21
25
|
height: timeline_layout_1.TIMELINE_LAYER_HEIGHT + timeline_layout_1.TIMELINE_BORDER * 2,
|
|
@@ -43,14 +47,17 @@ const hook = {
|
|
|
43
47
|
};
|
|
44
48
|
const space = {
|
|
45
49
|
width: SPACING,
|
|
50
|
+
flexShrink: 0,
|
|
46
51
|
};
|
|
47
52
|
const smallSpace = {
|
|
48
53
|
width: SPACING * 0.5,
|
|
54
|
+
flexShrink: 0,
|
|
49
55
|
};
|
|
50
56
|
const collapser = {
|
|
51
57
|
width: TIMELINE_COLLAPSER_WIDTH,
|
|
52
58
|
userSelect: 'none',
|
|
53
59
|
marginRight: TIMELINE_COLLAPSER_MARGIN_RIGHT,
|
|
60
|
+
flexShrink: 0,
|
|
54
61
|
};
|
|
55
62
|
const collapserButton = {
|
|
56
63
|
...collapser,
|
|
@@ -71,6 +78,7 @@ const TimelineListItem = ({ nestedDepth, sequence, collapsed, beforeDepth, dispa
|
|
|
71
78
|
const padder = (0, react_1.useMemo)(() => {
|
|
72
79
|
return {
|
|
73
80
|
width: leftOffset * nestedDepth,
|
|
81
|
+
flexShrink: 0,
|
|
74
82
|
};
|
|
75
83
|
}, [leftOffset, nestedDepth]);
|
|
76
84
|
const toggleCollapse = (0, react_1.useCallback)(() => {
|
|
@@ -90,6 +98,6 @@ const TimelineListItem = ({ nestedDepth, sequence, collapsed, beforeDepth, dispa
|
|
|
90
98
|
const text = sequence.displayName.length > 80
|
|
91
99
|
? sequence.displayName.slice(0, 80) + '...'
|
|
92
100
|
: sequence.displayName;
|
|
93
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: outer, children: [(0, jsx_runtime_1.jsx)("div", { style: padder }), canCollapse ? ((0, jsx_runtime_1.jsx)("button", { tabIndex: tabIndex, type: "button", style: collapserButton, onClick: toggleCollapse, children: (0, jsx_runtime_1.jsx)(TimelineCollapseToggle_1.TimelineCollapseToggle, { collapsed: collapsed }) })) : ((0, jsx_runtime_1.jsx)("div", { style: collapser })), sequence.parent && nestedDepth > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: smallSpace }), (0, jsx_runtime_1.jsx)("div", { style: hookContainer, children: (0, jsx_runtime_1.jsx)("div", { style: hookStyle }) }), (0, jsx_runtime_1.jsx)("div", { style: space })] })) : null, (0, jsx_runtime_1.jsxs)("div", { style: textStyle, children: [text || 'Untitled', (0, jsx_runtime_1.jsx)(TimelineSequenceFrame_1.TimelineSequenceFrame, { duration: sequence.duration, from: sequence.from })] })] }));
|
|
101
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: outer, children: [(0, jsx_runtime_1.jsx)("div", { style: padder }), canCollapse ? ((0, jsx_runtime_1.jsx)("button", { tabIndex: tabIndex, type: "button", style: collapserButton, onClick: toggleCollapse, children: (0, jsx_runtime_1.jsx)(TimelineCollapseToggle_1.TimelineCollapseToggle, { collapsed: collapsed }) })) : ((0, jsx_runtime_1.jsx)("div", { style: collapser })), sequence.parent && nestedDepth > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: smallSpace }), (0, jsx_runtime_1.jsx)("div", { style: hookContainer, children: (0, jsx_runtime_1.jsx)("div", { style: hookStyle }) }), (0, jsx_runtime_1.jsx)("div", { style: space })] })) : null, (0, jsx_runtime_1.jsxs)("div", { title: text || 'Untitled', style: textStyle, children: [text || 'Untitled', (0, jsx_runtime_1.jsx)(TimelineSequenceFrame_1.TimelineSequenceFrame, { duration: sequence.duration, from: sequence.from })] }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 })] }));
|
|
94
102
|
};
|
|
95
103
|
exports.TimelineListItem = TimelineListItem;
|
package/dist/ffmpeg.js
CHANGED
|
@@ -5,7 +5,7 @@ const renderer_1 = require("@remotion/renderer");
|
|
|
5
5
|
const child_process_1 = require("child_process");
|
|
6
6
|
const ffmpegCommand = (_root, args) => {
|
|
7
7
|
const done = (0, child_process_1.spawnSync)(renderer_1.RenderInternals.getExecutablePath('ffmpeg'), args, {
|
|
8
|
-
...renderer_1.RenderInternals.
|
|
8
|
+
...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
|
|
9
9
|
stdio: 'inherit',
|
|
10
10
|
});
|
|
11
11
|
process.exit(done.status);
|
|
@@ -13,7 +13,7 @@ const ffmpegCommand = (_root, args) => {
|
|
|
13
13
|
exports.ffmpegCommand = ffmpegCommand;
|
|
14
14
|
const ffprobeCommand = (_root, args) => {
|
|
15
15
|
const done = (0, child_process_1.spawnSync)(renderer_1.RenderInternals.getExecutablePath('ffprobe'), args, {
|
|
16
|
-
...renderer_1.RenderInternals.
|
|
16
|
+
...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
|
|
17
17
|
stdio: 'inherit',
|
|
18
18
|
});
|
|
19
19
|
process.exit(done.status);
|
package/dist/get-cli-options.js
CHANGED
|
@@ -131,6 +131,7 @@ const getCliOptions = async (options) => {
|
|
|
131
131
|
ignoreCertificateErrors: config_1.ConfigInternals.getIgnoreCertificateErrors(),
|
|
132
132
|
headless: config_1.ConfigInternals.getChromiumHeadlessMode(),
|
|
133
133
|
gl: (_a = config_1.ConfigInternals.getChromiumOpenGlRenderer()) !== null && _a !== void 0 ? _a : renderer_1.RenderInternals.DEFAULT_OPENGL_RENDERER,
|
|
134
|
+
userAgent: config_1.ConfigInternals.getChromiumUserAgent(),
|
|
134
135
|
};
|
|
135
136
|
const everyNthFrame = config_1.ConfigInternals.getEveryNthFrame();
|
|
136
137
|
const numberOfGifLoops = config_1.ConfigInternals.getNumberOfGifLoops();
|
|
@@ -66,6 +66,9 @@ const parseCommandLine = () => {
|
|
|
66
66
|
if (exports.parsedCli['disable-headless']) {
|
|
67
67
|
config_1.Config.setChromiumHeadlessMode(false);
|
|
68
68
|
}
|
|
69
|
+
if (exports.parsedCli['user-agent']) {
|
|
70
|
+
config_1.Config.setChromiumUserAgent(exports.parsedCli['user-agent']);
|
|
71
|
+
}
|
|
69
72
|
if (exports.parsedCli.log) {
|
|
70
73
|
if (!renderer_1.RenderInternals.isValidLogLevel(exports.parsedCli.log)) {
|
|
71
74
|
log_1.Log.error('Invalid `--log` value passed.');
|
|
@@ -8,10 +8,6 @@ export declare type ApiHandler<ReqData, ResData> = (params: {
|
|
|
8
8
|
request: IncomingMessage;
|
|
9
9
|
response: ServerResponse;
|
|
10
10
|
}) => Promise<ResData>;
|
|
11
|
-
export declare type ApiRoute<ReqData, ResData> = {
|
|
12
|
-
handler: ApiHandler<ReqData, ResData>;
|
|
13
|
-
endpoint: string;
|
|
14
|
-
};
|
|
15
11
|
declare type ReqAndRes<A, B> = {
|
|
16
12
|
Request: A;
|
|
17
13
|
Response: B;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AudioCodec, Codec, makeCancelSignal, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
|
|
2
2
|
import type { AggregateRenderProgress } from '../../progress-types';
|
|
3
3
|
import type { RequiredChromiumOptions } from '../../required-chromium-options';
|
|
4
|
-
|
|
4
|
+
declare type BaseRenderProgress = {
|
|
5
5
|
message: string;
|
|
6
6
|
value: number;
|
|
7
7
|
};
|