remotion 2.3.0-alpha.8922e6c7 → 2.3.4

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 (163) hide show
  1. package/coverage/coverage-summary.json +12 -9
  2. package/dist/AbsoluteFill.d.ts.map +1 -1
  3. package/dist/AbsoluteFill.js +3 -3
  4. package/dist/AbsoluteFill.js.map +1 -1
  5. package/dist/Composition.js +11 -11
  6. package/dist/Composition.js.map +1 -1
  7. package/dist/CompositionManager.js +1 -1
  8. package/dist/CompositionManager.js.map +1 -1
  9. package/dist/IFrame.d.ts +1 -1
  10. package/dist/IFrame.d.ts.map +1 -1
  11. package/dist/IFrame.js +7 -7
  12. package/dist/IFrame.js.map +1 -1
  13. package/dist/Img.d.ts +1 -1
  14. package/dist/Img.d.ts.map +1 -1
  15. package/dist/Img.js +9 -9
  16. package/dist/Img.js.map +1 -1
  17. package/dist/RemotionRoot.d.ts.map +1 -1
  18. package/dist/RemotionRoot.js +29 -24
  19. package/dist/RemotionRoot.js.map +1 -1
  20. package/dist/Still.js +1 -1
  21. package/dist/Still.js.map +1 -1
  22. package/dist/audio/Audio.d.ts +3 -3
  23. package/dist/audio/Audio.d.ts.map +1 -1
  24. package/dist/audio/Audio.js +11 -9
  25. package/dist/audio/Audio.js.map +1 -1
  26. package/dist/audio/AudioForDevelopment.d.ts +6 -2
  27. package/dist/audio/AudioForDevelopment.d.ts.map +1 -1
  28. package/dist/audio/AudioForDevelopment.js +26 -12
  29. package/dist/audio/AudioForDevelopment.js.map +1 -1
  30. package/dist/audio/AudioForRendering.d.ts +1 -1
  31. package/dist/audio/AudioForRendering.js +15 -15
  32. package/dist/audio/AudioForRendering.js.map +1 -1
  33. package/dist/audio/shared-audio-tags.d.ts +32 -0
  34. package/dist/audio/shared-audio-tags.d.ts.map +1 -0
  35. package/dist/audio/shared-audio-tags.js +147 -0
  36. package/dist/audio/shared-audio-tags.js.map +1 -0
  37. package/dist/audio/use-audio-frame.js +3 -3
  38. package/dist/audio/use-audio-frame.js.map +1 -1
  39. package/dist/config/browser-executable.d.ts +1 -1
  40. package/dist/config/browser-executable.d.ts.map +1 -1
  41. package/dist/config/browser.d.ts +1 -1
  42. package/dist/config/browser.d.ts.map +1 -1
  43. package/dist/config/concurrency.d.ts +1 -1
  44. package/dist/config/concurrency.d.ts.map +1 -1
  45. package/dist/config/crf.d.ts +1 -1
  46. package/dist/config/crf.d.ts.map +1 -1
  47. package/dist/config/crf.js +5 -5
  48. package/dist/config/crf.js.map +1 -1
  49. package/dist/config/frame-range.d.ts +1 -1
  50. package/dist/config/frame-range.d.ts.map +1 -1
  51. package/dist/config/frame-range.js +4 -4
  52. package/dist/config/frame-range.js.map +1 -1
  53. package/dist/config/frames-per-lambda.d.ts +3 -0
  54. package/dist/config/frames-per-lambda.d.ts.map +1 -0
  55. package/dist/config/frames-per-lambda.js +13 -0
  56. package/dist/config/frames-per-lambda.js.map +1 -0
  57. package/dist/config/image-format.d.ts +1 -1
  58. package/dist/config/index.d.ts +5 -5
  59. package/dist/config/input-props.js +2 -2
  60. package/dist/config/input-props.js.map +1 -1
  61. package/dist/config/override-webpack.d.ts.map +1 -1
  62. package/dist/config/override-webpack.js +1 -1
  63. package/dist/config/override-webpack.js.map +1 -1
  64. package/dist/config/pixel-format.js +1 -1
  65. package/dist/config/quality.js +1 -1
  66. package/dist/config/quality.js.map +1 -1
  67. package/dist/config/still-frame.js +1 -1
  68. package/dist/config/still-frame.js.map +1 -1
  69. package/dist/easing.js +1 -1
  70. package/dist/easing.js.map +1 -1
  71. package/dist/freeze.js +3 -3
  72. package/dist/freeze.js.map +1 -1
  73. package/dist/get-asset-file-name.js +1 -1
  74. package/dist/get-asset-file-name.js.map +1 -1
  75. package/dist/get-timeline-clip-name.js +3 -3
  76. package/dist/get-timeline-clip-name.js.map +1 -1
  77. package/dist/index.d.ts +1 -0
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +4 -2
  80. package/dist/index.js.map +1 -1
  81. package/dist/internals.d.ts +27 -14
  82. package/dist/internals.d.ts.map +1 -1
  83. package/dist/internals.js +3 -0
  84. package/dist/internals.js.map +1 -1
  85. package/dist/interpolate.js.map +1 -1
  86. package/dist/interpolateColors.js +3 -3
  87. package/dist/interpolateColors.js.map +1 -1
  88. package/dist/nonce.js +4 -4
  89. package/dist/nonce.js.map +1 -1
  90. package/dist/perf/index.js +1 -1
  91. package/dist/perf/index.js.map +1 -1
  92. package/dist/ready-manager.js +2 -2
  93. package/dist/ready-manager.js.map +1 -1
  94. package/dist/register-root.js +3 -3
  95. package/dist/register-root.js.map +1 -1
  96. package/dist/sequencing/index.d.ts +3 -2
  97. package/dist/sequencing/index.d.ts.map +1 -1
  98. package/dist/sequencing/index.js +13 -13
  99. package/dist/sequencing/index.js.map +1 -1
  100. package/dist/series/flatten-children.d.ts +3 -0
  101. package/dist/series/flatten-children.d.ts.map +1 -0
  102. package/dist/series/flatten-children.js +19 -0
  103. package/dist/series/flatten-children.js.map +1 -0
  104. package/dist/series/index.d.ts +12 -0
  105. package/dist/series/index.d.ts.map +1 -0
  106. package/dist/series/index.js +56 -0
  107. package/dist/series/index.js.map +1 -0
  108. package/dist/setup-env-variables.js +2 -2
  109. package/dist/setup-env-variables.js.map +1 -1
  110. package/dist/spring/index.js +1 -1
  111. package/dist/spring/index.js.map +1 -1
  112. package/dist/spring/measure-spring.js +2 -2
  113. package/dist/spring/measure-spring.js.map +1 -1
  114. package/dist/timeline-position-state.js +6 -6
  115. package/dist/timeline-position-state.js.map +1 -1
  116. package/dist/use-frame.js +3 -3
  117. package/dist/use-frame.js.map +1 -1
  118. package/dist/use-lazy-component.js +1 -1
  119. package/dist/use-lazy-component.js.map +1 -1
  120. package/dist/use-media-in-timeline.js +11 -11
  121. package/dist/use-media-in-timeline.js.map +1 -1
  122. package/dist/use-media-playback.d.ts.map +1 -1
  123. package/dist/use-media-playback.js +33 -15
  124. package/dist/use-media-playback.js.map +1 -1
  125. package/dist/use-media-tag-volume.js +3 -3
  126. package/dist/use-media-tag-volume.js.map +1 -1
  127. package/dist/use-sync-volume-with-media-tag.js +3 -3
  128. package/dist/use-sync-volume-with-media-tag.js.map +1 -1
  129. package/dist/use-unsafe-video-config.js +3 -3
  130. package/dist/use-unsafe-video-config.js.map +1 -1
  131. package/dist/use-video-config.js +1 -1
  132. package/dist/use-video-config.js.map +1 -1
  133. package/dist/use-video.js +2 -2
  134. package/dist/use-video.js.map +1 -1
  135. package/dist/validation/validate-composition-id.d.ts +4 -0
  136. package/dist/validation/validate-composition-id.d.ts.map +1 -0
  137. package/dist/validation/validate-composition-id.js +14 -0
  138. package/dist/validation/validate-composition-id.js.map +1 -0
  139. package/dist/video/Video.d.ts +3 -3
  140. package/dist/video/Video.d.ts.map +1 -1
  141. package/dist/video/Video.js +7 -7
  142. package/dist/video/Video.js.map +1 -1
  143. package/dist/video/VideoForDevelopment.d.ts +1 -1
  144. package/dist/video/VideoForDevelopment.js +11 -11
  145. package/dist/video/VideoForDevelopment.js.map +1 -1
  146. package/dist/video/VideoForRendering.d.ts +1 -1
  147. package/dist/video/VideoForRendering.js +27 -27
  148. package/dist/video/VideoForRendering.js.map +1 -1
  149. package/dist/video/get-current-time.js +1 -1
  150. package/dist/video/get-current-time.js.map +1 -1
  151. package/dist/volume-position-state.js +8 -8
  152. package/dist/volume-position-state.js.map +1 -1
  153. package/dist/wrap-remotion-context.js +2 -2
  154. package/dist/wrap-remotion-context.js.map +1 -1
  155. package/package.json +3 -3
  156. package/dist/component-type.d.ts +0 -1
  157. package/dist/component-type.d.ts.map +0 -1
  158. package/dist/component-type.js +0 -2
  159. package/dist/component-type.js.map +0 -1
  160. package/dist/setup-environment.d.ts +0 -6
  161. package/dist/setup-environment.d.ts.map +0 -1
  162. package/dist/setup-environment.js +0 -47
  163. package/dist/setup-environment.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { RemotionMainAudioProps } from './props';
