@remotion/studio 4.0.433 → 4.0.435
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/CompositionSelector.js +36 -2
- package/dist/components/CompositionSelectorItem.js +1 -0
- package/dist/components/CurrentComposition.d.ts +1 -1
- package/dist/components/CurrentComposition.js +2 -3
- package/dist/components/CurrentCompositionSideEffects.js +2 -4
- package/dist/components/Modals.js +3 -2
- package/dist/components/PreviewToolbar.js +1 -2
- package/dist/components/RenderButton.d.ts +1 -1
- package/dist/components/RenderButton.js +64 -17
- package/dist/components/RenderModal/ClientRenderProgress.js +13 -9
- package/dist/components/RenderModal/RenderModalBasic.d.ts +1 -0
- package/dist/components/RenderModal/RenderModalBasic.js +2 -2
- package/dist/components/RenderModal/ServerRenderModal.d.ts +1 -0
- package/dist/components/RenderModal/ServerRenderModal.js +170 -5
- package/dist/components/RenderModal/WebRenderModalAudio.js +3 -2
- package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +3 -0
- package/dist/components/RenderQueue/RenderQueueItemStatus.js +1 -2
- package/dist/components/RenderQueue/RenderQueueProgressMessage.js +2 -3
- package/dist/components/RenderQueue/client-render-progress.d.ts +3 -0
- package/dist/components/RenderQueue/client-render-progress.js +31 -0
- package/dist/components/RenderQueue/client-side-render-types.d.ts +3 -0
- package/dist/components/RenderQueue/context.js +7 -1
- package/dist/components/SidebarRenderButton.js +1 -0
- package/dist/esm/{chunk-bd1bkakk.js → chunk-x88z6n54.js} +1063 -535
- package/dist/esm/internals.mjs +1063 -535
- package/dist/esm/previewEntry.mjs +634 -106
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/make-render-command.d.ts +51 -0
- package/dist/helpers/make-render-command.js +201 -0
- package/dist/helpers/retry-payload.js +3 -0
- package/dist/state/modals.d.ts +1 -0
- package/package.json +9 -9
- package/dist/helpers/should-show-render-button.d.ts +0 -1
- package/dist/helpers/should-show-render-button.js +0 -11
package/dist/esm/renderEntry.mjs
CHANGED
|
@@ -208,7 +208,7 @@ var renderContent = (Root) => {
|
|
|
208
208
|
renderToDOM(/* @__PURE__ */ jsx("div", {
|
|
209
209
|
children: /* @__PURE__ */ jsx(DelayedSpinner, {})
|
|
210
210
|
}));
|
|
211
|
-
import("./chunk-
|
|
211
|
+
import("./chunk-x88z6n54.js").then(({ StudioInternals }) => {
|
|
212
212
|
window.remotion_isStudio = true;
|
|
213
213
|
window.remotion_isReadOnlyStudio = true;
|
|
214
214
|
window.remotion_inputProps = "{}";
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { RenderFramesOptions, RenderMediaOptions, RenderStillOptions } from '@remotion/renderer';
|
|
2
|
+
import type { RenderDefaults } from '@remotion/studio-shared';
|
|
3
|
+
import type { renderMediaOnWeb } from '@remotion/web-renderer';
|
|
4
|
+
type RenderMode = 'still' | 'video' | 'audio' | 'sequence';
|
|
5
|
+
export declare const getNpmRemotionCommandPrefix: (version: string) => string;
|
|
6
|
+
export declare const normalizeServeUrlForRenderCommand: ({ locationHref, compositionId, }: {
|
|
7
|
+
locationHref: string;
|
|
8
|
+
compositionId: string;
|
|
9
|
+
}) => string;
|
|
10
|
+
type StrictRequired<T> = {
|
|
11
|
+
[K in keyof T]-?: Exclude<T[K], undefined>;
|
|
12
|
+
};
|
|
13
|
+
type RenderMediaCommandOptions = Omit<StrictRequired<Pick<RenderMediaOptions, 'codec' | 'crf' | 'concurrency' | 'disallowParallelEncoding' | 'muted' | 'enforceAudioTrack' | 'everyNthFrame' | 'numberOfGifLoops' | 'colorSpace' | 'scale' | 'logLevel' | 'repro' | 'metadata' | 'jpegQuality' | 'pixelFormat' | 'proResProfile' | 'x264Preset' | 'audioCodec' | 'forSeamlessAacConcatenation' | 'separateAudioTo' | 'hardwareAcceleration' | 'chromeMode' | 'offthreadVideoCacheSizeInBytes' | 'offthreadVideoThreads' | 'mediaCacheSizeInBytes' | 'audioBitrate' | 'videoBitrate' | 'encodingMaxRate' | 'encodingBufferSize'>>, 'audioBitrate' | 'videoBitrate' | 'encodingMaxRate' | 'encodingBufferSize' | 'jpegQuality' | 'proResProfile'> & {
|
|
14
|
+
audioBitrate: string | null;
|
|
15
|
+
videoBitrate: string | null;
|
|
16
|
+
encodingMaxRate: string | null;
|
|
17
|
+
encodingBufferSize: string | null;
|
|
18
|
+
jpegQuality: Exclude<RenderMediaOptions['jpegQuality'], undefined> | null;
|
|
19
|
+
proResProfile: Exclude<RenderMediaOptions['proResProfile'], undefined> | null;
|
|
20
|
+
};
|
|
21
|
+
type RenderStillCommandOptions = StrictRequired<Pick<RenderStillOptions, 'frame'>>;
|
|
22
|
+
type RenderFramesSharedOptions = StrictRequired<Pick<RenderFramesOptions, 'concurrency' | 'everyNthFrame' | 'scale' | 'logLevel'>>;
|
|
23
|
+
type RenderMediaOnWebInput = Parameters<typeof renderMediaOnWeb>[0];
|
|
24
|
+
type CrossRendererOptions = StrictRequired<Pick<RenderMediaOnWebInput, 'muted' | 'scale' | 'logLevel'>>;
|
|
25
|
+
type ReadOnlyStudioRenderCommandInput = RenderMediaCommandOptions & RenderStillCommandOptions & RenderFramesSharedOptions & CrossRendererOptions & {
|
|
26
|
+
remotionVersion: string;
|
|
27
|
+
locationHref: string;
|
|
28
|
+
compositionId: string;
|
|
29
|
+
outName: string;
|
|
30
|
+
renderMode: RenderMode;
|
|
31
|
+
renderDefaults: RenderDefaults;
|
|
32
|
+
durationInFrames: number;
|
|
33
|
+
startFrame: number;
|
|
34
|
+
endFrame: number;
|
|
35
|
+
stillImageFormat: RenderDefaults['stillImageFormat'];
|
|
36
|
+
sequenceImageFormat: RenderDefaults['videoImageFormat'];
|
|
37
|
+
videoImageFormat: RenderDefaults['videoImageFormat'];
|
|
38
|
+
delayRenderTimeout: number;
|
|
39
|
+
headless: boolean;
|
|
40
|
+
disableWebSecurity: boolean;
|
|
41
|
+
ignoreCertificateErrors: boolean;
|
|
42
|
+
gl: RenderDefaults['openGlRenderer'];
|
|
43
|
+
userAgent: string | null;
|
|
44
|
+
multiProcessOnLinux: boolean;
|
|
45
|
+
darkMode: boolean;
|
|
46
|
+
beepOnFinish: boolean;
|
|
47
|
+
envVariables: Record<string, string>;
|
|
48
|
+
inputProps: Record<string, unknown>;
|
|
49
|
+
};
|
|
50
|
+
export declare const makeReadOnlyStudioRenderCommand: ({ remotionVersion, locationHref, compositionId, outName, renderMode, renderDefaults, durationInFrames, concurrency, frame, startFrame, endFrame, stillImageFormat, sequenceImageFormat, videoImageFormat, jpegQuality, codec, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, crf, videoBitrate, audioBitrate, audioCodec, everyNthFrame, numberOfGifLoops, disallowParallelEncoding, encodingBufferSize, encodingMaxRate, forSeamlessAacConcatenation, separateAudioTo, colorSpace, scale, logLevel, delayRenderTimeout, hardwareAcceleration, chromeMode, headless, disableWebSecurity, ignoreCertificateErrors, gl, userAgent, multiProcessOnLinux, darkMode, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, mediaCacheSizeInBytes, beepOnFinish, repro, metadata, envVariables, inputProps, }: ReadOnlyStudioRenderCommandInput) => string;
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeReadOnlyStudioRenderCommand = exports.normalizeServeUrlForRenderCommand = exports.getNpmRemotionCommandPrefix = void 0;
|
|
4
|
+
const client_1 = require("@remotion/renderer/client");
|
|
5
|
+
const shellQuote = (value) => {
|
|
6
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
7
|
+
};
|
|
8
|
+
const addFlagWithValue = (flags, flag, value) => {
|
|
9
|
+
if (value === null || value === undefined) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
flags.push(`--${flag}=${shellQuote(String(value))}`);
|
|
13
|
+
};
|
|
14
|
+
const addBooleanFlag = (flags, flag, value) => {
|
|
15
|
+
if (value) {
|
|
16
|
+
flags.push(`--${flag}`);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
const valueFlag = (flag, value, defaultValue) => {
|
|
20
|
+
return { flag, value, defaultValue };
|
|
21
|
+
};
|
|
22
|
+
const booleanFlag = (flag, value, defaultValue) => {
|
|
23
|
+
return { flag, value, defaultValue };
|
|
24
|
+
};
|
|
25
|
+
const addValueFlagsIfChanged = (flags, mappings) => {
|
|
26
|
+
for (const mapping of mappings) {
|
|
27
|
+
if (mapping.value !== mapping.defaultValue) {
|
|
28
|
+
addFlagWithValue(flags, mapping.flag, mapping.value);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const addTrueBooleanFlagsIfChanged = (flags, mappings) => {
|
|
33
|
+
for (const mapping of mappings) {
|
|
34
|
+
if (mapping.value && mapping.value !== mapping.defaultValue) {
|
|
35
|
+
addBooleanFlag(flags, mapping.flag, true);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const getNpmRemotionCommandPrefix = (version) => {
|
|
40
|
+
return version.trim() === ''
|
|
41
|
+
? 'bunx --yes --location=global -p @remotion/cli remotion'
|
|
42
|
+
: `bunx --yes --location=global -p @remotion/cli@${version} remotion`;
|
|
43
|
+
};
|
|
44
|
+
exports.getNpmRemotionCommandPrefix = getNpmRemotionCommandPrefix;
|
|
45
|
+
const normalizeServeUrlForRenderCommand = ({ locationHref, compositionId, }) => {
|
|
46
|
+
const parsed = new URL(locationHref);
|
|
47
|
+
parsed.hash = '';
|
|
48
|
+
parsed.search = '';
|
|
49
|
+
const suffix = `/${compositionId}`;
|
|
50
|
+
if (parsed.pathname === suffix) {
|
|
51
|
+
parsed.pathname = '/';
|
|
52
|
+
}
|
|
53
|
+
else if (parsed.pathname.endsWith(suffix)) {
|
|
54
|
+
const basePath = parsed.pathname.slice(0, -suffix.length);
|
|
55
|
+
parsed.pathname = basePath === '' ? '/' : basePath;
|
|
56
|
+
}
|
|
57
|
+
if (parsed.pathname !== '/' && parsed.pathname.endsWith('/')) {
|
|
58
|
+
parsed.pathname = parsed.pathname.slice(0, -1);
|
|
59
|
+
}
|
|
60
|
+
return `${parsed.origin}${parsed.pathname === '/' ? '' : parsed.pathname}`;
|
|
61
|
+
};
|
|
62
|
+
exports.normalizeServeUrlForRenderCommand = normalizeServeUrlForRenderCommand;
|
|
63
|
+
const trimDefaultOutPrefix = (outName) => {
|
|
64
|
+
if (outName.startsWith('out/')) {
|
|
65
|
+
const trimmed = outName.slice('out/'.length);
|
|
66
|
+
return trimmed.length === 0 ? outName : trimmed;
|
|
67
|
+
}
|
|
68
|
+
if (outName.startsWith('./out/')) {
|
|
69
|
+
const trimmed = outName.slice('./out/'.length);
|
|
70
|
+
return trimmed.length === 0 ? outName : trimmed;
|
|
71
|
+
}
|
|
72
|
+
return outName;
|
|
73
|
+
};
|
|
74
|
+
const getRenderMediaFlag = (option) => {
|
|
75
|
+
return client_1.BrowserSafeApis.optionsMap.renderMedia[option].cliFlag;
|
|
76
|
+
};
|
|
77
|
+
const renderMediaValueFlag = (option, value, defaultValue) => {
|
|
78
|
+
return valueFlag(getRenderMediaFlag(option), value, defaultValue);
|
|
79
|
+
};
|
|
80
|
+
const renderMediaBooleanFlag = (option, value, defaultValue) => {
|
|
81
|
+
return booleanFlag(getRenderMediaFlag(option), value, defaultValue);
|
|
82
|
+
};
|
|
83
|
+
const makeReadOnlyStudioRenderCommand = ({ remotionVersion, locationHref, compositionId, outName, renderMode, renderDefaults, durationInFrames, concurrency, frame, startFrame, endFrame, stillImageFormat, sequenceImageFormat, videoImageFormat, jpegQuality, codec, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, crf, videoBitrate, audioBitrate, audioCodec, everyNthFrame, numberOfGifLoops, disallowParallelEncoding, encodingBufferSize, encodingMaxRate, forSeamlessAacConcatenation, separateAudioTo, colorSpace, scale, logLevel, delayRenderTimeout, hardwareAcceleration, chromeMode, headless, disableWebSecurity, ignoreCertificateErrors, gl, userAgent, multiProcessOnLinux, darkMode, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, mediaCacheSizeInBytes, beepOnFinish, repro, metadata, envVariables, inputProps, }) => {
|
|
84
|
+
var _a;
|
|
85
|
+
const serveUrl = (0, exports.normalizeServeUrlForRenderCommand)({
|
|
86
|
+
locationHref,
|
|
87
|
+
compositionId,
|
|
88
|
+
});
|
|
89
|
+
const isStillRender = renderMode === 'still';
|
|
90
|
+
const isSequenceRender = renderMode === 'sequence';
|
|
91
|
+
const hasCodecSpecificOptions = !isSequenceRender;
|
|
92
|
+
const commandType = isStillRender ? 'still' : 'render';
|
|
93
|
+
const command = (0, exports.getNpmRemotionCommandPrefix)(remotionVersion);
|
|
94
|
+
const { options } = client_1.BrowserSafeApis;
|
|
95
|
+
const flags = [];
|
|
96
|
+
addValueFlagsIfChanged(flags, [
|
|
97
|
+
valueFlag(options.scaleOption.cliFlag, scale, renderDefaults.scale),
|
|
98
|
+
renderMediaValueFlag('logLevel', logLevel, renderDefaults.logLevel),
|
|
99
|
+
renderMediaValueFlag('timeoutInMilliseconds', delayRenderTimeout, renderDefaults.delayRenderTimeout),
|
|
100
|
+
renderMediaValueFlag('chromeMode', chromeMode, renderDefaults.chromeMode),
|
|
101
|
+
valueFlag(options.glOption.cliFlag, gl, renderDefaults.openGlRenderer),
|
|
102
|
+
valueFlag(options.userAgentOption.cliFlag, userAgent, renderDefaults.userAgent),
|
|
103
|
+
renderMediaValueFlag('offthreadVideoCacheSizeInBytes', offthreadVideoCacheSizeInBytes, renderDefaults.offthreadVideoCacheSizeInBytes),
|
|
104
|
+
renderMediaValueFlag('offthreadVideoThreads', offthreadVideoThreads, renderDefaults.offthreadVideoThreads),
|
|
105
|
+
renderMediaValueFlag('mediaCacheSizeInBytes', mediaCacheSizeInBytes, renderDefaults.mediaCacheSizeInBytes),
|
|
106
|
+
]);
|
|
107
|
+
if (headless !== renderDefaults.headless) {
|
|
108
|
+
addFlagWithValue(flags, options.headlessOption.cliFlag, !headless);
|
|
109
|
+
}
|
|
110
|
+
addTrueBooleanFlagsIfChanged(flags, [
|
|
111
|
+
booleanFlag(options.disableWebSecurityOption.cliFlag, disableWebSecurity, renderDefaults.disableWebSecurity),
|
|
112
|
+
booleanFlag(options.ignoreCertificateErrorsOption.cliFlag, ignoreCertificateErrors, renderDefaults.ignoreCertificateErrors),
|
|
113
|
+
booleanFlag(options.enableMultiprocessOnLinuxOption.cliFlag, multiProcessOnLinux, renderDefaults.multiProcessOnLinux),
|
|
114
|
+
booleanFlag(options.darkModeOption.cliFlag, darkMode, renderDefaults.darkMode),
|
|
115
|
+
booleanFlag(options.beepOnFinishOption.cliFlag, beepOnFinish, renderDefaults.beepOnFinish),
|
|
116
|
+
]);
|
|
117
|
+
if (isStillRender) {
|
|
118
|
+
addValueFlagsIfChanged(flags, [
|
|
119
|
+
valueFlag(options.stillFrameOption.cliFlag, frame, 0),
|
|
120
|
+
valueFlag(options.stillImageFormatOption.cliFlag, stillImageFormat, renderDefaults.stillImageFormat),
|
|
121
|
+
valueFlag(options.jpegQualityOption.cliFlag, jpegQuality, renderDefaults.jpegQuality),
|
|
122
|
+
]);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
addValueFlagsIfChanged(flags, [
|
|
126
|
+
valueFlag(options.concurrencyOption.cliFlag, concurrency, renderDefaults.concurrency),
|
|
127
|
+
]);
|
|
128
|
+
if (isSequenceRender) {
|
|
129
|
+
addBooleanFlag(flags, options.imageSequenceOption.cliFlag, true);
|
|
130
|
+
if (sequenceImageFormat !== 'jpeg') {
|
|
131
|
+
addFlagWithValue(flags, options.videoImageFormatOption.cliFlag, sequenceImageFormat);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
addValueFlagsIfChanged(flags, [
|
|
136
|
+
valueFlag(options.videoImageFormatOption.cliFlag, videoImageFormat, renderDefaults.videoImageFormat),
|
|
137
|
+
renderMediaValueFlag('hardwareAcceleration', hardwareAcceleration, renderDefaults.hardwareAcceleration),
|
|
138
|
+
]);
|
|
139
|
+
}
|
|
140
|
+
if (hasCodecSpecificOptions && codec !== renderDefaults.codec) {
|
|
141
|
+
addFlagWithValue(flags, getRenderMediaFlag('codec'), codec);
|
|
142
|
+
}
|
|
143
|
+
if (startFrame !== 0 || endFrame !== durationInFrames - 1) {
|
|
144
|
+
addFlagWithValue(flags, options.framesOption.cliFlag, `${startFrame}-${endFrame}`);
|
|
145
|
+
}
|
|
146
|
+
if (hasCodecSpecificOptions) {
|
|
147
|
+
addTrueBooleanFlagsIfChanged(flags, [
|
|
148
|
+
renderMediaBooleanFlag('muted', muted, renderDefaults.muted),
|
|
149
|
+
booleanFlag(options.enforceAudioOption.cliFlag, enforceAudioTrack, renderDefaults.enforceAudioTrack),
|
|
150
|
+
renderMediaBooleanFlag('forSeamlessAacConcatenation', forSeamlessAacConcatenation, renderDefaults.forSeamlessAacConcatenation),
|
|
151
|
+
]);
|
|
152
|
+
addValueFlagsIfChanged(flags, [
|
|
153
|
+
valueFlag(options.pixelFormatOption.cliFlag, pixelFormat, renderDefaults.pixelFormat),
|
|
154
|
+
renderMediaValueFlag('colorSpace', colorSpace, renderDefaults.colorSpace),
|
|
155
|
+
valueFlag(options.proResProfileOption.cliFlag, proResProfile, renderDefaults.proResProfile),
|
|
156
|
+
renderMediaValueFlag('x264Preset', x264Preset, renderDefaults.x264Preset),
|
|
157
|
+
valueFlag(options.crfOption.cliFlag, crf, null),
|
|
158
|
+
valueFlag(options.jpegQualityOption.cliFlag, jpegQuality, renderDefaults.jpegQuality),
|
|
159
|
+
renderMediaValueFlag('videoBitrate', videoBitrate, renderDefaults.videoBitrate),
|
|
160
|
+
renderMediaValueFlag('audioBitrate', audioBitrate, renderDefaults.audioBitrate),
|
|
161
|
+
valueFlag(options.everyNthFrameOption.cliFlag, everyNthFrame, renderDefaults.everyNthFrame),
|
|
162
|
+
renderMediaValueFlag('numberOfGifLoops', numberOfGifLoops, renderDefaults.numberOfGifLoops),
|
|
163
|
+
renderMediaValueFlag('encodingBufferSize', encodingBufferSize, renderDefaults.encodingBufferSize),
|
|
164
|
+
renderMediaValueFlag('encodingMaxRate', encodingMaxRate, renderDefaults.encodingMaxRate),
|
|
165
|
+
renderMediaValueFlag('separateAudioTo', separateAudioTo, null),
|
|
166
|
+
]);
|
|
167
|
+
const defaultAudioCodec = (_a = client_1.BrowserSafeApis.defaultAudioCodecs[codec]) === null || _a === void 0 ? void 0 : _a.compressed;
|
|
168
|
+
if (audioCodec !== defaultAudioCodec) {
|
|
169
|
+
addFlagWithValue(flags, getRenderMediaFlag('audioCodec'), audioCodec);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
addTrueBooleanFlagsIfChanged(flags, [
|
|
173
|
+
renderMediaBooleanFlag('disallowParallelEncoding', disallowParallelEncoding, false),
|
|
174
|
+
renderMediaBooleanFlag('repro', repro, renderDefaults.repro),
|
|
175
|
+
]);
|
|
176
|
+
}
|
|
177
|
+
if (metadata) {
|
|
178
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
179
|
+
addFlagWithValue(flags, options.metadataOption.cliFlag, `${key}=${value}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (Object.keys(inputProps).length > 0) {
|
|
183
|
+
addFlagWithValue(flags, options.propsOption.cliFlag, JSON.stringify(inputProps));
|
|
184
|
+
}
|
|
185
|
+
const envArgs = Object.entries(envVariables)
|
|
186
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
187
|
+
.map(([key, value]) => shellQuote(`${key}=${value}`));
|
|
188
|
+
const renderCommand = [
|
|
189
|
+
command,
|
|
190
|
+
commandType,
|
|
191
|
+
shellQuote(serveUrl),
|
|
192
|
+
shellQuote(compositionId),
|
|
193
|
+
shellQuote(trimDefaultOutPrefix(outName)),
|
|
194
|
+
...flags,
|
|
195
|
+
].join(' ');
|
|
196
|
+
if (envArgs.length === 0) {
|
|
197
|
+
return renderCommand;
|
|
198
|
+
}
|
|
199
|
+
return ['env', ...envArgs, renderCommand].join(' ');
|
|
200
|
+
};
|
|
201
|
+
exports.makeReadOnlyStudioRenderCommand = makeReadOnlyStudioRenderCommand;
|
|
@@ -58,6 +58,7 @@ const makeRetryPayload = (job) => {
|
|
|
58
58
|
initialChromeMode: job.chromeMode,
|
|
59
59
|
initialMediaCacheSizeInBytes: job.mediaCacheSizeInBytes,
|
|
60
60
|
renderDefaults: defaults,
|
|
61
|
+
readOnlyStudio: false,
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
if (job.type === 'sequence') {
|
|
@@ -110,6 +111,7 @@ const makeRetryPayload = (job) => {
|
|
|
110
111
|
initialChromeMode: job.chromeMode,
|
|
111
112
|
initialMediaCacheSizeInBytes: job.mediaCacheSizeInBytes,
|
|
112
113
|
renderDefaults: defaults,
|
|
114
|
+
readOnlyStudio: false,
|
|
113
115
|
};
|
|
114
116
|
}
|
|
115
117
|
if (job.type === 'video') {
|
|
@@ -162,6 +164,7 @@ const makeRetryPayload = (job) => {
|
|
|
162
164
|
initialChromeMode: job.chromeMode,
|
|
163
165
|
initialMediaCacheSizeInBytes: job.mediaCacheSizeInBytes,
|
|
164
166
|
renderDefaults: defaults,
|
|
167
|
+
readOnlyStudio: false,
|
|
165
168
|
};
|
|
166
169
|
}
|
|
167
170
|
throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
|
package/dist/state/modals.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/studio",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.435",
|
|
7
7
|
"description": "APIs for interacting with the Remotion Studio",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"semver": "7.5.3",
|
|
29
|
-
"remotion": "4.0.
|
|
30
|
-
"@remotion/player": "4.0.
|
|
31
|
-
"@remotion/media-utils": "4.0.
|
|
32
|
-
"@remotion/renderer": "4.0.
|
|
33
|
-
"@remotion/web-renderer": "4.0.
|
|
34
|
-
"@remotion/studio-shared": "4.0.
|
|
35
|
-
"@remotion/zod-types": "4.0.
|
|
29
|
+
"remotion": "4.0.435",
|
|
30
|
+
"@remotion/player": "4.0.435",
|
|
31
|
+
"@remotion/media-utils": "4.0.435",
|
|
32
|
+
"@remotion/renderer": "4.0.435",
|
|
33
|
+
"@remotion/web-renderer": "4.0.435",
|
|
34
|
+
"@remotion/studio-shared": "4.0.435",
|
|
35
|
+
"@remotion/zod-types": "4.0.435",
|
|
36
36
|
"mediabunny": "1.37.0",
|
|
37
37
|
"memfs": "3.4.3",
|
|
38
38
|
"source-map": "0.7.3",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"react": "19.2.3",
|
|
44
44
|
"react-dom": "19.2.3",
|
|
45
45
|
"@types/semver": "^7.3.4",
|
|
46
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
46
|
+
"@remotion/eslint-config-internal": "4.0.435",
|
|
47
47
|
"eslint": "9.19.0",
|
|
48
48
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
49
49
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const shouldShowRenderButton: (readOnlyStudio: boolean) => boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shouldShowRenderButton = void 0;
|
|
4
|
-
const show_browser_rendering_1 = require("./show-browser-rendering");
|
|
5
|
-
const shouldShowRenderButton = (readOnlyStudio) => {
|
|
6
|
-
if (readOnlyStudio) {
|
|
7
|
-
return show_browser_rendering_1.SHOW_BROWSER_RENDERING;
|
|
8
|
-
}
|
|
9
|
-
return true;
|
|
10
|
-
};
|
|
11
|
-
exports.shouldShowRenderButton = shouldShowRenderButton;
|