@remotion/cli 4.0.56 → 4.0.58

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.
Files changed (79) hide show
  1. package/dist/benchmark.d.ts +2 -1
  2. package/dist/benchmark.js +11 -10
  3. package/dist/cleanup-before-quit.d.ts +9 -2
  4. package/dist/cleanup-before-quit.js +6 -6
  5. package/dist/cloudrun-command.d.ts +2 -1
  6. package/dist/cloudrun-command.js +4 -4
  7. package/dist/compositions.d.ts +2 -1
  8. package/dist/compositions.js +4 -5
  9. package/dist/config/image-format.d.ts +1 -1
  10. package/dist/config/index.d.ts +1 -1
  11. package/dist/config/log.d.ts +1 -1
  12. package/dist/editor/components/Modals.js +1 -1
  13. package/dist/editor/components/NewComposition/RemInput.d.ts +2 -2
  14. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +1 -1
  15. package/dist/editor/components/NewComposition/RemTextarea.d.ts +1 -1
  16. package/dist/editor/components/RenderButton.js +1 -1
  17. package/dist/editor/components/RenderModal/RenderModal.d.ts +2 -2
  18. package/dist/editor/components/RenderModal/RenderModal.js +9 -9
  19. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +3 -3
  20. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +3 -3
  21. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +1 -1
  22. package/dist/editor/components/RenderQueue/actions.d.ts +7 -7
  23. package/dist/editor/components/RenderQueue/actions.js +6 -6
  24. package/dist/editor/components/SidebarRenderButton.js +1 -1
  25. package/dist/editor/helpers/colors.d.ts +1 -1
  26. package/dist/editor/state/modals.d.ts +2 -2
  27. package/dist/entry-point.d.ts +2 -1
  28. package/dist/entry-point.js +6 -6
  29. package/dist/get-cli-options.d.ts +4 -3
  30. package/dist/get-cli-options.js +8 -9
  31. package/dist/get-composition-id.js +1 -1
  32. package/dist/get-env.d.ts +2 -1
  33. package/dist/get-env.js +11 -10
  34. package/dist/get-filename.js +1 -1
  35. package/dist/get-input-props.d.ts +2 -1
  36. package/dist/get-input-props.js +10 -6
  37. package/dist/gpu.d.ts +2 -1
  38. package/dist/gpu.js +3 -2
  39. package/dist/index.d.ts +16 -30
  40. package/dist/index.js +13 -28
  41. package/dist/initialize-cli.d.ts +2 -1
  42. package/dist/initialize-cli.js +7 -4
  43. package/dist/log.d.ts +4 -18
  44. package/dist/make-on-download.js +2 -2
  45. package/dist/parse-command-line.js +1 -1
  46. package/dist/preview-server/api-types.d.ts +2 -0
  47. package/dist/preview-server/dev-middleware/range-parser.d.ts +1 -1
  48. package/dist/preview-server/handler.d.ts +3 -1
  49. package/dist/preview-server/handler.js +2 -1
  50. package/dist/preview-server/render-queue/job.d.ts +5 -5
  51. package/dist/preview-server/render-queue/make-retry-payload.js +3 -3
  52. package/dist/preview-server/render-queue/process-still.js +2 -1
  53. package/dist/preview-server/render-queue/process-video.d.ts +3 -1
  54. package/dist/preview-server/render-queue/process-video.js +3 -2
  55. package/dist/preview-server/render-queue/queue.d.ts +3 -1
  56. package/dist/preview-server/render-queue/queue.js +7 -5
  57. package/dist/preview-server/routes/add-render.js +7 -4
  58. package/dist/preview-server/routes.d.ts +3 -2
  59. package/dist/preview-server/routes.js +2 -1
  60. package/dist/preview-server/start-server.d.ts +2 -0
  61. package/dist/preview-server/start-server.js +1 -0
  62. package/dist/render-flows/render.js +6 -6
  63. package/dist/render-flows/still.js +2 -2
  64. package/dist/render.d.ts +2 -1
  65. package/dist/render.js +3 -3
  66. package/dist/setup-cache.js +3 -3
  67. package/dist/still.d.ts +2 -1
  68. package/dist/still.js +4 -3
  69. package/dist/studio.d.ts +2 -1
  70. package/dist/studio.js +7 -6
  71. package/dist/versions.d.ts +3 -2
  72. package/dist/versions.js +18 -17
  73. package/package.json +10 -10
  74. package/dist/config/presets-profile.d.ts +0 -3
  75. package/dist/config/presets-profile.js +0 -12
  76. package/dist/editor/components/DownloadButton.d.ts +0 -0
  77. package/dist/editor/components/DownloadButton.js +0 -1
  78. package/dist/handle-common-errors.d.ts +0 -2
  79. package/dist/handle-common-errors.js +0 -60
@@ -1 +1,2 @@
1
- export declare const benchmarkCommand: (remotionRoot: string, args: string[]) => Promise<void>;
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const benchmarkCommand: (remotionRoot: string, args: string[], logLevel: LogLevel) => Promise<void>;
package/dist/benchmark.js CHANGED
@@ -83,24 +83,25 @@ const makeBenchmarkProgressBar = ({ totalRuns, run, progress, doneIn, }) => {
83
83
  : chalk_1.chalk.gray(doneIn),
84
84
  ].join(' ');
85
85
  };
