@remotion/cli 4.0.0-alpha4 → 4.0.0-alpha5

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 (471) hide show
  1. package/dist/ansi/ansi-diff.d.ts +2 -1
  2. package/dist/ansi/ansi-diff.js +14 -20
  3. package/dist/ansi/ansi-split.d.ts +1 -0
  4. package/dist/ansi/ansi-split.js +16 -3
  5. package/dist/benchmark.js +64 -23
  6. package/dist/codemods/update-default-props.d.ts +5 -0
  7. package/dist/codemods/update-default-props.js +143 -0
  8. package/dist/color-math.d.ts +2 -0
  9. package/dist/color-math.js +11 -0
  10. package/dist/composition-prompts.d.ts +3 -4
  11. package/dist/composition-prompts.js +0 -1
  12. package/dist/compositions.js +10 -4
  13. package/dist/config/bitrate.d.ts +2 -2
  14. package/dist/config/bitrate.js +2 -2
  15. package/dist/config/browser.d.ts +1 -3
  16. package/dist/config/browser.js +2 -12
  17. package/dist/config/codec.d.ts +0 -4
  18. package/dist/config/codec.js +1 -21
  19. package/dist/config/image-format.d.ts +5 -3
  20. package/dist/config/image-format.js +32 -10
  21. package/dist/config/index.d.ts +255 -14
  22. package/dist/config/index.js +16 -49
  23. package/dist/config/jpeg-quality.d.ts +2 -0
  24. package/dist/config/jpeg-quality.js +17 -0
  25. package/dist/config/public-dir.d.ts +1 -1
  26. package/dist/config/scale.d.ts +2 -1
  27. package/dist/convert-entry-point-to-serve-url.d.ts +1 -0
  28. package/dist/convert-entry-point-to-serve-url.js +15 -0
  29. package/dist/determine-image-format.d.ts +5 -4
  30. package/dist/determine-image-format.js +17 -4
  31. package/dist/download-progress.d.ts +2 -2
  32. package/dist/download-progress.js +12 -3
  33. package/dist/editor/components/Canvas.js +3 -0
  34. package/dist/editor/components/Checkbox.d.ts +6 -0
  35. package/dist/editor/components/Checkbox.js +42 -0
  36. package/dist/editor/components/CheckerboardProvider.d.ts +4 -0
  37. package/dist/editor/components/CheckerboardProvider.js +24 -0
  38. package/dist/editor/components/CompositionSelector.js +2 -4
  39. package/dist/editor/components/CompositionSelectorItem.d.ts +3 -3
  40. package/dist/editor/components/CompositionSelectorItem.js +24 -6
  41. package/dist/editor/components/CurrentComposition.js +4 -19
  42. package/dist/editor/components/CurrentCompositionSideEffects.d.ts +3 -0
  43. package/dist/editor/components/CurrentCompositionSideEffects.js +51 -0
  44. package/dist/editor/components/Editor.js +2 -11
  45. package/dist/editor/components/EditorContent.js +1 -1
  46. package/dist/editor/components/EditorContexts.js +10 -86
  47. package/dist/editor/components/GlobalKeybindings.js +4 -0
  48. package/dist/editor/components/InitialCompositionLoader.d.ts +2 -2
  49. package/dist/editor/components/InlineAction.d.ts +7 -0
  50. package/dist/editor/components/InlineAction.js +31 -0
  51. package/dist/editor/components/KeyboardShortcutsExplainer.js +5 -4
  52. package/dist/editor/components/MediaVolumeProvider.d.ts +4 -0
  53. package/dist/editor/components/MediaVolumeProvider.js +25 -0
  54. package/dist/editor/components/Menu/MenuSubItem.d.ts +0 -1
  55. package/dist/editor/components/Menu/MenuSubItem.js +15 -3
  56. package/dist/editor/components/Menu/is-menu-item.d.ts +2 -0
  57. package/dist/editor/components/Menu/is-menu-item.js +3 -1
  58. package/dist/editor/components/Menu/styles.d.ts +4 -0
  59. package/dist/editor/components/Menu/styles.js +13 -4
  60. package/dist/editor/components/MenuToolbar.js +2 -1
  61. package/dist/editor/components/ModalContainer.d.ts +2 -0
  62. package/dist/editor/components/ModalContainer.js +12 -3
  63. package/dist/editor/components/ModalHeader.js +6 -2
  64. package/dist/editor/components/Modals.d.ts +2 -0
  65. package/dist/editor/components/Modals.js +23 -0
  66. package/dist/editor/components/ModalsProvider.d.ts +4 -0
  67. package/dist/editor/components/ModalsProvider.js +17 -0
  68. package/dist/editor/components/NewComposition/CancelButton.js +3 -0
  69. package/dist/editor/components/NewComposition/ComboBox.js +23 -15
  70. package/dist/editor/components/NewComposition/InputDragger.d.ts +4 -0
  71. package/dist/editor/components/NewComposition/InputDragger.js +12 -7
  72. package/dist/editor/components/NewComposition/MenuContent.js +14 -1
  73. package/dist/editor/components/NewComposition/NewCompDuration.js +2 -2
  74. package/dist/editor/components/NewComposition/NewComposition.js +8 -5
  75. package/dist/editor/components/NewComposition/RemInput.d.ts +14 -2
  76. package/dist/editor/components/NewComposition/RemInput.js +24 -9
  77. package/dist/editor/components/NewComposition/RemInputTypeColor.d.ts +7 -0
  78. package/dist/editor/components/NewComposition/RemInputTypeColor.js +53 -0
  79. package/dist/editor/components/NewComposition/RemTextarea.d.ts +7 -0
  80. package/dist/editor/components/NewComposition/RemTextarea.js +92 -0
  81. package/dist/editor/components/NewComposition/ValidationMessage.d.ts +2 -0
  82. package/dist/editor/components/NewComposition/ValidationMessage.js +18 -8
  83. package/dist/editor/components/Notifications/NotificationCenter.d.ts +1 -0
  84. package/dist/editor/components/Notifications/NotificationCenter.js +11 -1
  85. package/dist/editor/components/Notifications/ServerDisconnected.d.ts +0 -4
  86. package/dist/editor/components/Notifications/ServerDisconnected.js +4 -14
  87. package/dist/editor/components/PlayPause.js +6 -0
  88. package/dist/editor/components/PlaybackKeyboardShortcutsManager.js +3 -0
  89. package/dist/editor/components/PlaybackRateSelector.d.ts +0 -2
  90. package/dist/editor/components/PlaybackRateSelector.js +5 -6
  91. package/dist/editor/components/PlayerEmitterContext.d.ts +4 -0
  92. package/dist/editor/components/PlayerEmitterContext.js +11 -0
  93. package/dist/editor/components/Preview.d.ts +0 -1
  94. package/dist/editor/components/Preview.js +4 -4
  95. package/dist/editor/components/PreviewToolbar.js +2 -2
  96. package/dist/editor/components/QuickSwitcher/QuickSwitcherContent.js +8 -3
  97. package/dist/editor/components/QuickSwitcher/QuickSwitcherResult.js +4 -2
  98. package/dist/editor/components/QuickSwitcher/algolia-search.d.ts +0 -27
  99. package/dist/editor/components/QuickSwitcher/algolia-search.js +2 -3
  100. package/dist/editor/components/RenderButton.d.ts +2 -0
  101. package/dist/editor/components/RenderButton.js +103 -0
  102. package/dist/editor/components/RenderModal/CliCopyButton.d.ts +4 -0
  103. package/dist/editor/components/RenderModal/CliCopyButton.js +22 -0
  104. package/dist/editor/components/RenderModal/CrfSetting.d.ts +15 -0
  105. package/dist/editor/components/RenderModal/CrfSetting.js +42 -0
  106. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +8 -0
  107. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +16 -0
  108. package/dist/editor/components/RenderModal/EnvInput.d.ts +11 -0
  109. package/dist/editor/components/RenderModal/EnvInput.js +74 -0
  110. package/dist/editor/components/RenderModal/FrameRangeSetting.d.ts +8 -0
  111. package/dist/editor/components/RenderModal/FrameRangeSetting.js +42 -0
  112. package/dist/editor/components/RenderModal/GuiRenderStatus.d.ts +5 -0
  113. package/dist/editor/components/RenderModal/GuiRenderStatus.js +78 -0
  114. package/dist/editor/components/RenderModal/InfoBubble.d.ts +5 -0
  115. package/dist/editor/components/RenderModal/InfoBubble.js +115 -0
  116. package/dist/editor/components/RenderModal/InfoTooltip.d.ts +5 -0
  117. package/dist/editor/components/RenderModal/InfoTooltip.js +40 -0
  118. package/dist/editor/components/RenderModal/InlineEyeIcon.d.ts +5 -0
  119. package/dist/editor/components/RenderModal/InlineEyeIcon.js +17 -0
  120. package/dist/editor/components/RenderModal/InlineRemoveButton.d.ts +4 -0
  121. package/dist/editor/components/RenderModal/InlineRemoveButton.js +17 -0
  122. package/dist/editor/components/RenderModal/JpegQualitySetting.d.ts +5 -0
  123. package/dist/editor/components/RenderModal/JpegQualitySetting.js +12 -0
  124. package/dist/editor/components/RenderModal/MutedSetting.d.ts +8 -0
  125. package/dist/editor/components/RenderModal/MutedSetting.js +16 -0
  126. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +5 -0
  127. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +26 -0
  128. package/dist/editor/components/RenderModal/NumberSetting.d.ts +12 -0
  129. package/dist/editor/components/RenderModal/NumberSetting.js +29 -0
  130. package/dist/editor/components/RenderModal/OptionExplainer.d.ts +5 -0
  131. package/dist/editor/components/RenderModal/OptionExplainer.js +45 -0
  132. package/dist/editor/components/RenderModal/RenderModal.d.ts +35 -0
  133. package/dist/editor/components/RenderModal/RenderModal.js +597 -0
  134. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +26 -0
  135. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +61 -0
  136. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +17 -0
  137. package/dist/editor/components/RenderModal/RenderModalAudio.js +46 -0
  138. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +23 -0
  139. package/dist/editor/components/RenderModal/RenderModalBasic.js +79 -0
  140. package/dist/editor/components/RenderModal/RenderModalData.d.ts +20 -0
  141. package/dist/editor/components/RenderModal/RenderModalData.js +249 -0
  142. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.d.ts +5 -0
  143. package/dist/editor/components/RenderModal/RenderModalEnvironmentVariables.js +55 -0
  144. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +9 -0
  145. package/dist/editor/components/RenderModal/RenderModalGif.js +19 -0
  146. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +2 -0
  147. package/dist/editor/components/RenderModal/RenderModalHr.js +18 -0
  148. package/dist/editor/components/RenderModal/RenderModalInput.d.ts +10 -0
  149. package/dist/editor/components/RenderModal/RenderModalInput.js +13 -0
  150. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.d.ts +15 -0
  151. package/dist/editor/components/RenderModal/RenderModalJSONPropsEditor.js +109 -0
  152. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +28 -0
  153. package/dist/editor/components/RenderModal/RenderModalPicture.js +54 -0
  154. package/dist/editor/components/RenderModal/RenderStatusModal.d.ts +4 -0
  155. package/dist/editor/components/RenderModal/RenderStatusModal.js +72 -0
  156. package/dist/editor/components/RenderModal/ScaleSetting.d.ts +5 -0
  157. package/dist/editor/components/RenderModal/ScaleSetting.js +17 -0
  158. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +13 -0
  159. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEditor.js +39 -0
  160. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.d.ts +2 -0
  161. package/dist/editor/components/RenderModal/SchemaEditor/SchemaEmptyStateGraphic.js +15 -0
  162. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +12 -0
  163. package/dist/editor/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +59 -0
  164. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +16 -0
  165. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.js +40 -0
  166. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.d.ts +4 -0
  167. package/dist/editor/components/RenderModal/SchemaEditor/SchemaResetButton.js +17 -0
  168. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.d.ts +5 -0
  169. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSaveButton.js +17 -0
  170. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.d.ts +15 -0
  171. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +84 -0
  172. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.d.ts +14 -0
  173. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +28 -0
  174. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +13 -0
  175. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +27 -0
  176. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.d.ts +15 -0
  177. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +116 -0
  178. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.d.ts +15 -0
  179. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +76 -0
  180. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.d.ts +15 -0
  181. package/dist/editor/components/RenderModal/SchemaEditor/ZodEffectEditor.js +55 -0
  182. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.d.ts +15 -0
  183. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +72 -0
  184. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +5 -0
  185. package/dist/editor/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -0
  186. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.d.ts +9 -0
  187. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +27 -0
  188. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.d.ts +15 -0
  189. package/dist/editor/components/RenderModal/SchemaEditor/ZodNullableEditor.js +10 -0
  190. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.d.ts +15 -0
  191. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +88 -0
  192. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.d.ts +15 -0
  193. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +64 -0
  194. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.d.ts +15 -0
  195. package/dist/editor/components/RenderModal/SchemaEditor/ZodOptionalEditor.js +10 -0
  196. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.d.ts +16 -0
  197. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +52 -0
  198. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.d.ts +15 -0
  199. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +48 -0
  200. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.d.ts +15 -0
  201. package/dist/editor/components/RenderModal/SchemaEditor/ZodSwitch.js +84 -0
  202. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.d.ts +15 -0
  203. package/dist/editor/components/RenderModal/SchemaEditor/ZodUnionEditor.js +49 -0
  204. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.d.ts +2 -0
  205. package/dist/editor/components/RenderModal/SchemaEditor/create-zod-values.js +158 -0
  206. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.d.ts +6 -0
  207. package/dist/editor/components/RenderModal/SchemaEditor/date-serialization.js +24 -0
  208. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.d.ts +2 -0
  209. package/dist/editor/components/RenderModal/SchemaEditor/get-schema-label.js +15 -0
  210. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.d.ts +1 -0
  211. package/dist/editor/components/RenderModal/SchemaEditor/zod-types.js +2 -0
  212. package/dist/editor/components/RenderModal/WarningIndicatorButton.d.ts +6 -0
  213. package/dist/editor/components/RenderModal/WarningIndicatorButton.js +49 -0
  214. package/dist/editor/components/RenderModal/get-render-modal-warnings.d.ts +15 -0
  215. package/dist/editor/components/RenderModal/get-render-modal-warnings.js +34 -0
  216. package/dist/editor/components/RenderModal/human-readable-audio-codecs.d.ts +2 -0
  217. package/dist/editor/components/RenderModal/human-readable-audio-codecs.js +18 -0
  218. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +2 -0
  219. package/dist/editor/components/RenderModal/human-readable-codec.js +36 -0
  220. package/dist/editor/components/RenderModal/layout.d.ts +7 -0
  221. package/dist/editor/components/RenderModal/layout.js +45 -0
  222. package/dist/editor/components/RenderModal/out-name-checker.d.ts +14 -0
  223. package/dist/editor/components/RenderModal/out-name-checker.js +80 -0
  224. package/dist/editor/components/RenderQueue/CircularProgress.d.ts +5 -0
  225. package/dist/editor/components/RenderQueue/CircularProgress.js +18 -0
  226. package/dist/editor/components/RenderQueue/RenderQueueError.d.ts +5 -0
  227. package/dist/editor/components/RenderQueue/RenderQueueError.js +26 -0
  228. package/dist/editor/components/RenderQueue/RenderQueueItem.d.ts +5 -0
  229. package/dist/editor/components/RenderQueue/RenderQueueItem.js +40 -0
  230. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.d.ts +5 -0
  231. package/dist/editor/components/RenderQueue/RenderQueueItemCancelButton.js +26 -0
  232. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.d.ts +5 -0
  233. package/dist/editor/components/RenderQueue/RenderQueueItemStatus.js +43 -0
  234. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.d.ts +5 -0
  235. package/dist/editor/components/RenderQueue/RenderQueueOpenInFolder.js +26 -0
  236. package/dist/editor/components/RenderQueue/RenderQueueOutputName.d.ts +5 -0
  237. package/dist/editor/components/RenderQueue/RenderQueueOutputName.js +26 -0
  238. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.d.ts +5 -0
  239. package/dist/editor/components/RenderQueue/RenderQueueProgressMessage.js +26 -0
  240. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.d.ts +5 -0
  241. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +37 -0
  242. package/dist/editor/components/RenderQueue/RenderQueueRepeat.d.ts +5 -0
  243. package/dist/editor/components/RenderQueue/RenderQueueRepeat.js +26 -0
  244. package/dist/editor/components/RenderQueue/SuccessIcon.d.ts +2 -0
  245. package/dist/editor/components/RenderQueue/SuccessIcon.js +14 -0
  246. package/dist/editor/components/RenderQueue/actions.d.ts +58 -0
  247. package/dist/editor/components/RenderQueue/actions.js +120 -0
  248. package/dist/editor/components/RenderQueue/context.d.ts +18 -0
  249. package/dist/editor/components/RenderQueue/context.js +49 -0
  250. package/dist/editor/components/RenderQueue/index.d.ts +2 -0
  251. package/dist/editor/components/RenderQueue/index.js +43 -0
  252. package/dist/editor/components/RenderQueue/item-style.d.ts +2 -0
  253. package/dist/editor/components/RenderQueue/item-style.js +21 -0
  254. package/dist/editor/components/RendersTab.d.ts +6 -0
  255. package/dist/editor/components/RendersTab.js +43 -0
  256. package/dist/editor/components/RightPanel.d.ts +8 -0
  257. package/dist/editor/components/RightPanel.js +76 -0
  258. package/dist/editor/components/SegmentedControl.d.ts +11 -0
  259. package/dist/editor/components/SegmentedControl.js +62 -0
  260. package/dist/editor/components/SetTimelineInOutProvider.d.ts +4 -0
  261. package/dist/editor/components/SetTimelineInOutProvider.js +19 -0
  262. package/dist/editor/components/SidebarCollapserControls.d.ts +2 -0
  263. package/dist/editor/components/SidebarCollapserControls.js +129 -0
  264. package/dist/editor/components/SidebarRenderButton.d.ts +6 -0
  265. package/dist/editor/components/SidebarRenderButton.js +85 -0
  266. package/dist/editor/components/SizeSelector.d.ts +0 -1
  267. package/dist/editor/components/SizeSelector.js +3 -3
  268. package/dist/editor/components/Splitter/SplitterHandle.d.ts +1 -2
  269. package/dist/editor/components/Splitter/SplitterHandle.js +15 -7
  270. package/dist/editor/components/Tabs/index.d.ts +11 -0
  271. package/dist/editor/components/Tabs/index.js +58 -0
  272. package/dist/editor/components/Tabs/vertical.d.ts +7 -0
  273. package/dist/editor/components/Tabs/vertical.js +43 -0
  274. package/dist/editor/components/Timeline/MaxTimelineTracks.js +1 -1
  275. package/dist/editor/components/Timeline/Timeline.js +1 -1
  276. package/dist/editor/components/Timeline/TimelineCollapseToggle.d.ts +1 -0
  277. package/dist/editor/components/Timeline/TimelineCollapseToggle.js +4 -5
  278. package/dist/editor/components/Timeline/TimelineListItem.js +2 -1
  279. package/dist/editor/components/Timeline/TimelineScrollable.js +2 -1
  280. package/dist/editor/components/Timeline/TimelineSequence.js +2 -14
  281. package/dist/editor/components/Timeline/TimelineSequenceFrame.js +2 -1
  282. package/dist/editor/components/Timeline/TimelineZoomControls.js +2 -5
  283. package/dist/editor/components/Timeline/imperative-state.d.ts +0 -4
  284. package/dist/editor/components/Timeline/imperative-state.js +13 -13
  285. package/dist/editor/components/Timeline/is-collapsed.js +2 -3
  286. package/dist/editor/components/Timeline/timeline-scroll-logic.d.ts +0 -1
  287. package/dist/editor/components/Timeline/timeline-scroll-logic.js +5 -6
  288. package/dist/editor/components/TimelineInOutToggle.js +3 -0
  289. package/dist/editor/components/TopPanel.d.ts +1 -0
  290. package/dist/editor/components/TopPanel.js +30 -16
  291. package/dist/editor/components/ZoomGesturesProvider.d.ts +4 -0
  292. package/dist/editor/components/ZoomGesturesProvider.js +24 -0
  293. package/dist/editor/components/ZoomPersistor.d.ts +0 -1
  294. package/dist/editor/components/ZoomPersistor.js +2 -3
  295. package/dist/editor/components/get-zod-if-possible.d.ts +10 -0
  296. package/dist/editor/components/get-zod-if-possible.js +79 -0
  297. package/dist/editor/components/layout.d.ts +3 -1
  298. package/dist/editor/components/layout.js +9 -7
  299. package/dist/editor/helpers/calculate-timeline.d.ts +0 -4
  300. package/dist/editor/helpers/client-id.d.ts +17 -0
  301. package/dist/editor/helpers/client-id.js +46 -0
  302. package/dist/editor/helpers/colors.d.ts +3 -1
  303. package/dist/editor/helpers/colors.js +6 -3
  304. package/dist/editor/helpers/convert-env-variables.d.ts +2 -0
  305. package/dist/editor/helpers/convert-env-variables.js +20 -0
  306. package/dist/editor/helpers/create-folder-tree.d.ts +2 -3
  307. package/dist/editor/helpers/create-folder-tree.js +3 -4
  308. package/dist/editor/helpers/get-timeline-sequence-layout.d.ts +2 -2
  309. package/dist/editor/helpers/get-timeline-sequence-sort-key.d.ts +2 -1
  310. package/dist/editor/helpers/is-composition-still.d.ts +2 -2
  311. package/dist/editor/helpers/is-composition-still.js +3 -0
  312. package/dist/editor/helpers/prores-labels.d.ts +2 -0
  313. package/dist/editor/helpers/prores-labels.js +25 -0
  314. package/dist/editor/helpers/render-modal-sections.d.ts +10 -0
  315. package/dist/editor/helpers/render-modal-sections.js +32 -0
  316. package/dist/editor/helpers/use-breakpoint.d.ts +1 -0
  317. package/dist/editor/helpers/use-breakpoint.js +17 -0
  318. package/dist/editor/helpers/use-file-existence.d.ts +1 -0
  319. package/dist/editor/helpers/use-file-existence.js +66 -0
  320. package/dist/editor/helpers/use-keybinding.d.ts +1 -0
  321. package/dist/editor/helpers/use-keybinding.js +9 -0
  322. package/dist/editor/helpers/use-menu-structure.js +99 -51
  323. package/dist/editor/helpers/validate-new-comp-data.d.ts +2 -2
  324. package/dist/editor/icons/Checkmark.js +1 -1
  325. package/dist/editor/icons/audio.d.ts +2 -0
  326. package/dist/editor/icons/audio.js +6 -0
  327. package/dist/editor/icons/caret.d.ts +4 -1
  328. package/dist/editor/icons/caret.js +17 -1
  329. package/dist/editor/icons/data.d.ts +2 -0
  330. package/dist/editor/icons/data.js +8 -0
  331. package/dist/editor/icons/file.d.ts +2 -0
  332. package/dist/editor/icons/file.js +6 -0
  333. package/dist/editor/icons/folder.d.ts +6 -2
  334. package/dist/editor/icons/folder.js +4 -4
  335. package/dist/editor/icons/frame.d.ts +2 -0
  336. package/dist/editor/icons/frame.js +6 -0
  337. package/dist/editor/icons/gear.d.ts +2 -0
  338. package/dist/editor/icons/gear.js +6 -0
  339. package/dist/editor/icons/gif.d.ts +2 -0
  340. package/dist/editor/icons/gif.js +6 -0
  341. package/dist/editor/icons/render.d.ts +9 -0
  342. package/dist/editor/icons/render.js +12 -0
  343. package/dist/editor/icons/still.d.ts +3 -1
  344. package/dist/editor/icons/still.js +2 -2
  345. package/dist/editor/icons/video.d.ts +5 -0
  346. package/dist/editor/icons/video.js +8 -0
  347. package/dist/editor/state/keybindings.d.ts +2 -1
  348. package/dist/editor/state/modals.d.ts +38 -0
  349. package/dist/editor/state/preview-size.d.ts +0 -1
  350. package/dist/editor/state/preview-size.js +3 -4
  351. package/dist/editor/state/sidebar.d.ts +7 -3
  352. package/dist/editor/state/sidebar.js +42 -13
  353. package/dist/editor/state/timeline-ref.d.ts +2 -1
  354. package/dist/editor/state/z-index.d.ts +0 -5
  355. package/dist/editor/state/z-index.js +16 -6
  356. package/dist/event-source-events.d.ts +15 -0
  357. package/dist/event-source.d.ts +2 -0
  358. package/dist/event-source.js +31 -5
  359. package/dist/ffmpeg.d.ts +2 -0
  360. package/dist/ffmpeg.js +21 -0
  361. package/dist/file-watcher.d.ts +9 -0
  362. package/dist/file-watcher.js +35 -0
  363. package/dist/get-cli-options.d.ts +3 -12
  364. package/dist/get-cli-options.js +7 -60
  365. package/dist/get-composition-id.d.ts +7 -3
  366. package/dist/get-composition-id.js +17 -3
  367. package/dist/get-composition-with-dimension-override.d.ts +5 -4
  368. package/dist/get-composition-with-dimension-override.js +6 -2
  369. package/dist/get-config-file-name.d.ts +0 -2
  370. package/dist/get-config-file-name.js +7 -7
  371. package/dist/get-default-out-name.d.ts +5 -0
  372. package/dist/get-default-out-name.js +10 -0
  373. package/dist/get-env.d.ts +1 -1
  374. package/dist/get-env.js +39 -48
  375. package/dist/get-filename.d.ts +5 -1
  376. package/dist/get-filename.js +6 -4
  377. package/dist/get-final-output-codec.d.ts +2 -1
  378. package/dist/get-final-output-codec.js +4 -1
  379. package/dist/get-input-props.d.ts +1 -5
  380. package/dist/get-input-props.js +11 -13
  381. package/dist/image-formats.d.ts +5 -2
  382. package/dist/image-formats.js +16 -6
  383. package/dist/index.d.ts +91 -22
  384. package/dist/index.js +12 -13
  385. package/dist/list-of-remotion-packages.js +1 -0
  386. package/dist/load-config.js +1 -1
  387. package/dist/log.d.ts +14 -0
  388. package/dist/log.js +24 -8
  389. package/dist/parse-command-line.d.ts +5 -5
  390. package/dist/parse-command-line.js +6 -14
  391. package/dist/preview-server/api-routes.d.ts +4 -0
  392. package/dist/preview-server/api-routes.js +21 -0
  393. package/dist/preview-server/api-types.d.ts +25 -0
  394. package/dist/preview-server/api-types.js +2 -0
  395. package/dist/preview-server/dev-middleware/middleware.d.ts +0 -1
  396. package/dist/preview-server/dev-middleware/middleware.js +1 -2
  397. package/dist/preview-server/error-overlay/remotion-overlay/AskOnDiscord.js +1 -0
  398. package/dist/preview-server/error-overlay/remotion-overlay/Button.d.ts +8 -4
  399. package/dist/preview-server/error-overlay/remotion-overlay/Button.js +12 -8
  400. package/dist/preview-server/error-overlay/remotion-overlay/ErrorDisplay.js +2 -1
  401. package/dist/preview-server/error-overlay/remotion-overlay/HelpLink.js +1 -0
  402. package/dist/preview-server/error-overlay/remotion-overlay/OpenInEditor.js +1 -0
  403. package/dist/preview-server/error-overlay/remotion-overlay/SearchGitHubIssues.js +1 -0
  404. package/dist/preview-server/error-overlay/remotion-overlay/ShortcutHint.js +16 -1
  405. package/dist/preview-server/file-existence-watchers.d.ts +13 -0
  406. package/dist/preview-server/file-existence-watchers.js +62 -0
  407. package/dist/preview-server/handler.d.ts +9 -0
  408. package/dist/preview-server/handler.js +34 -0
  409. package/dist/preview-server/hot-middleware/client.js +2 -2
  410. package/dist/preview-server/live-events.d.ts +2 -0
  411. package/dist/preview-server/live-events.js +22 -2
  412. package/dist/preview-server/parse-body.d.ts +2 -0
  413. package/dist/preview-server/parse-body.js +16 -0
  414. package/dist/preview-server/public-folder.d.ts +0 -5
  415. package/dist/preview-server/public-folder.js +3 -4
  416. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +10 -0
  417. package/dist/preview-server/render-queue/get-default-video-contexts.js +13 -0
  418. package/dist/preview-server/render-queue/job.d.ts +138 -0
  419. package/dist/preview-server/render-queue/job.js +2 -0
  420. package/dist/preview-server/render-queue/make-retry-payload.d.ts +3 -0
  421. package/dist/preview-server/render-queue/make-retry-payload.js +91 -0
  422. package/dist/preview-server/render-queue/open-directory-in-finder.d.ts +1 -0
  423. package/dist/preview-server/render-queue/open-directory-in-finder.js +43 -0
  424. package/dist/preview-server/render-queue/process-still.d.ts +8 -0
  425. package/dist/preview-server/render-queue/process-still.js +46 -0
  426. package/dist/preview-server/render-queue/process-video.d.ts +8 -0
  427. package/dist/preview-server/render-queue/process-video.js +63 -0
  428. package/dist/preview-server/render-queue/queue.d.ts +9 -0
  429. package/dist/preview-server/render-queue/queue.js +212 -0
  430. package/dist/preview-server/routes/add-render.d.ts +3 -0
  431. package/dist/preview-server/routes/add-render.js +76 -0
  432. package/dist/preview-server/routes/can-update-default-props.d.ts +4 -0
  433. package/dist/preview-server/routes/can-update-default-props.js +39 -0
  434. package/dist/preview-server/routes/cancel-render.d.ts +3 -0
  435. package/dist/preview-server/routes/cancel-render.js +9 -0
  436. package/dist/preview-server/routes/open-in-file-explorer.d.ts +3 -0
  437. package/dist/preview-server/routes/open-in-file-explorer.js +8 -0
  438. package/dist/preview-server/routes/remove-render.d.ts +3 -0
  439. package/dist/preview-server/routes/remove-render.js +9 -0
  440. package/dist/preview-server/routes/subscribe-to-file-existence.d.ts +3 -0
  441. package/dist/preview-server/routes/subscribe-to-file-existence.js +13 -0
  442. package/dist/preview-server/routes/unsubscribe-from-file-existence.d.ts +3 -0
  443. package/dist/preview-server/routes/unsubscribe-from-file-existence.js +13 -0
  444. package/dist/preview-server/routes/update-default-props.d.ts +3 -0
  445. package/dist/preview-server/routes/update-default-props.js +24 -0
  446. package/dist/preview-server/routes.d.ts +2 -1
  447. package/dist/preview-server/routes.js +71 -13
  448. package/dist/preview-server/start-server.js +1 -0
  449. package/dist/preview.js +8 -21
  450. package/dist/previewEntry.js +2 -3
  451. package/dist/print-compositions.d.ts +2 -2
  452. package/dist/print-error.js +4 -2
  453. package/dist/print-help.js +4 -8
  454. package/dist/progress-bar.d.ts +17 -37
  455. package/dist/progress-bar.js +102 -41
  456. package/dist/progress-types.d.ts +32 -0
  457. package/dist/progress-types.js +17 -0
  458. package/dist/render-flows/render.d.ts +47 -0
  459. package/dist/render-flows/render.js +293 -0
  460. package/dist/render-flows/still.d.ts +29 -0
  461. package/dist/render-flows/still.js +174 -0
  462. package/dist/render.js +42 -232
  463. package/dist/required-chromium-options.d.ts +3 -0
  464. package/dist/required-chromium-options.js +2 -0
  465. package/dist/select-composition.d.ts +2 -1
  466. package/dist/setup-cache.d.ts +12 -9
  467. package/dist/setup-cache.js +29 -20
  468. package/dist/still.js +25 -130
  469. package/dist/user-passed-output-location.js +2 -7
  470. package/package.json +22 -7
  471. package/styles/styles.css +13 -3
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SidebarContextProvider = exports.SidebarContext = exports.getSavedCollapsedState = void 0;
3
+ exports.SidebarContextProvider = exports.SidebarContext = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const storageKey = 'remotion.sidebarCollapsing';
7
- const getSavedCollapsedState = () => {
8
- const state = window.localStorage.getItem(storageKey);
6
+ const storageKey = (sidebar) => {
7
+ if (sidebar === 'right') {
8
+ return 'remotion.sidebarRightCollapsing';
9
+ }
10
+ return 'remotion.sidebarCollapsing';
11
+ };
12
+ const getSavedCollapsedStateLeft = () => {
13
+ const state = window.localStorage.getItem(storageKey('left'));
9
14
  if (state === 'collapsed') {
10
15
  return 'collapsed';
11
16
  }
@@ -14,25 +19,49 @@ const getSavedCollapsedState = () => {
14
19
  }
15
20
  return 'responsive';
16
21
  };
17
- exports.getSavedCollapsedState = getSavedCollapsedState;
18
- const setSavedCollapsedState = (type) => {
19
- window.localStorage.setItem(storageKey, type);
22
+ const getSavedCollapsedStateRight = () => {
23
+ const state = window.localStorage.getItem(storageKey('right'));
24
+ if (state === 'expanded') {
25
+ return 'expanded';
26
+ }
27
+ return 'collapsed';
28
+ };
29
+ const saveCollapsedState = (type, sidebar) => {
30
+ window.localStorage.setItem(storageKey(sidebar), type);
20
31
  };
21
32
  exports.SidebarContext = (0, react_1.createContext)({
22
- sidebarCollapsedState: 'collapsed',
33
+ sidebarCollapsedStateLeft: 'collapsed',
23
34
  setSidebarCollapsedState: () => {
24
35
  throw new Error('sidebar collapsed state');
25
36
  },
37
+ sidebarCollapsedStateRight: 'collapsed',
26
38
  });
27
39
  const SidebarContextProvider = ({ children }) => {
28
- const [sidebarCollapsedState, setSidebarCollapsedState] = (0, react_1.useState)(() => (0, exports.getSavedCollapsedState)());
40
+ const [sidebarCollapsedState, setSidebarCollapsedState] = (0, react_1.useState)(() => ({
41
+ left: getSavedCollapsedStateLeft(),
42
+ right: getSavedCollapsedStateRight(),
43
+ }));
29
44
  const value = (0, react_1.useMemo)(() => {
30
45
  return {
31
- setSidebarCollapsedState: (state) => {
32
- setSidebarCollapsedState(state);
33
- setSavedCollapsedState(state);
46
+ sidebarCollapsedStateLeft: sidebarCollapsedState.left,
47
+ sidebarCollapsedStateRight: sidebarCollapsedState.right,
48
+ setSidebarCollapsedState: (options) => {
49
+ const { left, right } = options;
50
+ setSidebarCollapsedState((f) => {
51
+ const copied = { ...f };
52
+ if (left) {
53
+ const updatedLeft = typeof left === 'function' ? left(f.left) : left;
54
+ saveCollapsedState(updatedLeft, 'left');
55
+ copied.left = updatedLeft;
56
+ }
57
+ if (right) {
58
+ const updatedRight = typeof right === 'function' ? right(f.right) : right;
59
+ saveCollapsedState(updatedRight, 'right');
60
+ copied.right = updatedRight;
61
+ }
62
+ return copied;
63
+ });
34
64
  },
35
- sidebarCollapsedState,
36
65
  };
37
66
  }, [sidebarCollapsedState]);
38
67
  return ((0, jsx_runtime_1.jsx)(exports.SidebarContext.Provider, { value: value, children: children }));
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
- export declare type TimelineRef = {
2
+ declare type TimelineRef = {
3
3
  collapseAll: () => void;
4
4
  expandAll: () => void;
5
5
  };
6
6
  export declare const timelineRef: import("react").RefObject<TimelineRef>;
7
+ export {};
@@ -1,8 +1,4 @@
1
1
  import React from 'react';
2
- declare type ZIndex = {
3
- currentIndex: number;
4
- };
5
- export declare const ZIndexContext: React.Context<ZIndex>;
6
2
  export declare const HigherZIndex: React.FC<{
7
3
  onEscape: () => void;
8
4
  onOutsideClick: () => void;
@@ -14,4 +10,3 @@ export declare const useZIndex: () => {
14
10
  isHighestContext: boolean;
15
11
  tabIndex: number;
16
12
  };
17
- export {};
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useZIndex = exports.HigherZIndex = exports.ZIndexContext = void 0;
3
+ exports.useZIndex = exports.HigherZIndex = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const use_keybinding_1 = require("../helpers/use-keybinding");
7
7
  const highest_z_index_1 = require("./highest-z-index");
8
8
  const input_dragger_click_lock_1 = require("./input-dragger-click-lock");
9
- exports.ZIndexContext = (0, react_1.createContext)({
9
+ const ZIndexContext = (0, react_1.createContext)({
10
10
  currentIndex: 0,
11
11
  });
12
+ const margin = {
13
+ margin: 'auto',
14
+ };
12
15
  const EscapeHook = ({ onEscape }) => {
13
16
  const keybindings = (0, use_keybinding_1.useKeybinding)();
14
17
  (0, react_1.useEffect)(() => {
@@ -18,6 +21,8 @@ const EscapeHook = ({ onEscape }) => {
18
21
  callback: onEscape,
19
22
  commandCtrlKey: false,
20
23
  preventDefault: true,
24
+ // To dismiss the Quick Switcher menu if input is focused
25
+ triggerIfInputFieldFocused: true,
21
26
  });
22
27
  return () => {
23
28
  escape.unregister();
@@ -26,7 +31,7 @@ const EscapeHook = ({ onEscape }) => {
26
31
  return null;
27
32
  };
28
33
  const HigherZIndex = ({ children, onEscape, onOutsideClick }) => {
29
- const context = (0, react_1.useContext)(exports.ZIndexContext);
34
+ const context = (0, react_1.useContext)(ZIndexContext);
30
35
  const highestContext = (0, react_1.useContext)(highest_z_index_1.HighestZIndexContext);
31
36
  const containerRef = (0, react_1.useRef)(null);
32
37
  const currentIndex = context.currentIndex + 1;
@@ -54,8 +59,13 @@ const HigherZIndex = ({ children, onEscape, onOutsideClick }) => {
54
59
  };
55
60
  window.addEventListener('pointerup', onUp, { once: true });
56
61
  };
57
- window.addEventListener('pointerdown', listener);
62
+ // If a menu is opened, then this component will also still receive the pointerdown event.
63
+ // However we may not interpret it as a outside click, so we need to wait for the next tick
64
+ requestAnimationFrame(() => {
65
+ window.addEventListener('pointerdown', listener);
66
+ });
58
67
  return () => {
68
+ onUp = null;
59
69
  if (onUp) {
60
70
  // @ts-expect-error
61
71
  window.removeEventListener('pointerup', onUp, { once: true });
@@ -68,11 +78,11 @@ const HigherZIndex = ({ children, onEscape, onOutsideClick }) => {
68
78
  currentIndex,
69
79
  };
70
80
  }, [currentIndex]);
71
- return ((0, jsx_runtime_1.jsxs)(exports.ZIndexContext.Provider, { value: value, children: [(0, jsx_runtime_1.jsx)(EscapeHook, { onEscape: onEscape }), (0, jsx_runtime_1.jsx)("div", { ref: containerRef, children: children })] }));
81
+ return ((0, jsx_runtime_1.jsxs)(ZIndexContext.Provider, { value: value, children: [(0, jsx_runtime_1.jsx)(EscapeHook, { onEscape: onEscape }), (0, jsx_runtime_1.jsx)("div", { ref: containerRef, style: margin, children: children })] }));
72
82
  };
73
83
  exports.HigherZIndex = HigherZIndex;
74
84
  const useZIndex = () => {
75
- const context = (0, react_1.useContext)(exports.ZIndexContext);
85
+ const context = (0, react_1.useContext)(ZIndexContext);
76
86
  const highestContext = (0, react_1.useContext)(highest_z_index_1.HighestZIndexContext);
77
87
  const isHighestContext = highestContext.highestIndex === context.currentIndex;
78
88
  return (0, react_1.useMemo)(() => ({
@@ -1,12 +1,27 @@
1
1
  import type { StaticFile } from 'remotion';
2
+ import type { RenderJob } from './preview-server/render-queue/job';
2
3
  export declare type EventSourceEvent = {
3
4
  type: 'new-input-props';
4
5
  newProps: object;
5
6
  } | {
6
7
  type: 'init';
8
+ clientId: string;
7
9
  } | {
8
10
  type: 'new-env-variables';
9
11
  newEnvVariables: Record<string, string>;
12
+ } | {
13
+ type: 'render-queue-updated';
14
+ queue: RenderJob[];
15
+ } | {
16
+ type: 'render-job-failed';
17
+ compositionId: string;
18
+ error: Error;
19
+ } | {
20
+ type: 'watched-file-undeleted';
21
+ file: string;
22
+ } | {
23
+ type: 'watched-file-deleted';
24
+ file: string;
10
25
  } | {
11
26
  type: 'new-public-folder';
12
27
  files: StaticFile[];
@@ -1 +1,3 @@
1
+ import type { EventSourceEvent } from './event-source-events';
2
+ export declare const subscribeToEvent: (type: EventSourceEvent['type'], listener: (event: EventSourceEvent) => void) => () => void;
1
3
  export declare const openEventSource: () => void;
@@ -1,27 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openEventSource = void 0;
4
- const ServerDisconnected_1 = require("./editor/components/Notifications/ServerDisconnected");
3
+ exports.openEventSource = exports.subscribeToEvent = void 0;
4
+ const NotificationCenter_1 = require("./editor/components/Notifications/NotificationCenter");
5
+ const context_1 = require("./editor/components/RenderQueue/context");
6
+ const client_id_1 = require("./editor/helpers/client-id");
5
7
  let source = null;
8
+ let listeners = [];
9
+ const subscribeToEvent = (type, listener) => {
10
+ listeners.push({ type, listener });
11
+ return () => {
12
+ listeners = listeners.filter((l) => l.type !== type || l.listener !== listener);
13
+ };
14
+ };
15
+ exports.subscribeToEvent = subscribeToEvent;
6
16
  const openEventSource = () => {
7
17
  source = new EventSource('/events');
8
18
  source.addEventListener('message', (event) => {
19
+ var _a, _b;
9
20
  const newEvent = JSON.parse(event.data);
10
21
  if (newEvent.type === 'new-input-props' ||
11
22
  newEvent.type === 'new-env-variables') {
12
23
  window.location.reload();
13
24
  }
25
+ if (newEvent.type === 'init') {
26
+ (_a = client_id_1.previewServerConnectionRef.current) === null || _a === void 0 ? void 0 : _a.set({
27
+ type: 'connected',
28
+ clientId: newEvent.clientId,
29
+ });
30
+ }
31
+ if (newEvent.type === 'render-queue-updated') {
32
+ (_b = context_1.renderJobsRef.current) === null || _b === void 0 ? void 0 : _b.updateRenderJobs(newEvent.queue);
33
+ }
34
+ if (newEvent.type === 'render-job-failed') {
35
+ (0, NotificationCenter_1.sendErrorNotification)(`Rendering "${newEvent.compositionId}" failed`);
36
+ }
14
37
  if (newEvent.type === 'new-public-folder') {
15
38
  window.remotion_staticFiles = newEvent.files;
16
39
  }
40
+ listeners.forEach((l) => {
41
+ if (l.type === newEvent.type) {
42
+ l.listener(newEvent);
43
+ }
44
+ });
17
45
  });
18
46
  source.addEventListener('open', () => {
19
- var _a;
20
- (_a = ServerDisconnected_1.serverDisconnectedRef.current) === null || _a === void 0 ? void 0 : _a.setServerConnected();
21
47
  source.addEventListener('error', () => {
22
48
  var _a;
49
+ (_a = client_id_1.previewServerConnectionRef.current) === null || _a === void 0 ? void 0 : _a.set({ type: 'disconnected' });
23
50
  // Display an error message that the preview server has disconnected.
24
- (_a = ServerDisconnected_1.serverDisconnectedRef.current) === null || _a === void 0 ? void 0 : _a.setServerDisconnected();
25
51
  source === null || source === void 0 ? void 0 : source.close();
26
52
  // Retry later
27
53
  setTimeout(() => {
@@ -0,0 +1,2 @@
1
+ export declare const ffmpegCommand: (_root: string, args: string[]) => never;
2
+ export declare const ffprobeCommand: (_root: string, args: string[]) => never;
package/dist/ffmpeg.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ffprobeCommand = exports.ffmpegCommand = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ const child_process_1 = require("child_process");
6
+ const ffmpegCommand = (_root, args) => {
7
+ const done = (0, child_process_1.spawnSync)(renderer_1.RenderInternals.getExecutablePath('ffmpeg'), args, {
8
+ ...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
9
+ stdio: 'inherit',
10
+ });
11
+ process.exit(done.status);
12
+ };
13
+ exports.ffmpegCommand = ffmpegCommand;
14
+ const ffprobeCommand = (_root, args) => {
15
+ const done = (0, child_process_1.spawnSync)(renderer_1.RenderInternals.getExecutablePath('ffprobe'), args, {
16
+ ...renderer_1.RenderInternals.dynamicLibraryPathOptions(),
17
+ stdio: 'inherit',
18
+ });
19
+ process.exit(done.status);
20
+ };
21
+ exports.ffprobeCommand = ffprobeCommand;
@@ -0,0 +1,9 @@
1
+ declare type FileChangeType = 'created' | 'deleted' | 'changed';
2
+ export declare const installFileWatcher: ({ file, onChange, }: {
3
+ file: string;
4
+ onChange: (type: FileChangeType) => void;
5
+ }) => {
6
+ exists: boolean;
7
+ unwatch: () => void;
8
+ };
9
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.installFileWatcher = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const installFileWatcher = ({ file, onChange, }) => {
9
+ const existedAtBeginning = fs_1.default.existsSync(file);
10
+ let existedBefore = existedAtBeginning;
11
+ const listener = () => {
12
+ const existsNow = fs_1.default.existsSync(file);
13
+ if (!existedBefore && existsNow) {
14
+ onChange('created');
15
+ existedBefore = true;
16
+ return;
17
+ }
18
+ if (existedBefore && !existsNow) {
19
+ onChange('deleted');
20
+ existedBefore = false;
21
+ return;
22
+ }
23
+ if (existsNow) {
24
+ onChange('changed');
25
+ }
26
+ };
27
+ fs_1.default.watchFile(file, { interval: 100 }, listener);
28
+ return {
29
+ exists: existedAtBeginning,
30
+ unwatch: () => {
31
+ fs_1.default.unwatchFile(file, listener);
32
+ },
33
+ };
34
+ };
35
+ exports.installFileWatcher = installFileWatcher;
@@ -1,12 +1,4 @@
1
- import type { BrowserExecutable, ChromiumOptions, Codec, FrameRange } from '@remotion/renderer';
2
- export declare const validateFfmpegCanUseCodec: (codec: Codec, remotionRoot: string) => Promise<void>;
3
- export declare const getFinalCodec: (options: {
4
- downloadName: string | null;
5
- outName: string | null;
6
- }) => {
7
- codec: Codec;
8
- reason: string;
9
- };
1
+ import type { BrowserExecutable, ChromiumOptions, FrameRange } from '@remotion/renderer';
10
2
  export declare const getAndValidateAbsoluteOutputFile: (relativeOutputLocation: string, overwrite: boolean) => string;
11
3
  export declare const getCliOptions: (options: {
12
4
  isLambda: boolean;
@@ -19,7 +11,7 @@ export declare const getCliOptions: (options: {
19
11
  shouldOutputImageSequence: boolean;
20
12
  inputProps: object;
21
13
  envVariables: Record<string, string>;
22
- quality: number | undefined;
14
+ jpegQuality: number | undefined;
23
15
  browser: import("@remotion/renderer").Browser;
24
16
  crf: import("@remotion/renderer").Crf | null;
25
17
  pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
@@ -28,8 +20,6 @@ export declare const getCliOptions: (options: {
28
20
  numberOfGifLoops: import("./config/number-of-gif-loops").Loop;
29
21
  stillFrame: number;
30
22
  browserExecutable: BrowserExecutable;
31
- ffmpegExecutable: import("@remotion/renderer").FfmpegExecutable;
32
- ffprobeExecutable: import("@remotion/renderer").FfmpegExecutable;
33
23
  logLevel: "verbose" | "info" | "warn" | "error";
34
24
  scale: number;
35
25
  chromiumOptions: ChromiumOptions;
@@ -43,4 +33,5 @@ export declare const getCliOptions: (options: {
43
33
  videoBitrate: string | null;
44
34
  height: number | null;
45
35
  width: number | null;
36
+ configFileImageFormat: "png" | "jpeg" | "none" | undefined;
46
37
  }>;
@@ -3,16 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getCliOptions = exports.getAndValidateAbsoluteOutputFile = exports.getFinalCodec = exports.validateFfmpegCanUseCodec = void 0;
6
+ exports.getCliOptions = exports.getAndValidateAbsoluteOutputFile = void 0;
7
7
  const renderer_1 = require("@remotion/renderer");
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const config_1 = require("./config");
11
11
  const get_env_1 = require("./get-env");
12
- const get_final_output_codec_1 = require("./get-final-output-codec");
13
12
  const get_input_props_1 = require("./get-input-props");
14
13
  const log_1 = require("./log");
15
- const parse_command_line_1 = require("./parse-command-line");
16
14
  const getAndValidateFrameRange = () => {
17
15
  const frameRange = config_1.ConfigInternals.getRange();
18
16
  if (typeof frameRange === 'number') {
@@ -22,48 +20,6 @@ const getAndValidateFrameRange = () => {
22
20
  }
23
21
  return frameRange;
24
22
  };
25
- const validateFfmpegCanUseCodec = async (codec, remotionRoot) => {
26
- const ffmpegExecutable = config_1.ConfigInternals.getCustomFfmpegExecutable();
27
- if (codec === 'vp8' &&
28
- !(await renderer_1.RenderInternals.ffmpegHasFeature({
29
- feature: 'enable-libvpx',
30
- ffmpegExecutable,
31
- remotionRoot,
32
- }))) {
33
- log_1.Log.error("The Vp8 codec has been selected, but your FFMPEG binary wasn't compiled with the --enable-lipvpx flag.");
34
- log_1.Log.error('This does not work, please switch out your FFMPEG binary or choose a different codec.');
35
- }
36
- if (codec === 'h265' &&
37
- !(await renderer_1.RenderInternals.ffmpegHasFeature({
38
- feature: 'enable-gpl',
39
- ffmpegExecutable,
40
- remotionRoot,
41
- }))) {
42
- log_1.Log.error("The H265 codec has been selected, but your FFMPEG binary wasn't compiled with the --enable-gpl flag.");
43
- log_1.Log.error('This does not work, please recompile your FFMPEG binary with --enable-gpl --enable-libx265 or choose a different codec.');
44
- }
45
- if (codec === 'h265' &&
46
- !(await renderer_1.RenderInternals.ffmpegHasFeature({
47
- feature: 'enable-libx265',
48
- ffmpegExecutable,
49
- remotionRoot,
50
- }))) {
51
- log_1.Log.error("The H265 codec has been selected, but your FFMPEG binary wasn't compiled with the --enable-libx265 flag.");
52
- log_1.Log.error('This does not work, please recompile your FFMPEG binary with --enable-gpl --enable-libx265 or choose a different codec.');
53
- }
54
- };
55
- exports.validateFfmpegCanUseCodec = validateFfmpegCanUseCodec;
56
- const getFinalCodec = (options) => {
57
- var _a;
58
- const { codec, reason } = (0, get_final_output_codec_1.getFinalOutputCodec)({
59
- cliFlag: parse_command_line_1.parsedCli.codec,
60
- configFile: (_a = config_1.ConfigInternals.getOutputCodecOrUndefined()) !== null && _a !== void 0 ? _a : null,
61
- downloadName: options.downloadName,
62
- outName: options.outName,
63
- });
64
- return { codec, reason };
65
- };
66
- exports.getFinalCodec = getFinalCodec;
67
23
  const getBrowser = () => { var _a; return (_a = config_1.ConfigInternals.getBrowser()) !== null && _a !== void 0 ? _a : renderer_1.RenderInternals.DEFAULT_BROWSER; };
68
24
  const getAndValidateAbsoluteOutputFile = (relativeOutputLocation, overwrite) => {
69
25
  const absoluteOutputFile = path_1.default.resolve(process.cwd(), relativeOutputLocation);
@@ -74,12 +30,8 @@ const getAndValidateAbsoluteOutputFile = (relativeOutputLocation, overwrite) =>
74
30
  return absoluteOutputFile;
75
31
  };
76
32
  exports.getAndValidateAbsoluteOutputFile = getAndValidateAbsoluteOutputFile;
77
- const getAndValidateShouldOutputImageSequence = async ({ frameRange, isLambda, remotionRoot, }) => {
33
+ const getAndValidateShouldOutputImageSequence = ({ frameRange, }) => {
78
34
  const shouldOutputImageSequence = config_1.ConfigInternals.getShouldOutputImageSequence(frameRange);
79
- // When parsing options locally, we don't need FFMPEG because the render will happen on Lambda
80
- if (!shouldOutputImageSequence && !isLambda) {
81
- await renderer_1.RenderInternals.validateFfmpeg(config_1.ConfigInternals.getCustomFfmpegExecutable(), remotionRoot, 'ffmpeg');
82
- }
83
35
  return shouldOutputImageSequence;
84
36
  };
85
37
  const getCrf = (shouldOutputImageSequence) => {
@@ -109,10 +61,8 @@ const getCliOptions = async (options) => {
109
61
  const frameRange = getAndValidateFrameRange();
110
62
  const shouldOutputImageSequence = options.type === 'still'
111
63
  ? true
112
- : await getAndValidateShouldOutputImageSequence({
64
+ : getAndValidateShouldOutputImageSequence({
113
65
  frameRange,
114
- isLambda: options.isLambda,
115
- remotionRoot: options.remotionRoot,
116
66
  });
117
67
  const overwrite = config_1.ConfigInternals.getShouldOverwrite({
118
68
  defaultValue: !options.isLambda,
@@ -122,8 +72,6 @@ const getCliOptions = async (options) => {
122
72
  const pixelFormat = config_1.ConfigInternals.getPixelFormat();
123
73
  const proResProfile = getProResProfile();
124
74
  const browserExecutable = config_1.ConfigInternals.getBrowserExecutable();
125
- const ffmpegExecutable = config_1.ConfigInternals.getCustomFfmpegExecutable();
126
- const ffprobeExecutable = config_1.ConfigInternals.getCustomFfprobeExecutable();
127
75
  const scale = config_1.ConfigInternals.getScale();
128
76
  const port = config_1.ConfigInternals.getServerPort();
129
77
  const chromiumOptions = {
@@ -144,9 +92,9 @@ const getCliOptions = async (options) => {
144
92
  concurrency,
145
93
  frameRange,
146
94
  shouldOutputImageSequence,
147
- inputProps: (0, get_input_props_1.getInputProps)(() => undefined),
148
- envVariables: await (0, get_env_1.getEnvironmentVariables)(() => undefined),
149
- quality: config_1.ConfigInternals.getQuality(),
95
+ inputProps: (0, get_input_props_1.getInputProps)(null),
96
+ envVariables: await (0, get_env_1.getEnvironmentVariables)(null),
97
+ jpegQuality: config_1.ConfigInternals.getJpegQuality(),
150
98
  browser: await getAndValidateBrowser(browserExecutable),
151
99
  crf,
152
100
  pixelFormat,
@@ -155,8 +103,6 @@ const getCliOptions = async (options) => {
155
103
  numberOfGifLoops,
156
104
  stillFrame: config_1.ConfigInternals.getStillFrame(),
157
105
  browserExecutable,
158
- ffmpegExecutable,
159
- ffprobeExecutable,
160
106
  logLevel: config_1.ConfigInternals.Logging.getLogLevel(),
161
107
  scale,
162
108
  chromiumOptions,
@@ -170,6 +116,7 @@ const getCliOptions = async (options) => {
170
116
  videoBitrate,
171
117
  height,
172
118
  width,
119
+ configFileImageFormat: config_1.ConfigInternals.getUserPreferredVideoImageFormat(),
173
120
  };
174
121
  };
175
122
  exports.getCliOptions = getCliOptions;
@@ -1,7 +1,11 @@
1
- import type { TCompMetadata } from 'remotion';
2
- export declare const getCompositionId: (validCompositions: TCompMetadata[], args: string[]) => Promise<{
1
+ import type { AnyCompMetadata } from 'remotion';
2
+ export declare const getCompositionId: ({ validCompositions, args, compositionIdFromUi, }: {
3
+ validCompositions: AnyCompMetadata[];
4
+ args: string[];
5
+ compositionIdFromUi: string | null;
6
+ }) => Promise<{
3
7
  compositionId: string;
4
8
  reason: string;
5
- config: TCompMetadata;
9
+ config: AnyCompMetadata;
6
10
  argsAfterComposition: string[];
7
11
  }>;
@@ -3,8 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCompositionId = void 0;
4
4
  const log_1 = require("./log");
5
5
  const select_composition_1 = require("./select-composition");
6
- const getCompositionId = async (validCompositions, args) => {
7
- const [compName, ...remainingArgs] = args;
6
+ const getCompName = ({ cliArgs, compositionIdFromUi, }) => {
7
+ if (compositionIdFromUi) {
8
+ return {
9
+ compName: compositionIdFromUi,
10
+ remainingArgs: [],
11
+ reason: 'via UI',
12
+ };
13
+ }
14
+ const [compName, ...remainingArgs] = cliArgs;
15
+ return { compName, remainingArgs, reason: 'Passed as argument' };
16
+ };
17
+ const getCompositionId = async ({ validCompositions, args, compositionIdFromUi, }) => {
18
+ const { compName, remainingArgs, reason: compReason, } = getCompName({
19
+ cliArgs: args,
20
+ compositionIdFromUi,
21
+ });
8
22
  if (compName) {
9
23
  const config = validCompositions.find((c) => c.id === compName);
10
24
  if (!config) {
@@ -14,7 +28,7 @@ const getCompositionId = async (validCompositions, args) => {
14
28
  }
15
29
  return {
16
30
  compositionId: compName,
17
- reason: 'Passed as argument',
31
+ reason: compReason,
18
32
  config,
19
33
  argsAfterComposition: remainingArgs,
20
34
  };
@@ -1,12 +1,13 @@
1
- import type { TCompMetadata } from 'remotion';
2
- export declare const getCompositionWithDimensionOverride: ({ validCompositions, height, width, args, }: {
3
- validCompositions: TCompMetadata[];
1
+ import type { AnyCompMetadata } from 'remotion';
2
+ export declare const getCompositionWithDimensionOverride: ({ validCompositions, height, width, args, compositionIdFromUi, }: {
3
+ validCompositions: AnyCompMetadata[];
4
4
  height: number | null;
5
5
  width: number | null;
6
6
  args: string[];
7
+ compositionIdFromUi: string | null;
7
8
  }) => Promise<{
8
9
  compositionId: string;
9
10
  reason: string;
10
- config: TCompMetadata;
11
+ config: AnyCompMetadata;
11
12
  argsAfterComposition: string[];
12
13
  }>;
@@ -2,8 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCompositionWithDimensionOverride = void 0;
4
4
  const get_composition_id_1 = require("./get-composition-id");
5
- const getCompositionWithDimensionOverride = async ({ validCompositions, height, width, args, }) => {
6
- const returnValue = await (0, get_composition_id_1.getCompositionId)(validCompositions, args);
5
+ const getCompositionWithDimensionOverride = async ({ validCompositions, height, width, args, compositionIdFromUi, }) => {
6
+ const returnValue = await (0, get_composition_id_1.getCompositionId)({
7
+ validCompositions,
8
+ args,
9
+ compositionIdFromUi,
10
+ });
7
11
  return {
8
12
  ...returnValue,
9
13
  config: {
@@ -1,3 +1 @@
1
- export declare const defaultConfigFileJavascript = "remotion.config.js";
2
- export declare const defaultConfigFileTypescript = "remotion.config.ts";
3
1
  export declare const loadConfig: (remotionRoot: string) => Promise<string | null>;
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadConfig = exports.defaultConfigFileTypescript = exports.defaultConfigFileJavascript = void 0;
6
+ exports.loadConfig = void 0;
7
7
  const fs_1 = require("fs");
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const load_config_1 = require("./load-config");
10
10
  const log_1 = require("./log");
11
11
  const parse_command_line_1 = require("./parse-command-line");
12
- exports.defaultConfigFileJavascript = 'remotion.config.js';
13
- exports.defaultConfigFileTypescript = 'remotion.config.ts';
12
+ const defaultConfigFileJavascript = 'remotion.config.js';
13
+ const defaultConfigFileTypescript = 'remotion.config.ts';
14
14
  const loadConfig = (remotionRoot) => {
15
15
  if (parse_command_line_1.parsedCli.config) {
16
16
  const fullPath = path_1.default.resolve(process.cwd(), parse_command_line_1.parsedCli.config);
@@ -23,11 +23,11 @@ const loadConfig = (remotionRoot) => {
23
23
  if (remotionRoot === null) {
24
24
  return Promise.resolve(null);
25
25
  }
26
- if ((0, fs_1.existsSync)(path_1.default.resolve(remotionRoot, exports.defaultConfigFileTypescript))) {
27
- return (0, load_config_1.loadConfigFile)(remotionRoot, exports.defaultConfigFileTypescript, false);
26
+ if ((0, fs_1.existsSync)(path_1.default.resolve(remotionRoot, defaultConfigFileTypescript))) {
27
+ return (0, load_config_1.loadConfigFile)(remotionRoot, defaultConfigFileTypescript, false);
28
28
  }
29
- if ((0, fs_1.existsSync)(path_1.default.resolve(remotionRoot, exports.defaultConfigFileJavascript))) {
30
- return (0, load_config_1.loadConfigFile)(remotionRoot, exports.defaultConfigFileJavascript, true);
29
+ if ((0, fs_1.existsSync)(path_1.default.resolve(remotionRoot, defaultConfigFileJavascript))) {
30
+ return (0, load_config_1.loadConfigFile)(remotionRoot, defaultConfigFileJavascript, true);
31
31
  }
32
32
  return Promise.resolve(null);
33
33
  };
@@ -0,0 +1,5 @@
1
+ export declare const getDefaultOutLocation: ({ compositionName, defaultExtension, type, }: {
2
+ compositionName: string;
3
+ defaultExtension: string;
4
+ type: 'asset' | 'sequence';
5
+ }) => string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultOutLocation = void 0;
4
+ const getDefaultOutLocation = ({ compositionName, defaultExtension, type, }) => {
5
+ if (type === 'sequence') {
6
+ return `out/${compositionName}`;
7
+ }
8
+ return `out/${compositionName}.${defaultExtension}`;
9
+ };
10
+ exports.getDefaultOutLocation = getDefaultOutLocation;
package/dist/get-env.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const getEnvironmentVariables: (onUpdate: (newProps: Record<string, string>) => void) => Promise<Record<string, string>>;
1
+ export declare const getEnvironmentVariables: (onUpdate: ((newProps: Record<string, string>) => void) | null) => Promise<Record<string, string>>;