@remotion/studio 4.0.340 → 4.0.344
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-make.log +2 -2
- package/.turbo/turbo-test.log +57 -54
- package/LICENSE.md +7 -7
- package/dist/components/PreviewToolbar.js +3 -1
- package/dist/components/WebRender/TriggerWebRender.d.ts +1 -0
- package/dist/components/WebRender/TriggerWebRender.js +31 -0
- package/dist/esm/{chunk-kssm9t8x.js → chunk-537k7w8j.js} +1505 -1335
- package/dist/esm/{chunk-f6a78x4r.js → chunk-621t537e.js} +1366 -1149
- package/dist/esm/{chunk-v6g6sx6z.js → chunk-kdprv7ha.js} +1328 -1141
- package/dist/esm/{chunk-s0cbvv3s.js → chunk-qv5xwxwh.js} +1372 -1152
- package/dist/esm/{chunk-1g0vys7t.js → chunk-xnv9k83w.js} +1506 -1338
- package/dist/esm/index.mjs +7 -7
- package/dist/esm/internals.mjs +1338 -1150
- package/dist/esm/previewEntry.mjs +1356 -1168
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/show-browser-rendering.d.ts +1 -0
- package/dist/helpers/show-browser-rendering.js +4 -0
- package/dist/visual-controls/VisualControls.js +3 -2
- package/package.json +11 -10
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/chunk-b2q8p229.js +0 -46492
- package/dist/esm/chunk-gqesq3a3.js +0 -46465
- package/dist/esm/chunk-nc7etmdb.js +0 -46489
- package/dist/esm/chunk-nh63jtdb.js +0 -46534
- package/dist/esm/chunk-sgrpvcge.js +0 -46465
- package/dist/esm/chunk-wzm783qz.js +0 -46534
package/.turbo/turbo-make.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @remotion/studio@4.0.
|
|
3
|
+
> @remotion/studio@4.0.344 make /Users/jonathanburger/remotion/packages/studio
|
|
4
4
|
> tsc -d && bun --env-file=../.env.bundle bundle.ts
|
|
5
5
|
|
|
6
|
-
[0m[2m[[
|
|
6
|
+
[0m[2m[[1m87.21ms[0m[2m][0m Generated.
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,83 +1,86 @@
|
|
|
1
1
|
|
|
2
2
|
[0m[2m[35m$[0m [2m[1mbun test src[0m
|
|
3
|
-
[0m[1mbun test [0m[2mv1.2.
|
|
3
|
+
[0m[1mbun test [0m[2mv1.2.21 (7c45ed97)[0m
|
|
4
4
|
[0m
|
|
5
5
|
src/test/stringify-default-props.test.ts:
|
|
6
|
-
[0m[32m✓[0m[0m[1m Should stringify default props correctly[0m [0m[2m[
|
|
7
|
-
[0m[32m✓[0m[0m[1m Should stringify default props correctly[0m [0m[2m[
|
|
6
|
+
[0m[32m✓[0m[0m[1m Should stringify default props correctly[0m [0m[2m[3.36ms[0m[2m][0m
|
|
7
|
+
[0m[32m✓[0m[0m[1m Should stringify default props correctly[0m [0m[2m[4.46ms[0m[2m][0m
|
|
8
8
|
[0m
|
|
9
9
|
src/test/sequenced-timeline.test.ts:
|
|
10
|
-
[0m[32m✓[0m[0m[1m Should calculate sequences correctly[0m [0m[2m[5.
|
|
10
|
+
[0m[32m✓[0m[0m[1m Should calculate sequences correctly[0m [0m[2m[5.59ms[0m[2m][0m
|
|
11
11
|
[0m
|
|
12
12
|
src/test/create-zod-values.test.ts:
|
|
13
|
-
[0m[32m✓[0m[0m[1m Should be able to create a string[0m [0m[2m[
|
|
14
|
-
[0m[32m✓[0m[0m[1m Should be able to create a number[0m
|
|
15
|
-
[0m[32m✓[0m[0m[1m Should be able to create an object[0m
|
|
16
|
-
[0m[32m✓[0m[0m[1m Should be able to create an array[0m [0m[2m[0.
|
|
17
|
-
[0m[32m✓[0m[0m[1m Should be able to create a union[0m [0m[2m[0.
|
|
18
|
-
[0m[32m✓[0m[0m[1m Zod literal[0m [0m[2m[0.
|
|
19
|
-
[0m[32m✓[0m[0m[1m Should be able to create a discriminated union[0m [0m[2m[
|
|
20
|
-
[0m[32m✓[0m[0m[1m Zod instanceof[0m [0m[2m[0.
|
|
21
|
-
[0m[32m✓[0m[0m[1m Zod intersection[0m [0m[2m[0.
|
|
22
|
-
[0m[32m✓[0m[0m[1m Zod tuples[0m [0m[2m[
|
|
23
|
-
[0m[32m✓[0m[0m[1m Zod record[0m [0m[2m[0.
|
|
24
|
-
[0m[32m✓[0m[0m[1m Zod map[0m [0m[2m[0.
|
|
25
|
-
[0m[32m✓[0m[0m[1m Zod lazy[0m [0m[2m[0.
|
|
26
|
-
[0m[32m✓[0m[0m[1m Zod set[0m [0m[2m[0.
|
|
27
|
-
[0m[32m✓[0m[0m[1m Zod function[0m [0m[2m[0.
|
|
28
|
-
[0m[32m✓[0m[0m[1m Zod undefined[0m [0m[2m[0.
|
|
29
|
-
[0m[32m✓[0m[0m[1m Zod null[0m [0m[2m[0.
|
|
30
|
-
[0m[32m✓[0m[0m[1m Zod enum[0m [0m[2m[
|
|
31
|
-
[0m[32m✓[0m[0m[1m Zod nativeEnum[0m [0m[2m[0.
|
|
32
|
-
[0m[32m✓[0m[0m[1m Zod optional[0m [0m[2m[0.
|
|
33
|
-
[0m[32m✓[0m[0m[1m Zod nullable[0m [0m[2m[0.
|
|
34
|
-
[0m[32m✓[0m[0m[1m Zod undefined[0m [0m[2m[0.
|
|
35
|
-
[0m[32m✓[0m[0m[1m Zod catch[0m [0m[2m[0.
|
|
36
|
-
[0m[32m✓[0m[0m[1m Zod promise[0m [0m[2m[
|
|
37
|
-
[0m[32m✓[0m[0m[1m Zod transform[0m [0m[2m[0.
|
|
13
|
+
[0m[32m✓[0m[0m[1m Should be able to create a string[0m [0m[2m[1.68ms[0m[2m][0m
|
|
14
|
+
[0m[32m✓[0m[0m[1m Should be able to create a number[0m [0m[2m[0.66ms[0m[2m][0m
|
|
15
|
+
[0m[32m✓[0m[0m[1m Should be able to create an object[0m [0m[2m[0.43ms[0m[2m][0m
|
|
16
|
+
[0m[32m✓[0m[0m[1m Should be able to create an array[0m [0m[2m[0.57ms[0m[2m][0m
|
|
17
|
+
[0m[32m✓[0m[0m[1m Should be able to create a union[0m [0m[2m[0.40ms[0m[2m][0m
|
|
18
|
+
[0m[32m✓[0m[0m[1m Zod literal[0m [0m[2m[0.21ms[0m[2m][0m
|
|
19
|
+
[0m[32m✓[0m[0m[1m Should be able to create a discriminated union[0m [0m[2m[1.38ms[0m[2m][0m
|
|
20
|
+
[0m[32m✓[0m[0m[1m Zod instanceof[0m [0m[2m[0.57ms[0m[2m][0m
|
|
21
|
+
[0m[32m✓[0m[0m[1m Zod intersection[0m [0m[2m[0.82ms[0m[2m][0m
|
|
22
|
+
[0m[32m✓[0m[0m[1m Zod tuples[0m [0m[2m[1.28ms[0m[2m][0m
|
|
23
|
+
[0m[32m✓[0m[0m[1m Zod record[0m [0m[2m[0.38ms[0m[2m][0m
|
|
24
|
+
[0m[32m✓[0m[0m[1m Zod map[0m [0m[2m[0.27ms[0m[2m][0m
|
|
25
|
+
[0m[32m✓[0m[0m[1m Zod lazy[0m [0m[2m[0.46ms[0m[2m][0m
|
|
26
|
+
[0m[32m✓[0m[0m[1m Zod set[0m [0m[2m[0.26ms[0m[2m][0m
|
|
27
|
+
[0m[32m✓[0m[0m[1m Zod function[0m [0m[2m[0.51ms[0m[2m][0m
|
|
28
|
+
[0m[32m✓[0m[0m[1m Zod undefined[0m [0m[2m[0.20ms[0m[2m][0m
|
|
29
|
+
[0m[32m✓[0m[0m[1m Zod null[0m [0m[2m[0.19ms[0m[2m][0m
|
|
30
|
+
[0m[32m✓[0m[0m[1m Zod enum[0m [0m[2m[0.17ms[0m[2m][0m
|
|
31
|
+
[0m[32m✓[0m[0m[1m Zod nativeEnum[0m [0m[2m[0.20ms[0m[2m][0m
|
|
32
|
+
[0m[32m✓[0m[0m[1m Zod optional[0m [0m[2m[0.22ms[0m[2m][0m
|
|
33
|
+
[0m[32m✓[0m[0m[1m Zod nullable[0m [0m[2m[0.24ms[0m[2m][0m
|
|
34
|
+
[0m[32m✓[0m[0m[1m Zod undefined[0m [0m[2m[0.21ms[0m[2m][0m
|
|
35
|
+
[0m[32m✓[0m[0m[1m Zod catch[0m [0m[2m[0.27ms[0m[2m][0m
|
|
36
|
+
[0m[32m✓[0m[0m[1m Zod promise[0m [0m[2m[1.59ms[0m[2m][0m
|
|
37
|
+
[0m[32m✓[0m[0m[1m Zod transform[0m [0m[2m[0.25ms[0m[2m][0m
|
|
38
38
|
[0m[32m✓[0m[0m[1m Zod branded[0m [0m[2m[0.15ms[0m[2m][0m
|
|
39
|
-
[0m[32m✓[0m[0m[1m Zod lazy[0m [0m[2m[0.
|
|
40
|
-
[0m[32m✓[0m[0m[1m Zod coerce[0m [0m[2m[0.
|
|
41
|
-
[0m[32m✓[0m[0m[1m Zod strict[0m [0m[2m[0.
|
|
42
|
-
[0m[32m✓[0m[0m[1m Should create a color[0m [0m[2m[0.
|
|
43
|
-
[0m[32m✓[0m[0m[1m Should create a textarea[0m [0m[2m[0.
|
|
39
|
+
[0m[32m✓[0m[0m[1m Zod lazy[0m [0m[2m[0.53ms[0m[2m][0m
|
|
40
|
+
[0m[32m✓[0m[0m[1m Zod coerce[0m [0m[2m[0.18ms[0m[2m][0m
|
|
41
|
+
[0m[32m✓[0m[0m[1m Zod strict[0m [0m[2m[0.28ms[0m[2m][0m
|
|
42
|
+
[0m[32m✓[0m[0m[1m Should create a color[0m [0m[2m[0.31ms[0m[2m][0m
|
|
43
|
+
[0m[32m✓[0m[0m[1m Should create a textarea[0m [0m[2m[0.17ms[0m[2m][0m
|
|
44
44
|
[0m
|
|
45
45
|
src/test/folder-tree.test.ts:
|
|
46
|
-
[0m[32m✓[0m[0m[1m Should create a good folder tree with 1 item inside and 1 item outside[0m [0m[2m[
|
|
47
|
-
[0m[32m✓[0m[0m[1m Should handle nested folders well[0m [0m[2m[
|
|
48
|
-
[0m[32m✓[0m[0m[1m Should throw if two folders with the same name[0m [0m[2m[0.
|
|
46
|
+
[0m[32m✓[0m[0m[1m Should create a good folder tree with 1 item inside and 1 item outside[0m [0m[2m[1.15ms[0m[2m][0m
|
|
47
|
+
[0m[32m✓[0m[0m[1m Should handle nested folders well[0m [0m[2m[0.52ms[0m[2m][0m
|
|
48
|
+
[0m[32m✓[0m[0m[1m Should throw if two folders with the same name[0m [0m[2m[0.83ms[0m[2m][0m
|
|
49
49
|
[0m
|
|
50
50
|
src/test/big-timeline.test.ts:
|
|
51
|
-
[0m[32m✓[0m[0m[1m Should calculate timeline as expected[0m [0m[2m[
|
|
51
|
+
[0m[32m✓[0m[0m[1m Should calculate timeline as expected[0m [0m[2m[8.07ms[0m[2m][0m
|
|
52
52
|
[0m
|
|
53
53
|
src/test/smooth-zoom.test.ts:
|
|
54
|
-
[0m[32m✓[0m[0m[1m Smoothen zoom[0m
|
|
55
|
-
[0m[32m✓[0m[0m[1m Unsmoothen zoom[0m [0m[2m[0.
|
|
54
|
+
[0m[32m✓[0m[0m[1m Smoothen zoom[0m [0m[2m[0.15ms[0m[2m][0m
|
|
55
|
+
[0m[32m✓[0m[0m[1m Unsmoothen zoom[0m [0m[2m[0.08ms[0m[2m][0m
|
|
56
56
|
[0m
|
|
57
57
|
src/test/validate-gui-output-filename.test.ts:
|
|
58
|
-
[0m[32m✓[0m[0m[1m Should catch dot after slash[0m [0m[2m[0.
|
|
59
|
-
[0m[32m✓[0m[0m[1m Should catch dot in front [0m [0m[2m[0.
|
|
58
|
+
[0m[32m✓[0m[0m[1m Should catch dot after slash[0m [0m[2m[0.71ms[0m[2m][0m
|
|
59
|
+
[0m[32m✓[0m[0m[1m Should catch dot in front [0m [0m[2m[0.06ms[0m[2m][0m
|
|
60
60
|
[0m
|
|
61
61
|
src/test/timeline-sequence-layout.test.ts:
|
|
62
|
-
[0m[32m✓[0m[0m[1m Should test timeline sequence layout without max media duration[0m [0m[2m[0.
|
|
63
|
-
[0m[32m✓[0m[0m[1m Should test timeline sequence layout with max media duration[0m [0m[2m[0.
|
|
62
|
+
[0m[32m✓[0m[0m[1m Should test timeline sequence layout without max media duration[0m [0m[2m[0.50ms[0m[2m][0m
|
|
63
|
+
[0m[32m✓[0m[0m[1m Should test timeline sequence layout with max media duration[0m [0m[2m[0.05ms[0m[2m][0m
|
|
64
64
|
[0m
|
|
65
65
|
src/test/extract-zod-enums.test.ts:
|
|
66
|
-
[0m[32m✓[0m[0m[1m Extract Zod enums[0m [0m[2m[0.
|
|
67
|
-
[0m[32m✓[0m[0m[1m Extract Zod enums #2[0m [0m[2m[
|
|
66
|
+
[0m[32m✓[0m[0m[1m Extract Zod enums[0m [0m[2m[0.87ms[0m[2m][0m
|
|
67
|
+
[0m[32m✓[0m[0m[1m Extract Zod enums #2[0m [0m[2m[2.15ms[0m[2m][0m
|
|
68
68
|
[0m
|
|
69
69
|
src/test/color-math.test.ts:
|
|
70
|
-
[0m[32m✓[0m[0m[1m Color math[0m [0m[2m[
|
|
70
|
+
[0m[32m✓[0m[0m[1m Color math[0m [0m[2m[1.95ms[0m[2m][0m
|
|
71
71
|
[0m
|
|
72
72
|
src/test/format-time.test.ts:
|
|
73
|
-
[0m[32m✓[0m[0m[1m Format time[0m [0m[2m[0.
|
|
73
|
+
[0m[32m✓[0m[0m[1m Format time[0m [0m[2m[0.10ms[0m[2m][0m
|
|
74
74
|
[0m
|
|
75
75
|
src/test/timeline.test.ts:
|
|
76
|
-
[0m[32m✓[0m[0m[1m Should calculate timeline with no sequences[0m
|
|
77
|
-
[0m[32m✓[0m[0m[1m Should calculate a basic timeline[0m [0m[2m[0.
|
|
78
|
-
[0m[32m✓[0m[0m[1m Should follow order of nesting[0m [0m[2m[0.
|
|
76
|
+
[0m[32m✓[0m[0m[1m Should calculate timeline with no sequences[0m
|
|
77
|
+
[0m[32m✓[0m[0m[1m Should calculate a basic timeline[0m [0m[2m[0.27ms[0m[2m][0m
|
|
78
|
+
[0m[32m✓[0m[0m[1m Should follow order of nesting[0m [0m[2m[0.17ms[0m[2m][0m
|
|
79
|
+
[0m
|
|
80
|
+
src/test/disable-browser-rendering.test.ts:
|
|
81
|
+
[0m[32m✓[0m[0m[1m should not show browser rendering[0m [0m[2m[0.12ms[0m[2m][0m
|
|
79
82
|
|
|
80
|
-
[0m[32m
|
|
83
|
+
[0m[32m 52 pass[0m
|
|
81
84
|
[0m[2m 0 fail[0m
|
|
82
|
-
|
|
83
|
-
Ran
|
|
85
|
+
68 expect() calls
|
|
86
|
+
Ran 52 tests across 13 files. [0m[2m[[1m254.00ms[0m[2m][0m
|
package/LICENSE.md
CHANGED
|
@@ -6,10 +6,10 @@ In Remotion 5.0, the license will slightly change. [View the changes here](https
|
|
|
6
6
|
|
|
7
7
|
Depending on the type of your legal entity, you are granted permission to use Remotion for your project. Individuals and small companies are allowed to use Remotion to create videos for free (even commercial), while a company license is required for for-profit organizations of a certain size. This two-tier system was designed to ensure funding for this project while still allowing the source code to be available and the program to be free for most. Read below for the exact terms of use.
|
|
8
8
|
|
|
9
|
-
- [Free
|
|
10
|
-
- [Company
|
|
9
|
+
- [Free License](#free-license)
|
|
10
|
+
- [Company License](#company-license)
|
|
11
11
|
|
|
12
|
-
## Free
|
|
12
|
+
## Free License
|
|
13
13
|
|
|
14
14
|
Copyright © 2025 [Remotion](https://www.remotion.dev)
|
|
15
15
|
|
|
@@ -24,7 +24,7 @@ You are eligible to use Remotion for free if you are:
|
|
|
24
24
|
|
|
25
25
|
### Allowed use cases
|
|
26
26
|
|
|
27
|
-
Permission is hereby granted, free of charge, to any person eligible for the "Free
|
|
27
|
+
Permission is hereby granted, free of charge, to any person eligible for the "Free License", to use the software non-commercially or commercially for the purpose of creating videos and images and to modify the software to their own liking, for the purpose of fulfilling their custom use case or to contribute bug fixes or improvements back to Remotion.
|
|
28
28
|
|
|
29
29
|
### Disallowed use cases
|
|
30
30
|
|
|
@@ -38,12 +38,12 @@ The software is provided "as is", without warranty of any kind, express or impli
|
|
|
38
38
|
|
|
39
39
|
Support is provided on a best-we-can-do basis via GitHub Issues and Discord.
|
|
40
40
|
|
|
41
|
-
## Company
|
|
41
|
+
## Company License
|
|
42
42
|
|
|
43
|
-
You are required to obtain a
|
|
43
|
+
You are required to obtain a Company License to use Remotion if you are not within the group of entities eligible for a Free License. This license will enable you to use Remotion for the allowed use cases specified in the Free License, and give you access to prioritized support (read the [Support Policy](https://www.remotion.dev/docs/support)).
|
|
44
44
|
|
|
45
45
|
Visit [remotion.pro](https://www.remotion.pro/license) for pricing and to buy a license.
|
|
46
46
|
|
|
47
47
|
### FAQs
|
|
48
48
|
|
|
49
|
-
Are you not sure whether you need a
|
|
49
|
+
Are you not sure whether you need a Company License because of an edge case? Here are some [frequently asked questions](https://www.remotion.pro/faq).
|
|
@@ -8,6 +8,7 @@ const check_fullscreen_support_1 = require("../helpers/check-fullscreen-support"
|
|
|
8
8
|
const colors_1 = require("../helpers/colors");
|
|
9
9
|
const is_current_selected_still_1 = require("../helpers/is-current-selected-still");
|
|
10
10
|
const mobile_layout_1 = require("../helpers/mobile-layout");
|
|
11
|
+
const show_browser_rendering_1 = require("../helpers/show-browser-rendering");
|
|
11
12
|
const timeline_layout_1 = require("../helpers/timeline-layout");
|
|
12
13
|
const loop_1 = require("../state/loop");
|
|
13
14
|
const CheckboardToggle_1 = require("./CheckboardToggle");
|
|
@@ -23,6 +24,7 @@ const RenderButton_1 = require("./RenderButton");
|
|
|
23
24
|
const SizeSelector_1 = require("./SizeSelector");
|
|
24
25
|
const TimelineZoomControls_1 = require("./Timeline/TimelineZoomControls");
|
|
25
26
|
const TimelineInOutToggle_1 = require("./TimelineInOutToggle");
|
|
27
|
+
const TriggerWebRender_1 = require("./WebRender/TriggerWebRender");
|
|
26
28
|
const layout_1 = require("./layout");
|
|
27
29
|
const container = {
|
|
28
30
|
display: 'flex',
|
|
@@ -132,6 +134,6 @@ const PreviewToolbar = ({ readOnlyStudio, bufferStateDelayInMilliseconds }) => {
|
|
|
132
134
|
};
|
|
133
135
|
}
|
|
134
136
|
});
|
|
135
|
-
return ((0, jsx_runtime_1.jsxs)("div", { ref: previewToolbarRef, style: isMobileLayout ? mobileContainer : container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { ref: leftScrollIndicatorRef, style: scrollIndicatorLeft }), isMobileLayout ? null : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)("div", { style: padding }), (0, jsx_runtime_1.jsx)(TimelineZoomControls_1.TimelineZoomControls, {})] }), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(SizeSelector_1.SizeSelector, {}), isStill || isVideoComposition ? ((0, jsx_runtime_1.jsx)(PlaybackRateSelector_1.PlaybackRateSelector, { setPlaybackRate: setPlaybackRate, playbackRate: playbackRate })) : null] })), isVideoComposition ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(PlayPause_1.PlayPause, { bufferStateDelayInMilliseconds: bufferStateDelayInMilliseconds, loop: loop, playbackRate: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(LoopToggle_1.LoopToggle, { loop: loop, setLoop: setLoop }), (0, jsx_runtime_1.jsx)(MuteToggle_1.MuteToggle, { muted: mediaMuted, setMuted: setMediaMuted }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(TimelineInOutToggle_1.TimelineInOutPointToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 })] })) : null, (0, jsx_runtime_1.jsx)(CheckboardToggle_1.CheckboardToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), isFullscreenSupported && (0, jsx_runtime_1.jsx)(FullscreenToggle_1.FullScreenToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), isMobileLayout && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(SizeSelector_1.SizeSelector, {}), isStill || isVideoComposition ? ((0, jsx_runtime_1.jsx)(PlaybackRateSelector_1.PlaybackRateSelector, { setPlaybackRate: setPlaybackRate, playbackRate: playbackRate })) : null] })), (0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, {}), !isMobileLayout && (0, jsx_runtime_1.jsx)(FpsCounter_1.FpsCounter, { playbackSpeed: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), readOnlyStudio ? null : (0, jsx_runtime_1.jsx)(RenderButton_1.RenderButton, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1.5 })] }), (0, jsx_runtime_1.jsx)(PlaybackKeyboardShortcutsManager_1.PlaybackKeyboardShortcutsManager, { setPlaybackRate: setPlaybackRate }), (0, jsx_runtime_1.jsx)(PlaybackRatePersistor_1.PlaybackRatePersistor, {}), (0, jsx_runtime_1.jsx)("div", { ref: rightScrollIndicatorRef, style: scrollIndicatorRight })] }));
|
|
137
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ref: previewToolbarRef, style: isMobileLayout ? mobileContainer : container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { ref: leftScrollIndicatorRef, style: scrollIndicatorLeft }), isMobileLayout ? null : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)("div", { style: padding }), (0, jsx_runtime_1.jsx)(TimelineZoomControls_1.TimelineZoomControls, {})] }), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(SizeSelector_1.SizeSelector, {}), isStill || isVideoComposition ? ((0, jsx_runtime_1.jsx)(PlaybackRateSelector_1.PlaybackRateSelector, { setPlaybackRate: setPlaybackRate, playbackRate: playbackRate })) : null] })), isVideoComposition ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(PlayPause_1.PlayPause, { bufferStateDelayInMilliseconds: bufferStateDelayInMilliseconds, loop: loop, playbackRate: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(LoopToggle_1.LoopToggle, { loop: loop, setLoop: setLoop }), (0, jsx_runtime_1.jsx)(MuteToggle_1.MuteToggle, { muted: mediaMuted, setMuted: setMediaMuted }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), (0, jsx_runtime_1.jsx)(TimelineInOutToggle_1.TimelineInOutPointToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 })] })) : null, (0, jsx_runtime_1.jsx)(CheckboardToggle_1.CheckboardToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1 }), isFullscreenSupported && (0, jsx_runtime_1.jsx)(FullscreenToggle_1.FullScreenToggle, {}), (0, jsx_runtime_1.jsx)(layout_1.Flex, {}), isMobileLayout && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, {}), (0, jsx_runtime_1.jsx)(SizeSelector_1.SizeSelector, {}), isStill || isVideoComposition ? ((0, jsx_runtime_1.jsx)(PlaybackRateSelector_1.PlaybackRateSelector, { setPlaybackRate: setPlaybackRate, playbackRate: playbackRate })) : null] })), (0, jsx_runtime_1.jsxs)("div", { style: sideContainer, children: [(0, jsx_runtime_1.jsx)(layout_1.Flex, {}), !isMobileLayout && (0, jsx_runtime_1.jsx)(FpsCounter_1.FpsCounter, { playbackSpeed: playbackRate }), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 2 }), show_browser_rendering_1.SHOW_BROWSER_RENDERING ? (0, jsx_runtime_1.jsx)(TriggerWebRender_1.TriggerWebRender, {}) : null, readOnlyStudio ? null : (0, jsx_runtime_1.jsx)(RenderButton_1.RenderButton, {}), (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 1.5 })] }), (0, jsx_runtime_1.jsx)(PlaybackKeyboardShortcutsManager_1.PlaybackKeyboardShortcutsManager, { setPlaybackRate: setPlaybackRate }), (0, jsx_runtime_1.jsx)(PlaybackRatePersistor_1.PlaybackRatePersistor, {}), (0, jsx_runtime_1.jsx)("div", { ref: rightScrollIndicatorRef, style: scrollIndicatorRight })] }));
|
|
136
138
|
};
|
|
137
139
|
exports.PreviewToolbar = PreviewToolbar;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TriggerWebRender: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TriggerWebRender = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const web_renderer_1 = require("@remotion/web-renderer");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const remotion_1 = require("remotion");
|
|
8
|
+
const Button_1 = require("../Button");
|
|
9
|
+
const button = {
|
|
10
|
+
paddingLeft: 7,
|
|
11
|
+
paddingRight: 7,
|
|
12
|
+
paddingTop: 7,
|
|
13
|
+
paddingBottom: 7,
|
|
14
|
+
};
|
|
15
|
+
const TriggerWebRender = () => {
|
|
16
|
+
const video = remotion_1.Internals.useVideo();
|
|
17
|
+
const onClick = (0, react_1.useCallback)(() => {
|
|
18
|
+
if (!video) {
|
|
19
|
+
throw new Error('No video found');
|
|
20
|
+
}
|
|
21
|
+
(0, web_renderer_1.renderMediaOnWeb)({
|
|
22
|
+
Component: video.component,
|
|
23
|
+
width: video.width,
|
|
24
|
+
height: video.height,
|
|
25
|
+
fps: video.fps,
|
|
26
|
+
durationInFrames: video.durationInFrames,
|
|
27
|
+
});
|
|
28
|
+
}, [video]);
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(Button_1.Button, { id: "render-modal-button", onClick: onClick, buttonContainerStyle: button, disabled: false, children: (0, jsx_runtime_1.jsx)("span", { children: "Render" }) }));
|
|
30
|
+
};
|
|
31
|
+
exports.TriggerWebRender = TriggerWebRender;
|