86
- const benchmarkCommand = async (remotionRoot, args) => {
86
+ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
87
87
  var _a, _b, _c;
88
88
  const runs = (_a = parse_command_line_1.parsedCli.runs) !== null && _a !== void 0 ? _a : DEFAULT_RUNS;
89
- const { file, reason, remainingArgs } = (0, entry_point_1.findEntryPoint)(args, remotionRoot);
89
+ const { file, reason, remainingArgs } = (0, entry_point_1.findEntryPoint)(args, remotionRoot, logLevel);
90
90
  if (!file) {
91
91
  log_1.Log.error('No entry file passed.');
92
- log_1.Log.info('Pass an additional argument specifying the entry file');
93
- log_1.Log.info();
94
- log_1.Log.info(`$ remotion benchmark <entry file>`);
92
+ log_1.Log.infoAdvanced({ indent: false, logLevel }, 'Pass an additional argument specifying the entry file');
93
+ log_1.Log.infoAdvanced({ indent: false, logLevel });
94
+ log_1.Log.infoAdvanced({ indent: false, logLevel }, `$ remotion benchmark <entry file>`);
95
95
  process.exit(1);
96
96
  }
97
97
  const fullEntryPoint = (0, convert_entry_point_to_serve_url_1.convertEntryPointToServeUrl)(file);
98
- const { inputProps, envVariables, browserExecutable, chromiumOptions, port, puppeteerTimeout, browser, scale, publicDir, proResProfile, x264Preset, frameRange: defaultFrameRange, overwrite, jpegQuality, crf: configFileCrf, pixelFormat, scale: configFileScale, numberOfGifLoops, everyNthFrame, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, height, width, concurrency: unparsedConcurrency, logLevel, offthreadVideoCacheSizeInBytes, colorSpace, } = await (0, get_cli_options_1.getCliOptions)({
98
+ const { inputProps, envVariables, browserExecutable, chromiumOptions, port, puppeteerTimeout, browser, scale, publicDir, proResProfile, x264Preset, frameRange: defaultFrameRange, overwrite, jpegQuality, crf: configFileCrf, pixelFormat, scale: configFileScale, numberOfGifLoops, everyNthFrame, muted, enforceAudioTrack, ffmpegOverride, audioBitrate, videoBitrate, height, width, concurrency: unparsedConcurrency, offthreadVideoCacheSizeInBytes, colorSpace, } = await (0, get_cli_options_1.getCliOptions)({
99
99
  isLambda: false,
100
100
  type: 'series',
101
101
  remotionRoot,
102
+ logLevel,
102
103
  });
103
- log_1.Log.verbose('Entry point:', fullEntryPoint, 'reason:', reason);
104
+ log_1.Log.verbose({ indent: false, logLevel }, 'Entry point:', fullEntryPoint, 'reason:', reason);
104
105
  const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
105
106
  browser,
106
107
  browserExecutable,
@@ -183,8 +184,8 @@ const benchmarkCommand = async (remotionRoot, args) => {
183
184
  updatesDontOverwrite: (0, should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger)({ logLevel }),
184
185
  indent: false,
185
186
  });
186
- log_1.Log.info();
187
- log_1.Log.info(`${chalk_1.chalk.bold(`Benchmark #${count++}:`)} ${chalk_1.chalk.gray(`composition=${composition.id} concurrency=${con} codec=${codec} (${codecReason})`)}`);
187
+ log_1.Log.infoAdvanced({ indent: false, logLevel });
188
+ log_1.Log.infoAdvanced({ indent: false, logLevel }, `${chalk_1.chalk.bold(`Benchmark #${count++}:`)} ${chalk_1.chalk.gray(`composition=${composition.id} concurrency=${con} codec=${codec} (${codecReason})`)}`);
188
189
  const timeTaken = await runBenchmark(runs, {
189
190
  outputLocation: null,
190
191
  composition: {
@@ -252,6 +253,6 @@ const benchmarkCommand = async (remotionRoot, args) => {
252
253
  benchmark[composition.id][`${con}`] = timeTaken;
253
254
  }
254
255
  }
255
- log_1.Log.info();
256
+ log_1.Log.infoAdvanced({ indent: false, logLevel });
256
257
  };
257
258
  exports.benchmarkCommand = benchmarkCommand;
@@ -1,3 +1,10 @@
1
- export declare const cleanupBeforeQuit: () => void;
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const cleanupBeforeQuit: ({ indent, logLevel, }: {
3
+ indent: boolean;
4
+ logLevel: LogLevel;
5
+ }) => void;
2
6
  export declare const registerCleanupJob: (job: () => void) => void;
3
- export declare const handleCtrlC: () => void;
7
+ export declare const handleCtrlC: ({ indent, logLevel, }: {
8
+ indent: boolean;
9
+ logLevel: LogLevel;
10
+ }) => void;
@@ -3,23 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleCtrlC = exports.registerCleanupJob = exports.cleanupBeforeQuit = void 0;
4
4
  const log_1 = require("./log");
5
5
  const cleanupJobs = [];
6
- const cleanupBeforeQuit = () => {
7
- log_1.Log.verbose('Cleaning up...');
6
+ const cleanupBeforeQuit = ({ indent, logLevel, }) => {
7
+ log_1.Log.verbose({ indent, logLevel }, 'Cleaning up...');
8
8
  const time = Date.now();
9
9
  for (const job of cleanupJobs) {
10
10
  job();
11
11
  }
12
- log_1.Log.verbose(`Cleanup done in ${Date.now() - time}ms`);
12
+ log_1.Log.verbose({ indent, logLevel }, `Cleanup done in ${Date.now() - time}ms`);
13
13
  };
14
14
  exports.cleanupBeforeQuit = cleanupBeforeQuit;
15
15
  const registerCleanupJob = (job) => {
16
16
  cleanupJobs.push(job);
17
17
  };
18
18
  exports.registerCleanupJob = registerCleanupJob;
19
- const handleCtrlC = () => {
19
+ const handleCtrlC = ({ indent, logLevel, }) => {
20
20
  process.on('SIGINT', () => {
21
- log_1.Log.info();
22
- (0, exports.cleanupBeforeQuit)();
21
+ log_1.Log.infoAdvanced({ indent: false, logLevel });
22
+ (0, exports.cleanupBeforeQuit)({ indent, logLevel });
23
23
  process.exit(0);
24
24
  });
25
25
  };
@@ -1 +1,2 @@
1
- export declare const cloudrunCommand: (remotionRoot: string, args: string[]) => Promise<never>;
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const cloudrunCommand: (remotionRoot: string, args: string[], logLevel: LogLevel) => Promise<never>;
@@ -4,7 +4,7 @@ exports.cloudrunCommand = void 0;
4
4
  const log_1 = require("./log");
5
5
  const get_package_manager_1 = require("./preview-server/get-package-manager");
6
6
  const update_available_1 = require("./preview-server/update-available");
7
- const cloudrunCommand = async (remotionRoot, args) => {
7
+ const cloudrunCommand = async (remotionRoot, args, logLevel) => {
8
8
  try {
9
9
  const path = require.resolve('@remotion/cloudrun', {
10
10
  paths: [remotionRoot],
@@ -18,9 +18,9 @@ const cloudrunCommand = async (remotionRoot, args) => {
18
18
  const installCommand = manager === 'unknown' ? 'npm i' : manager.installCommand;
19
19
  log_1.Log.error(err);
20
20
  log_1.Log.error('Remotion Cloud Run is not installed.');
21
- log_1.Log.info('');
22
- log_1.Log.info('You can install it using:');
23
- log_1.Log.info(`${installCommand} @remotion/cloudrun@${(0, update_available_1.getRemotionVersion)()}`);
21
+ log_1.Log.infoAdvanced({ indent: false, logLevel }, '');
22
+ log_1.Log.infoAdvanced({ indent: false, logLevel }, 'You can install it using:');
23
+ log_1.Log.infoAdvanced({ indent: false, logLevel }, `${installCommand} @remotion/cloudrun@${(0, update_available_1.getRemotionVersion)()}`);
24
24
  process.exit(1);
25
25
  }
26
26
  };
@@ -1 +1,2 @@
1
- export declare const listCompositionsCommand: (remotionRoot: string, args: string[]) => Promise<void>;
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const listCompositionsCommand: (remotionRoot: string, args: string[], logLevel: LogLevel) => Promise<void>;
@@ -4,26 +4,25 @@ exports.listCompositionsCommand = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const remotion_1 = require("remotion");
6
6
  const cleanup_before_quit_1 = require("./cleanup-before-quit");
7
- const config_1 = require("./config");
8
7
  const entry_point_1 = require("./entry-point");
9
8
  const get_cli_options_1 = require("./get-cli-options");
10
9
  const log_1 = require("./log");
11
10
  const print_compositions_1 = require("./print-compositions");
12
11
  const setup_cache_1 = require("./setup-cache");
13
- const listCompositionsCommand = async (remotionRoot, args) => {
14
- const { file, reason } = (0, entry_point_1.findEntryPoint)(args, remotionRoot);
12
+ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
13
+ const { file, reason } = (0, entry_point_1.findEntryPoint)(args, remotionRoot, logLevel);
15
14
  if (!file) {
16
15
  log_1.Log.error('The `compositions` command requires you to specify a entry point. For example');
17
16
  log_1.Log.error(' npx remotion compositions src/index.ts');
18
17
  log_1.Log.error('See https://www.remotion.dev/docs/register-root for more information.');
19
18
  process.exit(1);
20
19
  }
21
- const logLevel = config_1.ConfigInternals.Logging.getLogLevel();
22
- log_1.Log.verbose('Entry point:', file, 'reason:', reason);
20
+ log_1.Log.verbose({ indent: false, logLevel }, 'Entry point:', file, 'reason:', reason);
23
21
  const { browserExecutable, chromiumOptions, envVariables, inputProps, puppeteerTimeout, port, publicDir, offthreadVideoCacheSizeInBytes, } = await (0, get_cli_options_1.getCliOptions)({
24
22
  isLambda: false,
25
23
  type: 'get-compositions',
26
24
  remotionRoot,
25
+ logLevel,
27
26
  });
28
27
  const { urlOrBundle: bundled, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
29
28
  remotionRoot,
@@ -2,4 +2,4 @@ import type { StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
2
  export declare const setStillImageFormat: (format: StillImageFormat) => void;
3
3
  export declare const setVideoImageFormat: (format: VideoImageFormat) => void;
4
4
  export declare const getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
5
- export declare const getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
5
+ export declare const getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
@@ -316,7 +316,7 @@ export declare const ConfigInternals: {
316
316
  getShouldOutputImageSequence: (frameRange: FrameRange | null) => boolean;
317
317
  getDotEnvLocation: () => string | null;
318
318
  getUserPreferredStillImageFormat: () => "png" | "jpeg" | "pdf" | "webp" | undefined;
319
- getUserPreferredVideoImageFormat: () => "png" | "jpeg" | "none" | undefined;
319
+ getUserPreferredVideoImageFormat: () => "none" | "png" | "jpeg" | undefined;
320
320
  getWebpackOverrideFn: () => WebpackOverrideFn;
321
321
  getWebpackCaching: () => boolean;
322
322
  getOutputLocation: () => string | null;
@@ -1 +1 @@
1
- export declare const getLogLevel: () => "verbose" | "info" | "warn" | "error", setLogLevel: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
1
+ export declare const getLogLevel: () => "error" | "verbose" | "info" | "warn", setLogLevel: (newLogLevel: "error" | "verbose" | "info" | "warn") => void;
@@ -16,7 +16,7 @@ const UpdateModal_1 = require("./UpdateModal/UpdateModal");
16
16
  const Modals = () => {
17
17
  const { selectedModal: modalContextType } = (0, react_1.useContext)(modals_1.ModalsContext);
18
18
  const canRender = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx).type === 'connected';
19
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'new-comp' && ((0, jsx_runtime_1.jsx)(NewComposition_1.default, { initialCompType: modalContextType.compType })), modalContextType && canRender && modalContextType.type === 'render' && ((0, jsx_runtime_1.jsx)(RenderModal_1.RenderModalWithLoader, { initialFrame: modalContextType.initialFrame, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialVerbose: modalContextType.initialVerbose, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, initialPixelFormat: modalContextType.initialPixelFormat, initialAudioBitrate: modalContextType.initialAudioBitrate, initialVideoBitrate: modalContextType.initialVideoBitrate, initialEveryNthFrame: modalContextType.initialEveryNthFrame, initialNumberOfGifLoops: modalContextType.initialNumberOfGifLoops, initialDelayRenderTimeout: modalContextType.initialDelayRenderTimeout, initialEnvVariables: modalContextType.initialEnvVariables, initialDisableWebSecurity: modalContextType.initialDisableWebSecurity, initialGl: modalContextType.initialOpenGlRenderer, initialHeadless: modalContextType.initialHeadless, initialIgnoreCertificateErrors: modalContextType.initialIgnoreCertificateErrors, defaultProps: modalContextType.defaultProps, inFrameMark: modalContextType.inFrameMark, outFrameMark: modalContextType.outFrameMark, initialColorSpace: modalContextType.initialColorSpace, initialMultiProcessOnLinux: modalContextType.initialMultiProcessOnLinux, defaultConfigurationAudioCodec: modalContextType.defaultConfigurationAudioCodec, defaultConfigurationVideoCodec: modalContextType.defaultConfigurationVideoCodec })), modalContextType &&
19
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'new-comp' && ((0, jsx_runtime_1.jsx)(NewComposition_1.default, { initialCompType: modalContextType.compType })), modalContextType && canRender && modalContextType.type === 'render' && ((0, jsx_runtime_1.jsx)(RenderModal_1.RenderModalWithLoader, { initialFrame: modalContextType.initialFrame, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialLogLevel: modalContextType.initialLogLevel, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, initialPixelFormat: modalContextType.initialPixelFormat, initialAudioBitrate: modalContextType.initialAudioBitrate, initialVideoBitrate: modalContextType.initialVideoBitrate, initialEveryNthFrame: modalContextType.initialEveryNthFrame, initialNumberOfGifLoops: modalContextType.initialNumberOfGifLoops, initialDelayRenderTimeout: modalContextType.initialDelayRenderTimeout, initialEnvVariables: modalContextType.initialEnvVariables, initialDisableWebSecurity: modalContextType.initialDisableWebSecurity, initialGl: modalContextType.initialOpenGlRenderer, initialHeadless: modalContextType.initialHeadless, initialIgnoreCertificateErrors: modalContextType.initialIgnoreCertificateErrors, defaultProps: modalContextType.defaultProps, inFrameMark: modalContextType.inFrameMark, outFrameMark: modalContextType.outFrameMark, initialColorSpace: modalContextType.initialColorSpace, initialMultiProcessOnLinux: modalContextType.initialMultiProcessOnLinux, defaultConfigurationAudioCodec: modalContextType.defaultConfigurationAudioCodec, defaultConfigurationVideoCodec: modalContextType.defaultConfigurationVideoCodec })), modalContextType &&
20
20
  canRender &&
21
21
  modalContextType.type === 'render-progress' && ((0, jsx_runtime_1.jsx)(RenderStatusModal_1.RenderStatusModal, { jobId: modalContextType.jobId })), modalContextType && modalContextType.type === 'update' && ((0, jsx_runtime_1.jsx)(UpdateModal_1.UpdateModal, { info: modalContextType.info, knownBugs: modalContextType.knownBugs })), modalContextType && modalContextType.type === 'quick-switcher' && ((0, jsx_runtime_1.jsx)(QuickSwitcher_1.default, { invocationTimestamp: modalContextType.invocationTimestamp, initialMode: modalContextType.mode }))] }));
22
22
  };
@@ -12,6 +12,6 @@ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
12
12
  status: 'error' | 'warning' | 'ok';
13
13
  isFocused: boolean;
14
14
  isHovered: boolean;
15
- }) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232" | "#f1c40f";
16
- export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "status" | "key" | "rightAlign" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
15
+ }) => "hsla(0, 0%, 100%, 0.15)" | "#ff3232" | "#f1c40f" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)";
16
+ export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLInputElement> | "rightAlign"> & React.RefAttributes<HTMLInputElement>>;
17
17
  export {};
@@ -4,5 +4,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>
4
4
  status: RemInputStatus;
5
5
  name: string;
6
6
  };
7
- export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "status" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
7
+ export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLInputElement>> & React.RefAttributes<HTMLInputElement>>;
8
8
  export {};
@@ -3,5 +3,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLTextAreaEleme
3
3
  status: 'error' | 'warning' | 'ok';
4
4
  };
5
5
  export declare const inputBaseStyle: React.CSSProperties;
6
- export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "status" | "key" | keyof React.InputHTMLAttributes<HTMLTextAreaElement>> & React.RefAttributes<HTMLTextAreaElement>>;
6
+ export declare const RemTextarea: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | keyof React.InputHTMLAttributes<HTMLTextAreaElement>> & React.RefAttributes<HTMLTextAreaElement>>;
7
7
  export {};
@@ -57,7 +57,7 @@ const RenderButton = () => {
57
57
  initialVideoImageFormat: defaults.videoImageFormat,
58
58
  initialJpegQuality: defaults.jpegQuality,
59
59
  initialScale: (_b = (_a = window.remotion_renderDefaults) === null || _a === void 0 ? void 0 : _a.scale) !== null && _b !== void 0 ? _b : 1,
60
- initialVerbose: defaults.logLevel === 'verbose',
60
+ initialLogLevel: defaults.logLevel,
61
61
  initialConcurrency: defaults.concurrency,
62
62
  maxConcurrency: defaults.maxConcurrency,
63
63
  minConcurrency: defaults.minConcurrency,
@@ -1,4 +1,4 @@
1
- import type { AudioCodec, Codec, ColorSpace, OpenGlRenderer, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
1
+ import type { AudioCodec, Codec, ColorSpace, LogLevel, OpenGlRenderer, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
2
  import React from 'react';
3
3
  type RenderModalProps = {
4
4
  compositionId: string;
@@ -7,7 +7,7 @@ type RenderModalProps = {
7
7
  initialStillImageFormat: StillImageFormat;
8
8
  initialJpegQuality: number;
9
9
  initialScale: number;
10
- initialVerbose: boolean;
10
+ initialLogLevel: LogLevel;
11
11
  initialConcurrency: number;
12
12
  minConcurrency: number;
13
13
  maxConcurrency: number;
@@ -116,7 +116,7 @@ const outer = {
116
116
  display: 'flex',
117
117
  flexDirection: 'column',
118
118
  };
119
- const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageFormat, initialJpegQuality, initialScale, initialVerbose, initialConcurrency, maxConcurrency, minConcurrency, initialMuted, initialEnforceAudioTrack, initialProResProfile, initialx264Preset, initialPixelFormat, initialVideoBitrate, initialAudioBitrate, initialEveryNthFrame, initialNumberOfGifLoops, initialDelayRenderTimeout, initialOffthreadVideoCacheSizeInBytes, initialEnvVariables, initialDisableWebSecurity, initialGl, initialHeadless, initialIgnoreCertificateErrors, defaultProps, inFrameMark, outFrameMark, onClose, resolvedComposition, unresolvedComposition, initialColorSpace, initialMultiProcessOnLinux, defaultConfigurationAudioCodec, defaultConfigurationVideoCodec, }) => {
119
+ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageFormat, initialJpegQuality, initialScale, initialLogLevel, initialConcurrency, maxConcurrency, minConcurrency, initialMuted, initialEnforceAudioTrack, initialProResProfile, initialx264Preset, initialPixelFormat, initialVideoBitrate, initialAudioBitrate, initialEveryNthFrame, initialNumberOfGifLoops, initialDelayRenderTimeout, initialOffthreadVideoCacheSizeInBytes, initialEnvVariables, initialDisableWebSecurity, initialGl, initialHeadless, initialIgnoreCertificateErrors, defaultProps, inFrameMark, outFrameMark, onClose, resolvedComposition, unresolvedComposition, initialColorSpace, initialMultiProcessOnLinux, defaultConfigurationAudioCodec, defaultConfigurationVideoCodec, }) => {
120
120
  const isMounted = (0, react_1.useRef)(true);
121
121
  const [isVideo] = (0, react_1.useState)(() => {
122
122
  return typeof resolvedComposition.durationInFrames === 'undefined'
@@ -156,7 +156,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
156
156
  const [renderMode, setRenderModeState] = (0, react_1.useState)(initialRenderType);
157
157
  const [jpegQuality, setJpegQuality] = (0, react_1.useState)(() => initialJpegQuality);
158
158
  const [scale, setScale] = (0, react_1.useState)(() => initialScale);
159
- const [verbose, setVerboseLogging] = (0, react_1.useState)(() => initialVerbose);
159
+ const [logLevel, setLogLevel] = (0, react_1.useState)(() => initialLogLevel);
160
160
  const [disallowParallelEncoding, setDisallowParallelEncoding] = (0, react_1.useState)(false);
161
161
  const [disableWebSecurity, setDisableWebSecurity] = (0, react_1.useState)(() => initialDisableWebSecurity);
162
162
  const [headless, setHeadless] = (0, react_1.useState)(() => initialHeadless);
@@ -372,7 +372,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
372
372
  jpegQuality,
373
373
  frame,
374
374
  scale,
375
- verbose,
375
+ logLevel,
376
376
  chromiumOptions,
377
377
  delayRenderTimeout,
378
378
  envVariables: (0, convert_env_variables_1.envVariablesArrayToObject)(envVariables),
@@ -396,7 +396,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
396
396
  jpegQuality,
397
397
  frame,
398
398
  scale,
399
- verbose,
399
+ logLevel,
400
400
  chromiumOptions,
401
401
  delayRenderTimeout,
402
402
  envVariables,
@@ -425,7 +425,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
425
425
  imageFormat: videoImageFormat,
426
426
  jpegQuality: stillImageFormat === 'jpeg' ? jpegQuality : null,
427
427
  scale,
428
- verbose,
428
+ logLevel,
429
429
  codec,
430
430
  concurrency,
431
431
  crf: qualityControlType === 'crf' ? crf : null,
@@ -466,7 +466,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
466
466
  stillImageFormat,
467
467
  jpegQuality,
468
468
  scale,
469
- verbose,
469
+ logLevel,
470
470
  codec,
471
471
  concurrency,
472
472
  qualityControlType,
@@ -504,7 +504,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
504
504
  outName,
505
505
  imageFormat: sequenceImageFormat,
506
506
  scale,
507
- verbose,
507
+ logLevel,
508
508
  concurrency,
509
509
  endFrame,
510
510
  jpegQuality,
@@ -531,7 +531,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
531
531
  outName,
532
532
  sequenceImageFormat,
533
533
  scale,
534
- verbose,
534
+ logLevel,
535
535
  concurrency,
536
536
  endFrame,
537
537
  jpegQuality,
@@ -736,7 +736,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
736
736
  return ((0, jsx_runtime_1.jsxs)("div", { style: outer, children: [(0, jsx_runtime_1.jsx)(ModalHeader_1.NewCompHeader, { title: `Render ${resolvedComposition.id}` }), (0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(SegmentedControl_1.SegmentedControl, { items: renderTabOptions, needsWrapping: false }), (0, jsx_runtime_1.jsx)("div", { style: flexer }), (0, jsx_runtime_1.jsxs)(Button_1.Button, { autoFocus: true, onClick: trigger, disabled: renderDisabled, style: {
737
737
  ...buttonStyle,
738
738
  backgroundColor: outnameValidation.valid ? colors_1.BLUE : colors_1.BLUE_DISABLED,
739
- }, children: [state.type === 'idle' ? `Render ${renderMode}` : 'Rendering...', (0, jsx_runtime_1.jsx)(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: horizontalLayout, children: [(0, jsx_runtime_1.jsxs)("div", { style: leftSidebar, children: [shownTabs.includes('general') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: icon }) }), "General"] })) : null, shownTabs.includes('data') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(data_1.DataIcon, { style: icon }) }), "Input Props"] })) : null, shownTabs.includes('picture') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(frame_1.PicIcon, { style: icon }) }), "Picture"] })) : null, shownTabs.includes('audio') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(audio_1.AudioIcon, { style: icon }) }), "Audio"] })) : null, shownTabs.includes('gif') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'gif', onClick: () => setTab('gif'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gif_1.GifIcon, { style: icon }) }), "GIF"] })) : null, shownTabs.includes('advanced') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gear_1.GearIcon, { style: icon }) }), "Other"] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? ((0, jsx_runtime_1.jsx)(RenderModalBasic_1.RenderModalBasic, { codec: codec, resolvedComposition: resolvedComposition, frame: frame, imageFormatOptions: imageFormatOptions, outName: outName, proResProfile: proResProfile, renderMode: renderMode, setVideoCodec: setCodec, setFrame: setFrame, setOutName: setOutName, setProResProfile: setProResProfile, endFrame: endFrame, setEndFrame: setEndFrame, setStartFrame: setStartFrame, startFrame: startFrame, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message })) : tab === 'picture' ? ((0, jsx_runtime_1.jsx)(RenderModalPicture_1.RenderModalPicture, { renderMode: renderMode, scale: scale, setScale: setScale, pixelFormat: pixelFormat, setPixelFormat: setPixelFormat, imageFormatOptions: imageFormatOptions, crf: crf, setCrf: setCrf, customTargetVideoBitrate: customTargetVideoBitrate, maxCrf: maxCrf, minCrf: minCrf, jpegQuality: jpegQuality, qualityControlType: qualityControlType, setJpegQuality: setJpegQuality, setColorSpace: setColorSpace, colorSpace: colorSpace, setCustomTargetVideoBitrateValue: setCustomTargetVideoBitrateValue, setQualityControl: setQualityControl, videoImageFormat: videoImageFormat, stillImageFormat: stillImageFormat, shouldDisplayQualityControlPicker: supportsBothQualityControls })) : tab === 'audio' ? ((0, jsx_runtime_1.jsx)(RenderModalAudio_1.RenderModalAudio, { muted: muted, renderMode: renderMode, setMuted: setMuted, codec: codec, audioCodec: audioCodec, setAudioCodec: setAudioCodec, enforceAudioTrack: enforceAudioTrack, setEnforceAudioTrackState: setEnforceAudioTrackState, customTargetAudioBitrate: customTargetAudioBitrate, setCustomTargetAudioBitrateValue: setCustomTargetAudioBitrateValue, setShouldHaveCustomTargetAudioBitrate: setShouldHaveCustomTargetAudioBitrate, shouldHaveCustomTargetAudioBitrate: shouldHaveCustomTargetAudioBitrate })) : tab === 'gif' ? ((0, jsx_runtime_1.jsx)(RenderModalGif_1.RenderModalGif, { everyNthFrame: everyNthFrame, limitNumberOfGifLoops: limitNumberOfGifLoops, numberOfGifLoopsSetting: numberOfGifLoopsSetting, setEveryNthFrameSetting: setEveryNthFrameSetting, setLimitNumberOfGifLoops: setLimitNumberOfGifLoops, setNumberOfGifLoopsSetting: setNumberOfGifLoopsSetting })) : tab === 'data' ? ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { inputProps: inputProps, setInputProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving })) : ((0, jsx_runtime_1.jsx)(RenderModalAdvanced_1.RenderModalAdvanced, { x264Preset: x264Preset, setx264Preset: setx264Preset, concurrency: concurrency, maxConcurrency: maxConcurrency, minConcurrency: minConcurrency, renderMode: renderMode, setConcurrency: setConcurrency, setVerboseLogging: setVerboseLogging, verbose: verbose, delayRenderTimeout: delayRenderTimeout, setDelayRenderTimeout: setDelayRenderTimeout, disallowParallelEncoding: disallowParallelEncoding, setDisallowParallelEncoding: setDisallowParallelEncoding, setDisableWebSecurity: setDisableWebSecurity, setIgnoreCertificateErrors: setIgnoreCertificateErrors, setHeadless: setHeadless, headless: headless, ignoreCertificateErrors: ignoreCertificateErrors, disableWebSecurity: disableWebSecurity, openGlOption: openGlOption, setOpenGlOption: setOpenGlOption, setEnvVariables: setEnvVariables, envVariables: envVariables, offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes: setOffthreadVideoCacheSizeInBytes, enableMultiProcessOnLinux: multiProcessOnLinux, setChromiumMultiProcessOnLinux: setChromiumMultiProcessOnLinux, codec: codec })) })] })] }));
739
+ }, children: [state.type === 'idle' ? `Render ${renderMode}` : 'Rendering...', (0, jsx_runtime_1.jsx)(ShortcutHint_1.ShortcutHint, { keyToPress: "\u21B5", cmdOrCtrl: true })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: horizontalLayout, children: [(0, jsx_runtime_1.jsxs)("div", { style: leftSidebar, children: [shownTabs.includes('general') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'general', onClick: () => setTab('general'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(file_1.FileIcon, { style: icon }) }), "General"] })) : null, shownTabs.includes('data') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'data', onClick: () => setTab('data'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(data_1.DataIcon, { style: icon }) }), "Input Props"] })) : null, shownTabs.includes('picture') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'picture', onClick: () => setTab('picture'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(frame_1.PicIcon, { style: icon }) }), "Picture"] })) : null, shownTabs.includes('audio') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'audio', onClick: () => setTab('audio'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(audio_1.AudioIcon, { style: icon }) }), "Audio"] })) : null, shownTabs.includes('gif') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'gif', onClick: () => setTab('gif'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gif_1.GifIcon, { style: icon }) }), "GIF"] })) : null, shownTabs.includes('advanced') ? ((0, jsx_runtime_1.jsxs)(vertical_1.VerticalTab, { style: horizontalTab, selected: tab === 'advanced', onClick: () => setTab('advanced'), children: [(0, jsx_runtime_1.jsx)("div", { style: iconContainer, children: (0, jsx_runtime_1.jsx)(gear_1.GearIcon, { style: icon }) }), "Other"] })) : null] }), (0, jsx_runtime_1.jsx)("div", { style: optionsPanel, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: tab === 'general' ? ((0, jsx_runtime_1.jsx)(RenderModalBasic_1.RenderModalBasic, { codec: codec, resolvedComposition: resolvedComposition, frame: frame, imageFormatOptions: imageFormatOptions, outName: outName, proResProfile: proResProfile, renderMode: renderMode, setVideoCodec: setCodec, setFrame: setFrame, setOutName: setOutName, setProResProfile: setProResProfile, endFrame: endFrame, setEndFrame: setEndFrame, setStartFrame: setStartFrame, startFrame: startFrame, validationMessage: outnameValidation.valid ? null : outnameValidation.error.message })) : tab === 'picture' ? ((0, jsx_runtime_1.jsx)(RenderModalPicture_1.RenderModalPicture, { renderMode: renderMode, scale: scale, setScale: setScale, pixelFormat: pixelFormat, setPixelFormat: setPixelFormat, imageFormatOptions: imageFormatOptions, crf: crf, setCrf: setCrf, customTargetVideoBitrate: customTargetVideoBitrate, maxCrf: maxCrf, minCrf: minCrf, jpegQuality: jpegQuality, qualityControlType: qualityControlType, setJpegQuality: setJpegQuality, setColorSpace: setColorSpace, colorSpace: colorSpace, setCustomTargetVideoBitrateValue: setCustomTargetVideoBitrateValue, setQualityControl: setQualityControl, videoImageFormat: videoImageFormat, stillImageFormat: stillImageFormat, shouldDisplayQualityControlPicker: supportsBothQualityControls })) : tab === 'audio' ? ((0, jsx_runtime_1.jsx)(RenderModalAudio_1.RenderModalAudio, { muted: muted, renderMode: renderMode, setMuted: setMuted, codec: codec, audioCodec: audioCodec, setAudioCodec: setAudioCodec, enforceAudioTrack: enforceAudioTrack, setEnforceAudioTrackState: setEnforceAudioTrackState, customTargetAudioBitrate: customTargetAudioBitrate, setCustomTargetAudioBitrateValue: setCustomTargetAudioBitrateValue, setShouldHaveCustomTargetAudioBitrate: setShouldHaveCustomTargetAudioBitrate, shouldHaveCustomTargetAudioBitrate: shouldHaveCustomTargetAudioBitrate })) : tab === 'gif' ? ((0, jsx_runtime_1.jsx)(RenderModalGif_1.RenderModalGif, { everyNthFrame: everyNthFrame, limitNumberOfGifLoops: limitNumberOfGifLoops, numberOfGifLoopsSetting: numberOfGifLoopsSetting, setEveryNthFrameSetting: setEveryNthFrameSetting, setLimitNumberOfGifLoops: setLimitNumberOfGifLoops, setNumberOfGifLoopsSetting: setNumberOfGifLoopsSetting })) : tab === 'data' ? ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { inputProps: inputProps, setInputProps: setInputProps, unresolvedComposition: unresolvedComposition, mayShowSaveButton: false, propsEditType: "input-props", saving: saving, setSaving: setSaving })) : ((0, jsx_runtime_1.jsx)(RenderModalAdvanced_1.RenderModalAdvanced, { x264Preset: x264Preset, setx264Preset: setx264Preset, concurrency: concurrency, maxConcurrency: maxConcurrency, minConcurrency: minConcurrency, renderMode: renderMode, setConcurrency: setConcurrency, setVerboseLogging: setLogLevel, logLevel: logLevel, delayRenderTimeout: delayRenderTimeout, setDelayRenderTimeout: setDelayRenderTimeout, disallowParallelEncoding: disallowParallelEncoding, setDisallowParallelEncoding: setDisallowParallelEncoding, setDisableWebSecurity: setDisableWebSecurity, setIgnoreCertificateErrors: setIgnoreCertificateErrors, setHeadless: setHeadless, headless: headless, ignoreCertificateErrors: ignoreCertificateErrors, disableWebSecurity: disableWebSecurity, openGlOption: openGlOption, setOpenGlOption: setOpenGlOption, setEnvVariables: setEnvVariables, envVariables: envVariables, offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes: setOffthreadVideoCacheSizeInBytes, enableMultiProcessOnLinux: multiProcessOnLinux, setChromiumMultiProcessOnLinux: setChromiumMultiProcessOnLinux, codec: codec })) })] })] }));
740
740
  };