3
- export declare const Audio: React.ForwardRefExoticComponent<Pick<Pick<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "id" | "style" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "ref" | "key" | "src" | "crossOrigin" | "playsInline" | "controlsList" | "mediaGroup" | "muted" | "preload"> & {
4
- volume?: number | ((frame: number) => number) | undefined;
3
+ export declare const Audio: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "autoPlay" | "controls" | "loop"> & {
4
+ volume?: import("../volume-prop").VolumeProp | undefined;
5
5
  playbackRate?: number | undefined;
6
- } & RemotionMainAudioProps, "id" | "style" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "src" | "crossOrigin" | "volume" | "playsInline" | "controlsList" | "mediaGroup" | "muted" | "preload" | "playbackRate" | "startFrom" | "endAt"> & React.RefAttributes<HTMLAudioElement>>;
6
+ } & RemotionMainAudioProps, "style" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "volume" | "src" | "key" | "controlsList" | "crossOrigin" | "mediaGroup" | "muted" | "playsInline" | "preload" | "playbackRate" | keyof RemotionMainAudioProps> & React.RefAttributes<HTMLAudioElement>>;
7
7
  //# sourceMappingURL=Audio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../src/audio/Audio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAOrD,OAAO,EAAqB,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAsCnE,eAAO,MAAM,KAAK;;;4sJAAyC,CAAC"}
1
+ {"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../src/audio/Audio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAOjE,OAAO,EAAqB,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAsDnE,eAAO,MAAM,KAAK;;;mtJAAyC,CAAC"}
@@ -9,22 +9,24 @@ const validate_media_props_1 = require("../validate-media-props");
9
9
  const validate_start_from_props_1 = require("../validate-start-from-props");
10
10
  const AudioForDevelopment_1 = require("./AudioForDevelopment");
11
11
  const AudioForRendering_1 = require("./AudioForRendering");