741
741
  const RenderModalWithLoader = (props) => {
742
742
  const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
@@ -1,4 +1,4 @@
1
- import type { Codec, X264Preset } from '@remotion/renderer';
1
+ import type { Codec, LogLevel, X264Preset } from '@remotion/renderer';
2
2
  import React from 'react';
3
3
  import type { UiOpenGlOptions } from '../../../required-chromium-options';
4
4
  export type RenderType = 'still' | 'video' | 'audio' | 'sequence';
@@ -8,8 +8,8 @@ export declare const RenderModalAdvanced: React.FC<{
8
8
  maxConcurrency: number;
9
9
  setConcurrency: React.Dispatch<React.SetStateAction<number>>;
10
10
  concurrency: number;
11
- setVerboseLogging: React.Dispatch<React.SetStateAction<boolean>>;
12
- verbose: boolean;
11
+ setVerboseLogging: React.Dispatch<React.SetStateAction<LogLevel>>;
12
+ logLevel: LogLevel;
13
13
  delayRenderTimeout: number;
14
14
  setDelayRenderTimeout: React.Dispatch<React.SetStateAction<number>>;
15
15
  disallowParallelEncoding: boolean;
@@ -17,7 +17,7 @@ const container = {
17
17
  flex: 1,
18
18
  overflowY: 'auto',
19
19
  };
20
- const RenderModalAdvanced = ({ renderMode, maxConcurrency, minConcurrency, setConcurrency, concurrency, setVerboseLogging, verbose, delayRenderTimeout, setDelayRenderTimeout, disallowParallelEncoding, setDisallowParallelEncoding, setDisableWebSecurity, setIgnoreCertificateErrors, setHeadless, headless, ignoreCertificateErrors, disableWebSecurity, openGlOption, setOpenGlOption, setEnvVariables, envVariables, setx264Preset, x264Preset, codec, offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes, enableMultiProcessOnLinux, setChromiumMultiProcessOnLinux, }) => {
20
+ const RenderModalAdvanced = ({ renderMode, maxConcurrency, minConcurrency, setConcurrency, concurrency, setVerboseLogging, logLevel, delayRenderTimeout, setDelayRenderTimeout, disallowParallelEncoding, setDisallowParallelEncoding, setDisableWebSecurity, setIgnoreCertificateErrors, setHeadless, headless, ignoreCertificateErrors, disableWebSecurity, openGlOption, setOpenGlOption, setEnvVariables, envVariables, setx264Preset, x264Preset, codec, offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes, enableMultiProcessOnLinux, setChromiumMultiProcessOnLinux, }) => {
21
21
  const extendedOpenGlOptions = (0, react_1.useMemo)(() => {
22
22
  return [
23
23
  'angle',
@@ -30,7 +30,7 @@ const RenderModalAdvanced = ({ renderMode, maxConcurrency, minConcurrency, setCo
30
30
  ];
31
31
  }, []);
32
32
  const onVerboseLoggingChanged = (0, react_1.useCallback)((e) => {
33
- setVerboseLogging(e.target.checked);
33
+ setVerboseLogging(e.target.checked ? 'verbose' : 'info');
34
34
  }, [setVerboseLogging]);
35
35
  const toggleCustomOffthreadVideoCacheSizeInBytes = (0, react_1.useCallback)(() => {
36
36
  setOffthreadVideoCacheSizeInBytes((previous) => {
@@ -104,6 +104,6 @@ const RenderModalAdvanced = ({ renderMode, maxConcurrency, minConcurrency, setCo
104
104
  , {
105
105
  // Also appears in packages/renderer/src/validate-puppeteer-timeout.ts
106
106
  min: 7000, max: 900000, name: "delayRender() timeout", onValueChanged: setDelayRenderTimeout, formatter: (w) => `${w}ms`, step: 1000, value: delayRenderTimeout }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "No parallel encoding" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: disallowParallelEncoding, onChange: onDisallowParallelEncodingChanged, name: "disallow-parallel-encoding" }) })] }), renderMode === 'audio' ? null : ((0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Custom OffthreadVideo cache" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: offthreadVideoCacheSizeInBytes !== null, onChange: toggleCustomOffthreadVideoCacheSizeInBytes, name: "custom-audio-bitrate" }) })] })), renderMode === 'audio' ||
107
- offthreadVideoCacheSizeInBytes === null ? null : ((0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { min: minConcurrency, max: 2000 * 1024 * 1024, step: 1024, name: "OffthreadVideo cache size", formatter: (w) => `${w} bytes`, onValueChanged: changeOffthreadVideoCacheSizeInBytes, value: offthreadVideoCacheSizeInBytes })), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Verbose logging" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: verbose, onChange: onVerboseLoggingChanged, name: "verbose-logging" }) })] }), (0, jsx_runtime_1.jsx)(RenderModalHr_1.RenderModalHr, {}), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Disable web security" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: disableWebSecurity, onChange: onDisableWebSecurityChanged, name: "disable-web-security" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Ignore certificate errors " }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: ignoreCertificateErrors, onChange: onIgnoreCertificatErrors, name: "ignore-certificate-errors" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Headless mode" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: headless, onChange: onHeadless, name: "headless" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "OpenGL render backend" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: openGlOptions, selectedId: openGlOption, title: "OpenGl option" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Multi-process Chrome on Linux" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: enableMultiProcessOnLinux, onChange: onEnableMultiProcessOnLinux, name: "enable-multi-process-on-linux" }) })] }), (0, jsx_runtime_1.jsx)(RenderModalHr_1.RenderModalHr, {}), (0, jsx_runtime_1.jsx)(RenderModalEnvironmentVariables_1.RenderModalEnvironmentVariables, { envVariables: envVariables, setEnvVariables: setEnvVariables })] }));
107
+ offthreadVideoCacheSizeInBytes === null ? null : ((0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { min: minConcurrency, max: 2000 * 1024 * 1024, step: 1024, name: "OffthreadVideo cache size", formatter: (w) => `${w} bytes`, onValueChanged: changeOffthreadVideoCacheSizeInBytes, value: offthreadVideoCacheSizeInBytes })), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Verbose logging" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: logLevel === 'verbose', onChange: onVerboseLoggingChanged, name: "verbose-logging" }) })] }), (0, jsx_runtime_1.jsx)(RenderModalHr_1.RenderModalHr, {}), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Disable web security" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: disableWebSecurity, onChange: onDisableWebSecurityChanged, name: "disable-web-security" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Ignore certificate errors " }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: ignoreCertificateErrors, onChange: onIgnoreCertificatErrors, name: "ignore-certificate-errors" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Headless mode" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: headless, onChange: onHeadless, name: "headless" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "OpenGL render backend" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(ComboBox_1.Combobox, { values: openGlOptions, selectedId: openGlOption, title: "OpenGl option" }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: layout_1.optionRow, children: [(0, jsx_runtime_1.jsx)("div", { style: layout_1.label, children: "Multi-process Chrome on Linux" }), (0, jsx_runtime_1.jsx)("div", { style: layout_1.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: enableMultiProcessOnLinux, onChange: onEnableMultiProcessOnLinux, name: "enable-multi-process-on-linux" }) })] }), (0, jsx_runtime_1.jsx)(RenderModalHr_1.RenderModalHr, {}), (0, jsx_runtime_1.jsx)(RenderModalEnvironmentVariables_1.RenderModalEnvironmentVariables, { envVariables: envVariables, setEnvVariables: setEnvVariables })] }));
108
108
  };
109
109
  exports.RenderModalAdvanced = RenderModalAdvanced;
@@ -1,2 +1,2 @@
1
1
  import type { Codec } from '@remotion/renderer';
2
- export declare const humanReadableCodec: (codec: Codec) => "GIF" | "AAC" | "MP3" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
2
+ export declare const humanReadableCodec: (codec: Codec) => "AAC" | "MP3" | "GIF" | "H.264" | "H.264 Matroska" | "H.265" | "ProRes" | "WebM VP8" | "WebM VP9" | "Waveform" | undefined;
@@ -1,15 +1,15 @@
1
- import type { AudioCodec, Codec, ColorSpace, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
1
+ import type { AudioCodec, Codec, ColorSpace, LogLevel, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
2
  import type { RenderJob } from '../../../preview-server/render-queue/job';
3
3
  import type { RequiredChromiumOptions } from '../../../required-chromium-options';
4
4
  import type { EnumPath } from '../RenderModal/SchemaEditor/extract-enum-json-paths';
5
- export declare const addStillRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, verbose, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, }: {
5
+ export declare const addStillRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, }: {
6
6
  compositionId: string;
7
7
  outName: string;
8
8
  imageFormat: StillImageFormat;
9
9
  jpegQuality: number;
10
10
  frame: number;
11
11
  scale: number;
12
- verbose: boolean;
12
+ logLevel: LogLevel;
13
13
  chromiumOptions: RequiredChromiumOptions;
14
14
  delayRenderTimeout: number;
15
15
  envVariables: Record<string, string>;
@@ -17,7 +17,7 @@ export declare const addStillRenderJob: ({ compositionId, outName, imageFormat,
17
17
  offthreadVideoCacheSizeInBytes: number | null;
18
18
  multiProcessOnLinux: boolean;
19
19
  }) => Promise<undefined>;
20
- export declare const addSequenceRenderJob: ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, verbose, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, }: {
20
+ export declare const addSequenceRenderJob: ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, }: {
21
21
  compositionId: string;
22
22
  outName: string;
23
23
  imageFormat: VideoImageFormat;
@@ -25,7 +25,7 @@ export declare const addSequenceRenderJob: ({ compositionId, outName, imageForma
25
25
  startFrame: number;
26
26
  endFrame: number;
27
27
  scale: number;
28
- verbose: boolean;
28
+ logLevel: LogLevel;
29
29
  chromiumOptions: RequiredChromiumOptions;
30
30
  concurrency: number;
31
31
  delayRenderTimeout: number;
@@ -35,13 +35,13 @@ export declare const addSequenceRenderJob: ({ compositionId, outName, imageForma
35
35
  disallowParallelEncoding: boolean;
36
36
  multiProcessOnLinux: boolean;
37
37
  }) => Promise<undefined>;
38
- export declare const addVideoRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, scale, verbose, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, }: {
38
+ export declare const addVideoRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, }: {
39
39
  compositionId: string;
40
40
  outName: string;
41
41
  imageFormat: VideoImageFormat;
42
42
  jpegQuality: number | null;
43
43
  scale: number;
44
- verbose: boolean;
44
+ logLevel: LogLevel;
45
45
  codec: Codec;
46
46
  concurrency: number;
47
47
  crf: number | null;
@@ -26,7 +26,7 @@ const callApi = (endpoint, body, signal) => {
26
26
  });
27
27
  });
28
28
  };