12
+ const shared_audio_tags_1 = require("./shared-audio-tags");
12
13
  const AudioRefForwardingFunction = (props, ref) => {
14
+ const audioContext = (0, react_1.useContext)(shared_audio_tags_1.SharedAudioContext);
13
15
  const { startFrom, endAt, ...otherProps } = props;
14
- const onError = react_1.useCallback(() => {
15
- throw new Error(`Could not play video with src ${otherProps.src}`);
16
+ const onError = (0, react_1.useCallback)((e) => {
17
+ throw new Error(`Could not play audio with src ${otherProps.src}: ${e.currentTarget.error}`);
16
18
  }, [otherProps.src]);
17
19
  if (typeof startFrom !== 'undefined' || typeof endAt !== 'undefined') {
18
- validate_start_from_props_1.validateStartFromProps(startFrom, endAt);
20
+ (0, validate_start_from_props_1.validateStartFromProps)(startFrom, endAt);
19
21
  const startFromFrameNo = startFrom !== null && startFrom !== void 0 ? startFrom : 0;
20
22
  const endAtFrameNo = endAt !== null && endAt !== void 0 ? endAt : Infinity;
21
- return (jsx_runtime_1.jsx(sequencing_1.Sequence, Object.assign({ layout: "none", from: 0 - startFromFrameNo, showInTimeline: false, durationInFrames: endAtFrameNo }, { children: jsx_runtime_1.jsx(exports.Audio, Object.assign({}, otherProps, { ref: ref }), void 0) }), void 0));
23
+ return ((0, jsx_runtime_1.jsx)(sequencing_1.Sequence, Object.assign({ layout: "none", from: 0 - startFromFrameNo, showInTimeline: false, durationInFrames: endAtFrameNo }, { children: (0, jsx_runtime_1.jsx)(exports.Audio, Object.assign({}, otherProps, { ref: ref }), void 0) }), void 0));
22
24
  }
23
- validate_media_props_1.validateMediaProps(props, 'Audio');
24
- if (get_environment_1.getRemotionEnvironment() === 'rendering') {
25
- return jsx_runtime_1.jsx(AudioForRendering_1.AudioForRendering, Object.assign({}, props, { ref: ref, onError: onError }), void 0);
25
+ (0, validate_media_props_1.validateMediaProps)(props, 'Audio');
26
+ if ((0, get_environment_1.getRemotionEnvironment)() === 'rendering') {
27
+ return (0, jsx_runtime_1.jsx)(AudioForRendering_1.AudioForRendering, Object.assign({}, props, { ref: ref, onError: onError }), void 0);
26
28
  }
27
- return jsx_runtime_1.jsx(AudioForDevelopment_1.AudioForDevelopment, Object.assign({}, props, { ref: ref, onError: onError }), void 0);
29
+ return ((0, jsx_runtime_1.jsx)(AudioForDevelopment_1.AudioForDevelopment, Object.assign({ shouldPreMountAudioTags: audioContext !== null && audioContext.numberOfAudioTags > 0 }, props, { ref: ref, onError: onError }), void 0));
28
30
  };
29
- exports.Audio = react_1.forwardRef(AudioRefForwardingFunction);
31
+ exports.Audio = (0, react_1.forwardRef)(AudioRefForwardingFunction);
30
32
  //# sourceMappingURL=Audio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Audio.js","sourceRoot":"","sources":["../../src/audio/Audio.tsx"],"names":[],"mappings":";;;;AAAA,iCAAqD;AACrD,wDAA0D;AAC1D,8CAAuC;AACvC,kEAA2D;AAC3D,4EAAoE;AACpE,+DAA0D;AAC1D,2DAAsD;AAGtD,MAAM,0BAA0B,GAG5B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClB,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAC;IAEhD,MAAM,OAAO,GAAG,mBAAW,CAAC,GAAG,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAErB,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACrE,kDAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEzC,MAAM,gBAAgB,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,QAAQ,CAAC;QACvC,OAAO,CACN,kBAAC,qBAAQ,kBACR,MAAM,EAAC,MAAM,EACb,IAAI,EAAE,CAAC,GAAG,gBAAgB,EAC1B,cAAc,EAAE,KAAK,EACrB,gBAAgB,EAAE,YAAY,gBAE9B,kBAAC,aAAK,oBAAK,UAAU,IAAE,GAAG,EAAE,GAAG,YAAI,YACzB,CACX,CAAC;KACF;IAED,yCAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEnC,IAAI,wCAAsB,EAAE,KAAK,WAAW,EAAE;QAC7C,OAAO,kBAAC,qCAAiB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,YAAI,CAAC;KACpE;IAED,OAAO,kBAAC,yCAAmB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,YAAI,CAAC;AACvE,CAAC,CAAC;AAEW,QAAA,KAAK,GAAG,kBAAU,CAAC,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"Audio.js","sourceRoot":"","sources":["../../src/audio/Audio.tsx"],"names":[],"mappings":";;;;AAAA,iCAAiE;AACjE,wDAA0D;AAC1D,8CAAuC;AACvC,kEAA2D;AAC3D,4EAAoE;AACpE,+DAA0D;AAC1D,2DAAsD;AAEtD,2DAAuD;AAEvD,MAAM,0BAA0B,GAG5B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClB,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,sCAAkB,CAAC,CAAC;IACpD,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAC;IAEhD,MAAM,OAAO,GAA8C,IAAA,mBAAW,EACrE,CAAC,CAAC,EAAE,EAAE;QACL,MAAM,IAAI,KAAK,CACd,iCAAiC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAC3E,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,GAAG,CAAC,CAChB,CAAC;IAEF,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACrE,IAAA,kDAAsB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEzC,MAAM,gBAAgB,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,QAAQ,CAAC;QACvC,OAAO,CACN,uBAAC,qBAAQ,kBACR,MAAM,EAAC,MAAM,EACb,IAAI,EAAE,CAAC,GAAG,gBAAgB,EAC1B,cAAc,EAAE,KAAK,EACrB,gBAAgB,EAAE,YAAY,gBAE9B,uBAAC,aAAK,oBAAK,UAAU,IAAE,GAAG,EAAE,GAAG,YAAI,YACzB,CACX,CAAC;KACF;IAED,IAAA,yCAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEnC,IAAI,IAAA,wCAAsB,GAAE,KAAK,WAAW,EAAE;QAC7C,OAAO,uBAAC,qCAAiB,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,YAAI,CAAC;KACpE;IAED,OAAO,CACN,uBAAC,yCAAmB,kBACnB,uBAAuB,EACtB,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,iBAAiB,GAAG,CAAC,IAExD,KAAK,IACT,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,YACf,CACF,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,KAAK,GAAG,IAAA,kBAAU,EAAC,0BAA0B,CAAC,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
- import { RemotionAudioProps } from './props';
3
- export declare const AudioForDevelopment: React.ForwardRefExoticComponent<Pick<RemotionAudioProps, "id" | "style" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "src" | "crossOrigin" | "volume" | "playsInline" | "controlsList" | "mediaGroup" | "muted" | "preload" | "playbackRate"> & React.RefAttributes<HTMLAudioElement>>;
2
+ export declare const AudioForDevelopment: React.ForwardRefExoticComponent<Pick<Omit<React.DetailedHTMLProps<React.AudioHTMLAttributes<HTMLAudioElement>, HTMLAudioElement>, "autoPlay" | "controls" | "loop"> & {
3
+ volume?: import("../volume-prop").VolumeProp | undefined;
4
+ playbackRate?: number | undefined;
5
+ } & {
6
+ shouldPreMountAudioTags: boolean;
7
+ }, "style" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "volume" | "src" | "key" | "controlsList" | "crossOrigin" | "mediaGroup" | "muted" | "playsInline" | "preload" | "playbackRate" | "shouldPreMountAudioTags"> & React.RefAttributes<HTMLAudioElement>>;
4
8
  //# sourceMappingURL=AudioForDevelopment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioForDevelopment.d.ts","sourceRoot":"","sources":["../../src/audio/AudioForDevelopment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AASrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AA+C3C,eAAO,MAAM,mBAAmB,mtJAE/B,CAAC"}
1
+ {"version":3,"file":"AudioForDevelopment.d.ts","sourceRoot":"","sources":["../../src/audio/AudioForDevelopment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAsFhF,eAAO,MAAM,mBAAmB;;;;6BAtEL,OAAO;urJAwEjC,CAAC"}
@@ -8,38 +8,52 @@ const use_media_playback_1 = require("../use-media-playback");
8
8
  const use_media_tag_volume_1 = require("../use-media-tag-volume");
9
9
  const use_sync_volume_with_media_tag_1 = require("../use-sync-volume-with-media-tag");
10
10
  const volume_position_state_1 = require("../volume-position-state");
11
+ const shared_audio_tags_1 = require("./shared-audio-tags");
11
12
  const use_audio_frame_1 = require("./use-audio-frame");
12
13
  const AudioForDevelopmentForwardRefFunction = (props, ref) => {
13
- const audioRef = react_1.useRef(null);
14
- const [mediaVolume] = volume_position_state_1.useMediaVolumeState();
15
- const [mediaMuted] = volume_position_state_1.useMediaMutedState();
16
- const volumePropFrame = use_audio_frame_1.useFrameForVolumeProp();
17
- const { volume, muted, playbackRate, ...nativeProps } = props;
18
- const actualVolume = use_media_tag_volume_1.useMediaTagVolume(audioRef);
19
- use_sync_volume_with_media_tag_1.useSyncVolumeWithMediaTag({
14
+ const [initialShouldPreMountAudioElements] = (0, react_1.useState)(props.shouldPreMountAudioTags);
15
+ if (props.shouldPreMountAudioTags !== initialShouldPreMountAudioElements) {
16
+ throw new Error('Cannot change the behavior for pre-mounting audio tags dynamically.');
17
+ }
18
+ const [mediaVolume] = (0, volume_position_state_1.useMediaVolumeState)();
19
+ const [mediaMuted] = (0, volume_position_state_1.useMediaMutedState)();
20
+ const volumePropFrame = (0, use_audio_frame_1.useFrameForVolumeProp)();
21
+ const { volume, muted, playbackRate, shouldPreMountAudioTags, ...nativeProps } = props;
22
+ const propsToPass = (0, react_1.useMemo)(() => {
23
+ return {
24
+ muted: muted || mediaMuted,
25
+ ...nativeProps,
26
+ };
27
+ }, [mediaMuted, muted, nativeProps]);
28
+ const audioRef = (0, shared_audio_tags_1.useSharedAudio)(propsToPass).el;
29
+ const actualVolume = (0, use_media_tag_volume_1.useMediaTagVolume)(audioRef);
30
+ (0, use_sync_volume_with_media_tag_1.useSyncVolumeWithMediaTag)({
20
31
  volumePropFrame,
21
32
  actualVolume,
22
33
  volume,
23
34
  mediaVolume,
24
35
  mediaRef: audioRef,
25
36
  });
26
- use_media_in_timeline_1.useMediaInTimeline({
37
+ (0, use_media_in_timeline_1.useMediaInTimeline)({
27
38
  volume,
28
39
  mediaVolume,
29
40
  mediaRef: audioRef,
30
41
  src: nativeProps.src,
31
42
  mediaType: 'audio',
32
43
  });
33
- use_media_playback_1.useMediaPlayback({
44
+ (0, use_media_playback_1.useMediaPlayback)({
34
45
  mediaRef: audioRef,
35
46
  src: nativeProps.src,
36
47
  mediaType: 'audio',
37
48
  playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1,
38
49
  });
39
- react_1.useImperativeHandle(ref, () => {
50
+ (0, react_1.useImperativeHandle)(ref, () => {
40
51
  return audioRef.current;
41
52
  });
42
- return jsx_runtime_1.jsx("audio", Object.assign({ ref: audioRef, muted: muted || mediaMuted }, nativeProps), void 0);
53
+ if (initialShouldPreMountAudioElements) {
54
+ return null;
55
+ }
56
+ return (0, jsx_runtime_1.jsx)("audio", Object.assign({ ref: audioRef }, propsToPass), void 0);
43
57
  };
44
- exports.AudioForDevelopment = react_1.forwardRef(AudioForDevelopmentForwardRefFunction);
58
+ exports.AudioForDevelopment = (0, react_1.forwardRef)(AudioForDevelopmentForwardRefFunction);
45
59
  //# sourceMappingURL=AudioForDevelopment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioForDevelopment.js","sourceRoot":"","sources":["../../src/audio/AudioForDevelopment.tsx"],"names":[],"mappings":";;;;AAAA,iCAAqE;AACrE,oEAA4D;AAC5D,8DAAuD;AACvD,kEAA0D;AAC1D,sFAA4E;AAC5E,oEAGkC;AAElC,uDAAwD;AAExD,MAAM,qCAAqC,GAGvC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClB,MAAM,QAAQ,GAAG,cAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,CAAC,GAAG,2CAAmB,EAAE,CAAC;IAC5C,MAAM,CAAC,UAAU,CAAC,GAAG,0CAAkB,EAAE,CAAC;IAE1C,MAAM,eAAe,GAAG,uCAAqB,EAAE,CAAC;IAEhD,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,WAAW,EAAC,GAAG,KAAK,CAAC;IAE5D,MAAM,YAAY,GAAG,wCAAiB,CAAC,QAAQ,CAAC,CAAC;IAEjD,0DAAyB,CAAC;QACzB,eAAe;QACf,YAAY;QACZ,MAAM;QACN,WAAW;QACX,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,0CAAkB,CAAC;QAClB,MAAM;QACN,WAAW;QACX,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,SAAS,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,qCAAgB,CAAC;QAChB,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC;KAC/B,CAAC,CAAC;IAEH,2BAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC7B,OAAO,QAAQ,CAAC,OAA2B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,2CAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,UAAU,IAAM,WAAW,UAAI,CAAC;AAC9E,CAAC,CAAC;AAEW,QAAA,mBAAmB,GAAG,kBAAU,CAC5C,qCAAqC,CACrC,CAAC"}
1
+ {"version":3,"file":"AudioForDevelopment.js","sourceRoot":"","sources":["../../src/audio/AudioForDevelopment.tsx"],"names":[],"mappings":";;;;AAAA,iCAAgF;AAChF,oEAA4D;AAC5D,8DAAuD;AACvD,kEAA0D;AAC1D,sFAA4E;AAC5E,oEAGkC;AAElC,2DAAmD;AACnD,uDAAwD;AAExD,MAAM,qCAAqC,GAKvC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClB,MAAM,CAAC,kCAAkC,CAAC,GAAG,IAAA,gBAAQ,EACpD,KAAK,CAAC,uBAAuB,CAC7B,CAAC;IACF,IAAI,KAAK,CAAC,uBAAuB,KAAK,kCAAkC,EAAE;QACzE,MAAM,IAAI,KAAK,CACd,qEAAqE,CACrE,CAAC;KACF;IAED,MAAM,CAAC,WAAW,CAAC,GAAG,IAAA,2CAAmB,GAAE,CAAC;IAC5C,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,0CAAkB,GAAE,CAAC;IAE1C,MAAM,eAAe,GAAG,IAAA,uCAAqB,GAAE,CAAC;IAEhD,MAAM,EACL,MAAM,EACN,KAAK,EACL,YAAY,EACZ,uBAAuB,EACvB,GAAG,WAAW,EACd,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAuB,EAAE;QACpD,OAAO;YACN,KAAK,EAAE,KAAK,IAAI,UAAU;YAC1B,GAAG,WAAW;SACd,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,IAAA,kCAAc,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAG,IAAA,wCAAiB,EAAC,QAAQ,CAAC,CAAC;IAEjD,IAAA,0DAAyB,EAAC;QACzB,eAAe;QACf,YAAY;QACZ,MAAM;QACN,WAAW;QACX,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,IAAA,0CAAkB,EAAC;QAClB,MAAM;QACN,WAAW;QACX,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,SAAS,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,qCAAgB,EAAC;QAChB,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC;KAC/B,CAAC,CAAC;IAEH,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE;QAC7B,OAAO,QAAQ,CAAC,OAA2B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,kCAAkC,EAAE;QACvC,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,gDAAO,GAAG,EAAE,QAAQ,IAAM,WAAW,UAAI,CAAC;AAClD,CAAC,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAA,kBAAU,EAC5C,qCAAqC,CACrC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { RemotionAudioProps } from './props';
3
- export declare const AudioForRendering: React.ForwardRefExoticComponent<Pick<RemotionAudioProps, "id" | "children" | "volume" | "src" | "slot" | "style" | "title" | "key" | "controlsList" | "crossOrigin" | "mediaGroup" | "muted" | "playsInline" | "preload" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "playbackRate"> & React.RefAttributes<HTMLAudioElement>>;
3
+ export declare const AudioForRendering: React.ForwardRefExoticComponent<Pick<RemotionAudioProps, "style" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "volume" | "src" | "key" | "controlsList" | "crossOrigin" | "mediaGroup" | "muted" | "playsInline" | "preload" | "playbackRate"> & React.RefAttributes<HTMLAudioElement>>;
4
4
  //# sourceMappingURL=AudioForRendering.d.ts.map
@@ -12,28 +12,28 @@ const use_frame_1 = require("../use-frame");
12
12
  const volume_prop_1 = require("../volume-prop");
13
13
  const use_audio_frame_1 = require("./use-audio-frame");
14
14
  const AudioForRenderingRefForwardingFunction = (props, ref) => {
15
- const audioRef = react_1.useRef(null);
16
- const absoluteFrame = use_frame_1.useAbsoluteCurrentFrame();
17
- const volumePropFrame = use_audio_frame_1.useFrameForVolumeProp();
18
- const frame = use_frame_1.useCurrentFrame();
19
- const sequenceContext = react_1.useContext(sequencing_1.SequenceContext);
20
- const { registerAsset, unregisterAsset } = react_1.useContext(CompositionManager_1.CompositionManager);
15
+ const audioRef = (0, react_1.useRef)(null);
16
+ const absoluteFrame = (0, use_frame_1.useAbsoluteCurrentFrame)();
17
+ const volumePropFrame = (0, use_audio_frame_1.useFrameForVolumeProp)();
18
+ const frame = (0, use_frame_1.useCurrentFrame)();
19
+ const sequenceContext = (0, react_1.useContext)(sequencing_1.SequenceContext);
20
+ const { registerAsset, unregisterAsset } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
21
21
  // Generate a string that's as unique as possible for this asset
22
22
  // but at the same time the same on all threads
23
- const id = react_1.useMemo(() => {
23
+ const id = (0, react_1.useMemo)(() => {
24
24
  var _a;
25
- return `audio-${random_1.random((_a = props.src) !== null && _a !== void 0 ? _a : '')}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.cumulatedFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames}-muted:${props.muted}`;
25
+ return `audio-${(0, random_1.random)((_a = props.src) !== null && _a !== void 0 ? _a : '')}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.relativeFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.cumulatedFrom}-${sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.durationInFrames}-muted:${props.muted}`;
26
26
  }, [props.muted, props.src, sequenceContext]);
27
27
  const { volume: volumeProp, playbackRate, ...nativeProps } = props;
28
- const volume = volume_prop_1.evaluateVolume({
28
+ const volume = (0, volume_prop_1.evaluateVolume)({
29
29
  volume: volumeProp,
30
30
  frame: volumePropFrame,
31
31
  mediaVolume: 1,
32
32
  });
33
- react_1.useImperativeHandle(ref, () => {
33
+ (0, react_1.useImperativeHandle)(ref, () => {
34
34
  return audioRef.current;
35
35
  });
36
- react_1.useEffect(() => {
36
+ (0, react_1.useEffect)(() => {
37
37
  var _a;
38
38
  if (!props.src) {
39
39
  throw new Error('No src passed');
@@ -43,11 +43,11 @@ const AudioForRenderingRefForwardingFunction = (props, ref) => {
43
43
  }
44
44
  registerAsset({
45
45
  type: 'audio',
46
- src: absolute_src_1.getAbsoluteSrc(props.src),
46
+ src: (0, absolute_src_1.getAbsoluteSrc)(props.src),
47
47
  id,
48
48
  frame: absoluteFrame,
49
49
  volume,
50
- isRemote: is_remote_asset_1.isRemoteAsset(absolute_src_1.getAbsoluteSrc(props.src)),
50
+ isRemote: (0, is_remote_asset_1.isRemoteAsset)((0, absolute_src_1.getAbsoluteSrc)(props.src)),
51
51
  mediaFrame: frame,
52
52
  playbackRate: (_a = props.playbackRate) !== null && _a !== void 0 ? _a : 1,
53
53
  });
@@ -65,7 +65,7 @@ const AudioForRenderingRefForwardingFunction = (props, ref) => {
65
65
  playbackRate,
66
66
  props.playbackRate,
67
67
  ]);
68
- return jsx_runtime_1.jsx("audio", Object.assign({ ref: audioRef }, nativeProps), void 0);
68
+ return (0, jsx_runtime_1.jsx)("audio", Object.assign({ ref: audioRef }, nativeProps), void 0);
69
69
  };
70
- exports.AudioForRendering = react_1.forwardRef(AudioForRenderingRefForwardingFunction);
70
+ exports.AudioForRendering = (0, react_1.forwardRef)(AudioForRenderingRefForwardingFunction);
71
71
  //# sourceMappingURL=AudioForRendering.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioForRendering.js","sourceRoot":"","sources":["../../src/audio/AudioForRendering.tsx"],"names":[],"mappings":";;;;AAAA,iCAOe;AACf,kDAA+C;AAC/C,8DAAyD;AACzD,wDAAiD;AACjD,sCAAiC;AACjC,8CAA8C;AAC9C,4CAAsE;AACtE,gDAA8C;AAE9C,uDAAwD;AAExD,MAAM,sCAAsC,GAGxC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClB,MAAM,QAAQ,GAAG,cAAM,CAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,mCAAuB,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,uCAAqB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,2BAAe,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,kBAAU,CAAC,4BAAe,CAAC,CAAC;IACpD,MAAM,EAAC,aAAa,EAAE,eAAe,EAAC,GAAG,kBAAU,CAAC,uCAAkB,CAAC,CAAC;IAExE,gEAAgE;IAChE,+CAA+C;IAC/C,MAAM,EAAE,GAAG,eAAO,CACjB,GAAG,EAAE;;QACJ,OAAA,SAAS,eAAM,OAAC,KAAK,CAAC,GAAG,mCAAI,EAAE,CAAC,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,IAChE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAClB,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,gBAAgB,UAAU,KAAK,CAAC,KAAK,EAAE,CAAA;KAAA,EAC7D,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CACzC,CAAC;IAEF,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,EAAC,GAAG,KAAK,CAAC;IAEjE,MAAM,MAAM,GAAG,4BAAc,CAAC;QAC7B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,CAAC;KACd,CAAC,CAAC;IAEH,2BAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC7B,OAAO,QAAQ,CAAC,OAA2B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,iBAAS,CAAC,GAAG,EAAE;;QACd,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SACjC;QAED,IAAI,KAAK,CAAC,KAAK,EAAE;YAChB,OAAO;SACP;QAED,aAAa,CAAC;YACb,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,6BAAc,CAAC,KAAK,CAAC,GAAG,CAAC;YAC9B,EAAE;YACF,KAAK,EAAE,aAAa;YACpB,MAAM;YACN,QAAQ,EAAE,+BAAa,CAAC,6BAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,UAAU,EAAE,KAAK;YACjB,YAAY,QAAE,KAAK,CAAC,YAAY,mCAAI,CAAC;SACrC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,EAAE;QACF,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,GAAG;QACT,aAAa;QACb,aAAa;QACb,EAAE;QACF,eAAe;QACf,MAAM;QACN,eAAe;QACf,KAAK;QACL,YAAY;QACZ,KAAK,CAAC,YAAY;KAClB,CAAC,CAAC;IAEH,OAAO,2CAAO,GAAG,EAAE,QAAQ,IAAM,WAAW,UAAI,CAAC;AAClD,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,kBAAU,CAC1C,sCAAsC,CACtC,CAAC"}
1
+ {"version":3,"file":"AudioForRendering.js","sourceRoot":"","sources":["../../src/audio/AudioForRendering.tsx"],"names":[],"mappings":";;;;AAAA,iCAOe;AACf,kDAA+C;AAC/C,8DAAyD;AACzD,wDAAiD;AACjD,sCAAiC;AACjC,8CAA8C;AAC9C,4CAAsE;AACtE,gDAA8C;AAE9C,uDAAwD;AAExD,MAAM,sCAAsC,GAGxC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAClB,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,IAAA,mCAAuB,GAAE,CAAC;IAChD,MAAM,eAAe,GAAG,IAAA,uCAAqB,GAAE,CAAC;IAChD,MAAM,KAAK,GAAG,IAAA,2BAAe,GAAE,CAAC;IAChC,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,4BAAe,CAAC,CAAC;IACpD,MAAM,EAAC,aAAa,EAAE,eAAe,EAAC,GAAG,IAAA,kBAAU,EAAC,uCAAkB,CAAC,CAAC;IAExE,gEAAgE;IAChE,+CAA+C;IAC/C,MAAM,EAAE,GAAG,IAAA,eAAO,EACjB,GAAG,EAAE;;QACJ,OAAA,SAAS,IAAA,eAAM,EAAC,MAAA,KAAK,CAAC,GAAG,mCAAI,EAAE,CAAC,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,IAChE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAClB,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,gBAAgB,UAAU,KAAK,CAAC,KAAK,EAAE,CAAA;KAAA,EAC7D,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CACzC,CAAC;IAEF,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,EAAC,GAAG,KAAK,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC;QAC7B,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,CAAC;KACd,CAAC,CAAC;IAEH,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE;QAC7B,OAAO,QAAQ,CAAC,OAA2B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACd,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SACjC;QAED,IAAI,KAAK,CAAC,KAAK,EAAE;YAChB,OAAO;SACP;QAED,aAAa,CAAC;YACb,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,IAAA,6BAAc,EAAC,KAAK,CAAC,GAAG,CAAC;YAC9B,EAAE;YACF,KAAK,EAAE,aAAa;YACpB,MAAM;YACN,QAAQ,EAAE,IAAA,+BAAa,EAAC,IAAA,6BAAc,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,CAAC;SACrC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,EAAE;QACF,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,GAAG;QACT,aAAa;QACb,aAAa;QACb,EAAE;QACF,eAAe;QACf,MAAM;QACN,eAAe;QACf,KAAK;QACL,YAAY;QACZ,KAAK,CAAC,YAAY;KAClB,CAAC,CAAC;IAEH,OAAO,gDAAO,GAAG,EAAE,QAAQ,IAAM,WAAW,UAAI,CAAC;AAClD,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAAG,IAAA,kBAAU,EAC1C,sCAAsC,CACtC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { RemotionAudioProps } from './props';
3
+ /**
4
+ * This functionality of Remotion will keep a certain amount
5
+ * of <audio> tags pre-mounted and by default filled with an empty audio track.
6
+ * If the user interacts, the empty audio will be played.
7
+ * If one of Remotions <Audio /> tags get mounted, the audio will not be rendered at this location, but into one of the prerendered audio tags.
8
+ *
9
+ * This helps with autoplay issues on iOS Safari and soon other browsers,
10
+ * which only allow audio playback upon user interaction.
11
+ *
12
+ * The behavior can be disabled by passing `0` as the number of shared audio tracks.
13
+ */
14
+ declare type AudioElem = {
15
+ id: number;
16
+ props: RemotionAudioProps;
17
+ el: React.RefObject<HTMLAudioElement>;
18
+ };
19
+ declare type SharedContext = {
20
+ registerAudio: (aud: RemotionAudioProps) => AudioElem;
21
+ unregisterAudio: (id: number) => void;
22
+ updateAudio: (id: number, aud: RemotionAudioProps) => void;
23
+ playAllAudios: () => void;
24
+ numberOfAudioTags: number;
25
+ };
26
+ export declare const SharedAudioContext: React.Context<SharedContext | null>;
27
+ export declare const SharedAudioContextProvider: React.FC<{
28
+ numberOfAudioTags: number;
29
+ }>;
30
+ export declare const useSharedAudio: (aud: RemotionAudioProps) => AudioElem;
31
+ export {};
32
+ //# sourceMappingURL=shared-audio-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-audio-tags.d.ts","sourceRoot":"","sources":["../../src/audio/shared-audio-tags.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;GAUG;AAEH,aAAK,SAAS,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,kBAAkB,CAAC;IAC1B,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACtC,CAAC;AAKF,aAAK,aAAa,GAAG;IACpB,aAAa,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,SAAS,CAAC;IACtD,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,qCAA4C,CAAC;AAE5E,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CA+HA,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,kBAAkB,cAgCrD,CAAC"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.useSharedAudio = exports.SharedAudioContextProvider = exports.SharedAudioContext = void 0;
23
+ const jsx_runtime_1 = require("react/jsx-runtime");
24
+ const react_1 = __importStar(require("react"));
25
+ const EMPTY_AUDIO = 'data:audio/wav;base64,UklGRjIAAABXQVZFZm10IBIAAAABAAEAQB8AAEAfAAABAAgAAABmYWN0BAAAAAAAAABkYXRhAAAAAA==';
26
+ exports.SharedAudioContext = (0, react_1.createContext)(null);
27
+ const SharedAudioContextProvider = ({ children, numberOfAudioTags }) => {
28
+ const [audios, setAudios] = (0, react_1.useState)([]);
29
+ const [initialNumberOfAudioTags] = (0, react_1.useState)(numberOfAudioTags);
30
+ if (numberOfAudioTags !== initialNumberOfAudioTags) {
31
+ throw new Error('The number of shared audio tags has changed dynamically. Once you have set this property, you cannot change it afterwards.');
32
+ }
33
+ const refs = (0, react_1.useMemo)(() => {
34
+ return new Array(numberOfAudioTags).fill(true).map(() => {
35
+ return { id: Math.random(), ref: (0, react_1.createRef)() };
36
+ });
37
+ }, [numberOfAudioTags]);
38
+ const takenAudios = (0, react_1.useRef)(new Array(numberOfAudioTags).fill(false));
39
+ const registerAudio = (0, react_1.useCallback)((aud) => {
40
+ const firstFreeAudio = takenAudios.current.findIndex((a) => a === false);
41
+ if (firstFreeAudio === -1) {
42
+ throw new Error(`Tried to simultaneously mount ${numberOfAudioTags + 1} <Audio /> tags at the same time. With the current settings, the maximum amount of <Audio /> tags is limited to ${numberOfAudioTags} at the same time. Remotion pre-mounts silent audio tags to help avoid browser autoplay restrictions. See https://remotion.dev/docs/player#numberofsharedaudiotags for more information on how to increase this limit.`);
43
+ }
44
+ const { id, ref } = refs[firstFreeAudio];
45
+ const cloned = [...takenAudios.current];
46
+ cloned[firstFreeAudio] = id;
47
+ takenAudios.current = cloned;
48
+ const newElem = {
49
+ props: aud,
50
+ id,
51
+ el: ref,
52
+ };
53
+ // We need a timeout because this state setting is triggered by another state being set, causing React to throw an error.
54
+ // By setting a timeout, we are bypassing the error and allowing the state
55
+ // to be updated in the next tick.
56
+ // This can lead to a tiny delay of audio playback, improvement ideas are welcome.
57
+ setTimeout(() => {
58
+ setAudios((prevAudios) => [...prevAudios, newElem]);
59
+ }, 4);
60
+ return newElem;
61
+ }, [numberOfAudioTags, refs]);
62
+ const unregisterAudio = (0, react_1.useCallback)((id) => {
63
+ const cloned = [...takenAudios.current];
64
+ const index = refs.findIndex((r) => r.id === id);
65
+ if (index === -1) {
66
+ throw new TypeError('Error occured in ');
67
+ }
68
+ cloned[index] = false;
69
+ takenAudios.current = cloned;
70
+ setAudios((prevAudios) => {
71
+ return prevAudios.filter((a) => a.id !== id);
72
+ });
73
+ }, [refs]);
74
+ const updateAudio = (0, react_1.useCallback)((id, aud) => {
75
+ setAudios((prevAudios) => {
76
+ return prevAudios.map((prevA) => {
77
+ if (prevA.id === id) {
78
+ return {
79
+ ...prevA,
80
+ props: aud,
81
+ };
82
+ }
83
+ return prevA;
84
+ });
85
+ });
86
+ }, []);
87
+ const playAllAudios = (0, react_1.useCallback)(() => {
88
+ refs.forEach((ref) => {
89
+ var _a;
90
+ (_a = ref.ref.current) === null || _a === void 0 ? void 0 : _a.play();
91
+ });
92
+ }, [refs]);
93
+ const value = (0, react_1.useMemo)(() => {
94
+ return {
95
+ registerAudio,
96
+ unregisterAudio,
97
+ updateAudio,
98
+ playAllAudios,
99
+ numberOfAudioTags,
100
+ };
101
+ }, [
102
+ numberOfAudioTags,
103
+ playAllAudios,
104
+ registerAudio,
105
+ unregisterAudio,
106
+ updateAudio,
107
+ ]);
108
+ return ((0, jsx_runtime_1.jsxs)(exports.SharedAudioContext.Provider, Object.assign({ value: value }, { children: [refs.map(({ id, ref }) => {
109
+ const data = audios.find((a) => a.id === id);
110
+ if (data === undefined) {
111
+ return (0, jsx_runtime_1.jsx)("audio", { ref: ref, src: EMPTY_AUDIO }, id);
112
+ }
113
+ if (!data) {
114
+ throw new TypeError('Expected audio data to be there');
115
+ }
116
+ return (0, jsx_runtime_1.jsx)("audio", Object.assign({ ref: ref }, data.props), id);
117
+ }), children] }), void 0));
118
+ };
119
+ exports.SharedAudioContextProvider = SharedAudioContextProvider;
120
+ const useSharedAudio = (aud) => {
121
+ const ctx = (0, react_1.useContext)(exports.SharedAudioContext);
122
+ const [elem] = (0, react_1.useState)(() => {
123
+ if (ctx && ctx.numberOfAudioTags > 0) {
124
+ return ctx.registerAudio(aud);
125
+ }
126
+ return {
127
+ el: react_1.default.createRef(),
128
+ id: Math.random(),
129
+ props: aud,
130
+ };
131
+ });
132
+ (0, react_1.useEffect)(() => {
133
+ return () => {
134
+ if (ctx && ctx.numberOfAudioTags > 0) {
135
+ ctx.unregisterAudio(elem.id);
136
+ }
137
+ };
138
+ }, [ctx, elem.id]);
139
+ (0, react_1.useEffect)(() => {
140
+ if (ctx && ctx.numberOfAudioTags > 0) {
141
+ ctx.updateAudio(elem.id, aud);
142
+ }
143
+ }, [aud, ctx, elem.id]);
144
+ return elem;
145
+ };
146
+ exports.useSharedAudio = useSharedAudio;
147
+ //# sourceMappingURL=shared-audio-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-audio-tags.js","sourceRoot":"","sources":["../../src/audio/shared-audio-tags.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,+CASe;AAqBf,MAAM,WAAW,GAChB,wGAAwG,CAAC;AAU7F,QAAA,kBAAkB,GAAG,IAAA,qBAAa,EAAuB,IAAI,CAAC,CAAC;AAErE,MAAM,0BAA0B,GAElC,CAAC,EAAC,QAAQ,EAAE,iBAAiB,EAAC,EAAE,EAAE;IACtC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAc,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,wBAAwB,CAAC,GAAG,IAAA,gBAAQ,EAAC,iBAAiB,CAAC,CAAC;IAE/D,IAAI,iBAAiB,KAAK,wBAAwB,EAAE;QACnD,MAAM,IAAI,KAAK,CACd,4HAA4H,CAC5H,CAAC;KACF;IAED,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,OAAO,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YACvD,OAAO,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAA,iBAAS,GAAoB,EAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,IAAA,cAAM,EACzB,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CACxC,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAChC,CAAC,GAAuB,EAAE,EAAE;QAC3B,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACzE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CACd,iCACC,iBAAiB,GAAG,CACrB,mHAAmH,iBAAiB,wNAAwN,CAC5V,CAAC;SACF;QAED,MAAM,EAAC,EAAE,EAAE,GAAG,EAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QAC5B,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAE7B,MAAM,OAAO,GAAc;YAC1B,KAAK,EAAE,GAAG;YACV,EAAE;YACF,EAAE,EAAE,GAAG;SACP,CAAC;QACF,yHAAyH;QACzH,0EAA0E;QAC1E,kCAAkC;QAClC,kFAAkF;QAClF,UAAU,CAAC,GAAG,EAAE;YACf,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,OAAO,CAAC;IAChB,CAAC,EACD,CAAC,iBAAiB,EAAE,IAAI,CAAC,CACzB,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,mBAAW,EAClC,CAAC,EAAU,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACjB,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;SACzC;QAED,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAEtB,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YACxB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,IAAI,CAAC,CACN,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,CAAC,EAAU,EAAE,GAAuB,EAAE,EAAE;QACvE,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YACxB,OAAO,UAAU,CAAC,GAAG,CACpB,CAAC,KAAK,EAAa,EAAE;gBACpB,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;oBACpB,OAAO;wBACN,GAAG,KAAK;wBACR,KAAK,EAAE,GAAG;qBACV,CAAC;iBACF;gBAED,OAAO,KAAK,CAAC;YACd,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACtC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;YACpB,MAAA,GAAG,CAAC,GAAG,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAkB,IAAA,eAAO,EAAC,GAAG,EAAE;QACzC,OAAO;YACN,aAAa;YACb,eAAe;YACf,WAAW;YACX,aAAa;YACb,iBAAiB;SACjB,CAAC;IACH,CAAC,EAAE;QACF,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,eAAe;QACf,WAAW;KACX,CAAC,CAAC;IAEH,OAAO,CACN,wBAAC,0BAAkB,CAAC,QAAQ,kBAAC,KAAK,EAAE,KAAK,iBACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,EAAE,EAAE;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7C,IAAI,IAAI,KAAK,SAAS,EAAE;oBACvB,OAAO,kCAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,IAA9B,EAAE,CAAgC,CAAC;iBACtD;gBAED,IAAI,CAAC,IAAI,EAAE;oBACV,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;iBACvD;gBAED,OAAO,gDAAgB,GAAG,EAAE,GAAG,IAAM,IAAI,CAAC,KAAK,GAA5B,EAAE,CAA8B,CAAC;YACrD,CAAC,CAAC,EACD,QAAQ,aACoB,CAC9B,CAAC;AACH,CAAC,CAAC;AAjIW,QAAA,0BAA0B,8BAiIrC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAuB,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,IAAA,kBAAU,EAAC,0BAAkB,CAAC,CAAC;IAE3C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,gBAAQ,EACtB,GAAc,EAAE;QACf,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE;YACrC,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAC9B;QAED,OAAO;YACN,EAAE,EAAE,eAAK,CAAC,SAAS,EAAoB;YACvC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,KAAK,EAAE,GAAG;SACV,CAAC;IACH,CAAC,CACD,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE;YACX,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE;gBACrC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC7B;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE;YACrC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;SAC9B;IACF,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAExB,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAhCW,QAAA,cAAc,kBAgCzB"}
@@ -6,7 +6,7 @@ const sequencing_1 = require("../sequencing");
6
6
  const use_frame_1 = require("../use-frame");
7
7
  const useMediaStartsAt = () => {
8
8
  var _a;
9
- const parentSequence = react_1.useContext(sequencing_1.SequenceContext);
9
+ const parentSequence = (0, react_1.useContext)(sequencing_1.SequenceContext);
10
10
  const startsAt = Math.min(0, (_a = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.relativeFrom) !== null && _a !== void 0 ? _a : 0);
11
11
  return startsAt;
12
12
  };
@@ -16,8 +16,8 @@ exports.useMediaStartsAt = useMediaStartsAt;
16
16
  * we calculate the way more intuitive value for currentFrame
17
17
  */
18
18
  const useFrameForVolumeProp = () => {
19
- const frame = use_frame_1.useCurrentFrame();
20
- const startsAt = exports.useMediaStartsAt();
19
+ const frame = (0, use_frame_1.useCurrentFrame)();
20
+ const startsAt = (0, exports.useMediaStartsAt)();
21
21
  return frame + startsAt;
22
22
  };
23
23
  exports.useFrameForVolumeProp = useFrameForVolumeProp;
@@ -1 +1 @@
1
- {"version":3,"file":"use-audio-frame.js","sourceRoot":"","sources":["../../src/audio/use-audio-frame.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,8CAA8C;AAC9C,4CAA6C;AAEtC,MAAM,gBAAgB,GAAG,GAAG,EAAE;;IACpC,MAAM,cAAc,GAAG,kBAAU,CAAC,4BAAe,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,mCAAI,CAAC,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF;;;GAGG;AACI,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACzC,MAAM,KAAK,GAAG,2BAAe,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,wBAAgB,EAAE,CAAC;IACpC,OAAO,KAAK,GAAG,QAAQ,CAAC;AACzB,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC"}
1
+ {"version":3,"file":"use-audio-frame.js","sourceRoot":"","sources":["../../src/audio/use-audio-frame.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,8CAA8C;AAC9C,4CAA6C;AAEtC,MAAM,gBAAgB,GAAG,GAAG,EAAE;;IACpC,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,4BAAe,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,mCAAI,CAAC,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF;;;GAGG;AACI,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACzC,MAAM,KAAK,GAAG,IAAA,2BAAe,GAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAA,wBAAgB,GAAE,CAAC;IACpC,OAAO,KAAK,GAAG,QAAQ,CAAC;AACzB,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC"}
@@ -1,4 +1,4 @@
1
1
  export declare type BrowserExecutable = string | null;
2
2
  export declare const setBrowserExecutable: (newBrowserExecutablePath: BrowserExecutable) => void;
3
- export declare const getBrowserExecutable: () => string | null;
3
+ export declare const getBrowserExecutable: () => BrowserExecutable;
4
4
  //# sourceMappingURL=browser-executable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-executable.d.ts","sourceRoot":"","sources":["../../src/config/browser-executable.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AAI9C,eAAO,MAAM,oBAAoB,6BACN,iBAAiB,SAG3C,CAAC;AAEF,eAAO,MAAM,oBAAoB,qBAEhC,CAAC"}
1
+ {"version":3,"file":"browser-executable.d.ts","sourceRoot":"","sources":["../../src/config/browser-executable.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AAI9C,eAAO,MAAM,oBAAoB,6BACN,iBAAiB,SAG3C,CAAC;AAEF,eAAO,MAAM,oBAAoB,yBAEhC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare type Browser = 'chrome' | 'firefox';
2
2
  export declare const DEFAULT_BROWSER: Browser;
3
3
  export declare const setBrowser: (browser: Browser) => void;
4
- export declare const getBrowser: () => "chrome" | "firefox" | null;
4
+ export declare const getBrowser: () => Browser | null;
5
5
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/config/browser.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3C,eAAO,MAAM,eAAe,EAAE,OAAkB,CAAC;AAIjD,eAAO,MAAM,UAAU,YAAa,OAAO,SAU1C,CAAC;AAEF,eAAO,MAAM,UAAU,mCAEtB,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/config/browser.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3C,eAAO,MAAM,eAAe,EAAE,OAAkB,CAAC;AAIjD,eAAO,MAAM,UAAU,YAAa,OAAO,SAU1C,CAAC;AAEF,eAAO,MAAM,UAAU,sBAEtB,CAAC"}