29
- const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, verbose, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, }) => {
29
+ const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, }) => {
30
30
  return callApi('/api/render', {
31
31
  compositionId,
32
32
  type: 'still',
@@ -35,7 +35,7 @@ const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, f
35
35
  jpegQuality,
36
36
  frame,
37
37
  scale,
38
- verbose,
38
+ logLevel,
39
39
  chromiumOptions,
40
40
  delayRenderTimeout,
41
41
  envVariables,
@@ -49,7 +49,7 @@ const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, f
49
49
  });
50
50
  };
51
51
  exports.addStillRenderJob = addStillRenderJob;
52
- const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, verbose, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, }) => {
52
+ const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, }) => {
53
53
  return callApi('/api/render', {
54
54
  compositionId,
55
55
  type: 'sequence',
@@ -59,7 +59,7 @@ const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame,
59
59
  scale,
60
60
  startFrame,
61
61
  endFrame,
62
- verbose,
62
+ logLevel,
63
63
  chromiumOptions,
64
64
  delayRenderTimeout,
65
65
  envVariables,
@@ -75,7 +75,7 @@ const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame,
75
75
  });
76
76
  };
77
77
  exports.addSequenceRenderJob = addSequenceRenderJob;
78
- const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, verbose, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, }) => {
78
+ const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, }) => {
79
79
  return callApi('/api/render', {
80
80
  compositionId,
81
81
  type: 'video',
@@ -83,7 +83,7 @@ const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, s
83
83
  imageFormat,
84
84
  jpegQuality,
85
85
  scale,
86
- verbose,
86
+ logLevel,
87
87
  codec,
88
88
  concurrency,
89
89
  crf,
@@ -34,7 +34,7 @@ const SidebarRenderButton = ({ composition, visible }) => {
34
34
  initialStillImageFormat: defaults.stillImageFormat,
35
35
  initialJpegQuality: defaults.jpegQuality,
36
36
  initialScale: defaults.scale,
37
- initialVerbose: defaults.logLevel === 'verbose',
37
+ initialLogLevel: defaults.logLevel,
38
38
  initialConcurrency: defaults.concurrency,
39
39
  maxConcurrency: defaults.maxConcurrency,
40
40
  minConcurrency: defaults.minConcurrency,
@@ -16,4 +16,4 @@ export declare const BLUE_DISABLED = "#284f73";
16
16
  export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
17
17
  selected: boolean;
18
18
  hovered: boolean;
19
- }) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "hsla(0, 0%, 100%, 0.25)" | "rgba(255, 255, 255, 0.06)";
19
+ }) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "rgba(255, 255, 255, 0.06)" | "hsla(0, 0%, 100%, 0.25)";
@@ -1,4 +1,4 @@
1
- import type { AudioCodec, Codec, ColorSpace, OpenGlRenderer, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
1
+ import type { AudioCodec, Codec, ColorSpace, LogLevel, OpenGlRenderer, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
2
  import type React from 'react';
3
3
  import type { QuickSwitcherMode } from '../components/QuickSwitcher/NoResults';
4
4
  import type { Bug, UpdateInfo } from '../components/UpdateCheck';
@@ -11,7 +11,7 @@ export type RenderModalState = {
11
11
  initialVideoImageFormat: VideoImageFormat;
12
12
  initialJpegQuality: number;
13
13
  initialScale: number;
14
- initialVerbose: boolean;
14
+ initialLogLevel: LogLevel;
15
15
  initialConcurrency: number;
16
16
  initialMuted: boolean;
17
17
  initialEnforceAudioTrack: boolean;
@@ -1,4 +1,5 @@
1
- export declare const findEntryPoint: (args: string[], remotionRoot: string) => {
1
+ import type { LogLevel } from '@remotion/renderer';
2
+ export declare const findEntryPoint: (args: string[], remotionRoot: string, logLevel: LogLevel) => {
2
3
  file: string | null;
3
4
  remainingArgs: string[];
4
5
  reason: string;