remotion 3.1.11 → 3.2.2
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-build.log +5 -5
- package/dist/Img.js +0 -4
- package/dist/Still.d.ts +0 -1
- package/dist/audio/Audio.d.ts +1 -1
- package/dist/audio/AudioForDevelopment.d.ts +1 -1
- package/dist/audio/AudioForRendering.d.ts +1 -1
- package/dist/audio/AudioForRendering.js +3 -0
- package/dist/audio/shared-audio-tags.js +3 -1
- package/dist/config.d.ts +10 -0
- package/dist/get-timeline-clip-name.js +2 -1
- package/dist/index.d.ts +4 -1
- package/dist/internals.d.ts +0 -1
- package/dist/video/OffthreadVideoForRendering.js +3 -0
- package/dist/video/Video.d.ts +1 -1
- package/dist/video/VideoForDevelopment.d.ts +1 -1
- package/dist/video/VideoForRendering.d.ts +1 -1
- package/dist/video/VideoForRendering.js +6 -0
- package/package.json +2 -2
- package/dist/audio/is-in-strict-mode.d.ts +0 -1
- package/dist/audio/is-in-strict-mode.js +0 -12
- package/dist/compress-assets.d.ts +0 -7
- package/dist/compress-assets.js +0 -25
- package/dist/config/browser-executable.d.ts +0 -3
- package/dist/config/browser-executable.js +0 -12
- package/dist/config/browser.d.ts +0 -4
- package/dist/config/browser.js +0 -19
- package/dist/config/chromium-flags.d.ts +0 -10
- package/dist/config/chromium-flags.js +0 -34
- package/dist/config/codec.d.ts +0 -16
- package/dist/config/codec.js +0 -109
- package/dist/config/concurrency.d.ts +0 -3
- package/dist/config/concurrency.js +0 -12
- package/dist/config/crf.d.ts +0 -9
- package/dist/config/crf.js +0 -83
- package/dist/config/env-file.d.ts +0 -2
- package/dist/config/env-file.js +0 -10
- package/dist/config/every-nth-file.d.ts +0 -2
- package/dist/config/every-nth-file.js +0 -12
- package/dist/config/every-nth-frame.d.ts +0 -3
- package/dist/config/every-nth-frame.js +0 -20
- package/dist/config/ffmpeg-executable.d.ts +0 -5
- package/dist/config/ffmpeg-executable.js +0 -21
- package/dist/config/frame-range.d.ts +0 -5
- package/dist/config/frame-range.js +0 -80
- package/dist/config/image-format.d.ts +0 -8
- package/dist/config/image-format.js +0 -37
- package/dist/config/image-sequence.d.ts +0 -3
- package/dist/config/image-sequence.js +0 -15
- package/dist/config/index.d.ts +0 -182
- package/dist/config/index.js +0 -198
- package/dist/config/log.d.ts +0 -7
- package/dist/config/log.js +0 -25
- package/dist/config/loop.d.ts +0 -4
- package/dist/config/loop.js +0 -18
- package/dist/config/max-timeline-tracks.d.ts +0 -2
- package/dist/config/max-timeline-tracks.js +0 -24
- package/dist/config/number-of-gif-loops.d.ts +0 -4
- package/dist/config/number-of-gif-loops.js +0 -21
- package/dist/config/output-location.d.ts +0 -2
- package/dist/config/output-location.js +0 -16
- package/dist/config/override-webpack.d.ts +0 -6
- package/dist/config/override-webpack.js +0 -14
- package/dist/config/overwrite.d.ts +0 -3
- package/dist/config/overwrite.js +0 -14
- package/dist/config/pixel-format.d.ts +0 -8
- package/dist/config/pixel-format.js +0 -38
- package/dist/config/preview-server.d.ts +0 -2
- package/dist/config/preview-server.js +0 -20
- package/dist/config/prores-profile.d.ts +0 -7
- package/dist/config/prores-profile.js +0 -32
- package/dist/config/quality.d.ts +0 -2
- package/dist/config/quality.js +0 -17
- package/dist/config/scale.d.ts +0 -3
- package/dist/config/scale.js +0 -15
- package/dist/config/skip-n-frames.d.ts +0 -2
- package/dist/config/skip-n-frames.js +0 -12
- package/dist/config/still-frame.d.ts +0 -2
- package/dist/config/still-frame.js +0 -12
- package/dist/config/timeout.d.ts +0 -2
- package/dist/config/timeout.js +0 -17
- package/dist/config/webpack-caching.d.ts +0 -3
- package/dist/config/webpack-caching.js +0 -16
- package/dist/feature-flags.d.ts +0 -1
- package/dist/feature-flags.js +0 -7
- package/dist/initial-frame.d.ts +0 -2
- package/dist/initial-frame.js +0 -12
- package/dist/interpolateColors.d.ts +0 -5
- package/dist/interpolateColors.js +0 -401
- package/dist/is-audio-codec.d.ts +0 -2
- package/dist/is-audio-codec.js +0 -7
- package/dist/perf/index.d.ts +0 -5
- package/dist/perf/index.js +0 -35
- package/dist/preload.d.ts +0 -7
- package/dist/preload.js +0 -39
- package/dist/sequencing/index.d.ts +0 -19
- package/dist/sequencing/index.js +0 -123
- package/dist/timeline-inout-position-state.d.ts +0 -12
- package/dist/timeline-inout-position-state.js +0 -23
- package/dist/timeout.d.ts +0 -2
- package/dist/timeout.js +0 -12
- package/dist/use-frame.d.ts +0 -7
- package/dist/use-frame.js +0 -25
- package/dist/validation/validate-every-nth-frame.d.ts +0 -1
- package/dist/validation/validate-every-nth-frame.js +0 -21
- package/dist/validation/validate-frame.d.ts +0 -1
- package/dist/validation/validate-frame.js +0 -24
- package/dist/validation/validate-image-format.d.ts +0 -2
- package/dist/validation/validate-image-format.js +0 -9
- package/dist/validation/validate-opengl-renderer.d.ts +0 -4
- package/dist/validation/validate-opengl-renderer.js +0 -14
- package/dist/validation/validate-quality.d.ts +0 -1
- package/dist/validation/validate-quality.js +0 -21
package/dist/initial-frame.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupInitialFrame = exports.INITIAL_FRAME_LOCAL_STORAGE_KEY = void 0;
|
|
4
|
-
exports.INITIAL_FRAME_LOCAL_STORAGE_KEY = 'remotion.initialFrame';
|
|
5
|
-
const getInitialFrame = () => {
|
|
6
|
-
const param = localStorage.getItem(exports.INITIAL_FRAME_LOCAL_STORAGE_KEY);
|
|
7
|
-
return param ? Number(param) : 0;
|
|
8
|
-
};
|
|
9
|
-
const setupInitialFrame = () => {
|
|
10
|
-
window.remotion_initialFrame = getInitialFrame();
|
|
11
|
-
};
|
|
12
|
-
exports.setupInitialFrame = setupInitialFrame;
|
|
@@ -1,401 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copied from:
|
|
4
|
-
* https://github.com/software-mansion/react-native-reanimated/blob/master/src/reanimated2/Colors.ts
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.interpolateColors = void 0;
|
|
8
|
-
/* eslint no-bitwise: 0 */
|
|
9
|
-
const interpolate_1 = require("./interpolate");
|
|
10
|
-
// var INTEGER = '[-+]?\\d+';
|
|
11
|
-
const NUMBER = '[-+]?\\d*\\.?\\d+';
|
|
12
|
-
const PERCENTAGE = NUMBER + '%';
|
|
13
|
-
function call(...args) {
|
|
14
|
-
return '\\(\\s*(' + args.join(')\\s*,\\s*(') + ')\\s*\\)';
|
|
15
|
-
}
|
|
16
|
-
function getMatchers() {
|
|
17
|
-
const cachedMatchers = {
|
|
18
|
-
rgb: undefined,
|
|
19
|
-
rgba: undefined,
|
|
20
|
-
hsl: undefined,
|
|
21
|
-
hsla: undefined,
|
|
22
|
-
hex3: undefined,
|
|
23
|
-
hex4: undefined,
|
|
24
|
-
hex5: undefined,
|
|
25
|
-
hex6: undefined,
|
|
26
|
-
hex8: undefined,
|
|
27
|
-
};
|
|
28
|
-
if (cachedMatchers.rgb === undefined) {
|
|
29
|
-
cachedMatchers.rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
|
|
30
|
-
cachedMatchers.rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
|
|
31
|
-
cachedMatchers.hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
|
|
32
|
-
cachedMatchers.hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
|
|
33
|
-
cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
|
|
34
|
-
cachedMatchers.hex4 =
|
|
35
|
-
/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
|
|
36
|
-
cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;
|
|
37
|
-
cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;
|
|
38
|
-
}
|
|
39
|
-
return cachedMatchers;
|
|
40
|
-
}
|
|
41
|
-
function hue2rgb(p, q, t) {
|
|
42
|
-
if (t < 0) {
|
|
43
|
-
t += 1;
|
|
44
|
-
}
|
|
45
|
-
if (t > 1) {
|
|
46
|
-
t -= 1;
|
|
47
|
-
}
|
|
48
|
-
if (t < 1 / 6) {
|
|
49
|
-
return p + (q - p) * 6 * t;
|
|
50
|
-
}
|
|
51
|
-
if (t < 1 / 2) {
|
|
52
|
-
return q;
|
|
53
|
-
}
|
|
54
|
-
if (t < 2 / 3) {
|
|
55
|
-
return p + (q - p) * (2 / 3 - t) * 6;
|
|
56
|
-
}
|
|
57
|
-
return p;
|
|
58
|
-
}
|
|
59
|
-
function hslToRgb(h, s, l) {
|
|
60
|
-
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
61
|
-
const p = 2 * l - q;
|
|
62
|
-
const r = hue2rgb(p, q, h + 1 / 3);
|
|
63
|
-
const g = hue2rgb(p, q, h);
|
|
64
|
-
const b = hue2rgb(p, q, h - 1 / 3);
|
|
65
|
-
return ((Math.round(r * 255) << 24) |
|
|
66
|
-
(Math.round(g * 255) << 16) |
|
|
67
|
-
(Math.round(b * 255) << 8));
|
|
68
|
-
}
|
|
69
|
-
function parse255(str) {
|
|
70
|
-
const int = Number.parseInt(str, 10);
|
|
71
|
-
if (int < 0) {
|
|
72
|
-
return 0;
|
|
73
|
-
}
|
|
74
|
-
if (int > 255) {
|
|
75
|
-
return 255;
|
|
76
|
-
}
|
|
77
|
-
return int;
|
|
78
|
-
}
|
|
79
|
-
function parse360(str) {
|
|
80
|
-
const int = Number.parseFloat(str);
|
|
81
|
-
return (((int % 360) + 360) % 360) / 360;
|
|
82
|
-
}
|
|
83
|
-
function parse1(str) {
|
|
84
|
-
const num = Number.parseFloat(str);
|
|
85
|
-
if (num < 0) {
|
|
86
|
-
return 0;
|
|
87
|
-
}
|
|
88
|
-
if (num > 1) {
|
|
89
|
-
return 255;
|
|
90
|
-
}
|
|
91
|
-
return Math.round(num * 255);
|
|
92
|
-
}
|
|
93
|
-
function parsePercentage(str) {
|
|
94
|
-
// parseFloat conveniently ignores the final %
|
|
95
|
-
const int = Number.parseFloat(str);
|
|
96
|
-
if (int < 0) {
|
|
97
|
-
return 0;
|
|
98
|
-
}
|
|
99
|
-
if (int > 100) {
|
|
100
|
-
return 1;
|
|
101
|
-
}
|
|
102
|
-
return int / 100;
|
|
103
|
-
}
|
|
104
|
-
const names = {
|
|
105
|
-
transparent: 0x00000000,
|
|
106
|
-
// http://www.w3.org/TR/css3-color/#svg-color
|
|
107
|
-
aliceblue: 0xf0f8ffff,
|
|
108
|
-
antiquewhite: 0xfaebd7ff,
|
|
109
|
-
aqua: 0x00ffffff,
|
|
110
|
-
aquamarine: 0x7fffd4ff,
|
|
111
|
-
azure: 0xf0ffffff,
|
|
112
|
-
beige: 0xf5f5dcff,
|
|
113
|
-
bisque: 0xffe4c4ff,
|
|
114
|
-
black: 0x000000ff,
|
|
115
|
-
blanchedalmond: 0xffebcdff,
|
|
116
|
-
blue: 0x0000ffff,
|
|
117
|
-
blueviolet: 0x8a2be2ff,
|
|
118
|
-
brown: 0xa52a2aff,
|
|
119
|
-
burlywood: 0xdeb887ff,
|
|
120
|
-
burntsienna: 0xea7e5dff,
|
|
121
|
-
cadetblue: 0x5f9ea0ff,
|
|
122
|
-
chartreuse: 0x7fff00ff,
|
|
123
|
-
chocolate: 0xd2691eff,
|
|
124
|
-
coral: 0xff7f50ff,
|
|
125
|
-
cornflowerblue: 0x6495edff,
|
|
126
|
-
cornsilk: 0xfff8dcff,
|
|
127
|
-
crimson: 0xdc143cff,
|
|
128
|
-
cyan: 0x00ffffff,
|
|
129
|
-
darkblue: 0x00008bff,
|
|
130
|
-
darkcyan: 0x008b8bff,
|
|
131
|
-
darkgoldenrod: 0xb8860bff,
|
|
132
|
-
darkgray: 0xa9a9a9ff,
|
|
133
|
-
darkgreen: 0x006400ff,
|
|
134
|
-
darkgrey: 0xa9a9a9ff,
|
|
135
|
-
darkkhaki: 0xbdb76bff,
|
|
136
|
-
darkmagenta: 0x8b008bff,
|
|
137
|
-
darkolivegreen: 0x556b2fff,
|
|
138
|
-
darkorange: 0xff8c00ff,
|
|
139
|
-
darkorchid: 0x9932ccff,
|
|
140
|
-
darkred: 0x8b0000ff,
|
|
141
|
-
darksalmon: 0xe9967aff,
|
|
142
|
-
darkseagreen: 0x8fbc8fff,
|
|
143
|
-
darkslateblue: 0x483d8bff,
|
|
144
|
-
darkslategray: 0x2f4f4fff,
|
|
145
|
-
darkslategrey: 0x2f4f4fff,
|
|
146
|
-
darkturquoise: 0x00ced1ff,
|
|
147
|
-
darkviolet: 0x9400d3ff,
|
|
148
|
-
deeppink: 0xff1493ff,
|
|
149
|
-
deepskyblue: 0x00bfffff,
|
|
150
|
-
dimgray: 0x696969ff,
|
|
151
|
-
dimgrey: 0x696969ff,
|
|
152
|
-
dodgerblue: 0x1e90ffff,
|
|
153
|
-
firebrick: 0xb22222ff,
|
|
154
|
-
floralwhite: 0xfffaf0ff,
|
|
155
|
-
forestgreen: 0x228b22ff,
|
|
156
|
-
fuchsia: 0xff00ffff,
|
|
157
|
-
gainsboro: 0xdcdcdcff,
|
|
158
|
-
ghostwhite: 0xf8f8ffff,
|
|
159
|
-
gold: 0xffd700ff,
|
|
160
|
-
goldenrod: 0xdaa520ff,
|
|
161
|
-
gray: 0x808080ff,
|
|
162
|
-
green: 0x008000ff,
|
|
163
|
-
greenyellow: 0xadff2fff,
|
|
164
|
-
grey: 0x808080ff,
|
|
165
|
-
honeydew: 0xf0fff0ff,
|
|
166
|
-
hotpink: 0xff69b4ff,
|
|
167
|
-
indianred: 0xcd5c5cff,
|
|
168
|
-
indigo: 0x4b0082ff,
|
|
169
|
-
ivory: 0xfffff0ff,
|
|
170
|
-
khaki: 0xf0e68cff,
|
|
171
|
-
lavender: 0xe6e6faff,
|
|
172
|
-
lavenderblush: 0xfff0f5ff,
|
|
173
|
-
lawngreen: 0x7cfc00ff,
|
|
174
|
-
lemonchiffon: 0xfffacdff,
|
|
175
|
-
lightblue: 0xadd8e6ff,
|
|
176
|
-
lightcoral: 0xf08080ff,
|
|
177
|
-
lightcyan: 0xe0ffffff,
|
|
178
|
-
lightgoldenrodyellow: 0xfafad2ff,
|
|
179
|
-
lightgray: 0xd3d3d3ff,
|
|
180
|
-
lightgreen: 0x90ee90ff,
|
|
181
|
-
lightgrey: 0xd3d3d3ff,
|
|
182
|
-
lightpink: 0xffb6c1ff,
|
|
183
|
-
lightsalmon: 0xffa07aff,
|
|
184
|
-
lightseagreen: 0x20b2aaff,
|
|
185
|
-
lightskyblue: 0x87cefaff,
|
|
186
|
-
lightslategray: 0x778899ff,
|
|
187
|
-
lightslategrey: 0x778899ff,
|
|
188
|
-
lightsteelblue: 0xb0c4deff,
|
|
189
|
-
lightyellow: 0xffffe0ff,
|
|
190
|
-
lime: 0x00ff00ff,
|
|
191
|
-
limegreen: 0x32cd32ff,
|
|
192
|
-
linen: 0xfaf0e6ff,
|
|
193
|
-
magenta: 0xff00ffff,
|
|
194
|
-
maroon: 0x800000ff,
|
|
195
|
-
mediumaquamarine: 0x66cdaaff,
|
|
196
|
-
mediumblue: 0x0000cdff,
|
|
197
|
-
mediumorchid: 0xba55d3ff,
|
|
198
|
-
mediumpurple: 0x9370dbff,
|
|
199
|
-
mediumseagreen: 0x3cb371ff,
|
|
200
|
-
mediumslateblue: 0x7b68eeff,
|
|
201
|
-
mediumspringgreen: 0x00fa9aff,
|
|
202
|
-
mediumturquoise: 0x48d1ccff,
|
|
203
|
-
mediumvioletred: 0xc71585ff,
|
|
204
|
-
midnightblue: 0x191970ff,
|
|
205
|
-
mintcream: 0xf5fffaff,
|
|
206
|
-
mistyrose: 0xffe4e1ff,
|
|
207
|
-
moccasin: 0xffe4b5ff,
|
|
208
|
-
navajowhite: 0xffdeadff,
|
|
209
|
-
navy: 0x000080ff,
|
|
210
|
-
oldlace: 0xfdf5e6ff,
|
|
211
|
-
olive: 0x808000ff,
|
|
212
|
-
olivedrab: 0x6b8e23ff,
|
|
213
|
-
orange: 0xffa500ff,
|
|
214
|
-
orangered: 0xff4500ff,
|
|
215
|
-
orchid: 0xda70d6ff,
|
|
216
|
-
palegoldenrod: 0xeee8aaff,
|
|
217
|
-
palegreen: 0x98fb98ff,
|
|
218
|
-
paleturquoise: 0xafeeeeff,
|
|
219
|
-
palevioletred: 0xdb7093ff,
|
|
220
|
-
papayawhip: 0xffefd5ff,
|
|
221
|
-
peachpuff: 0xffdab9ff,
|
|
222
|
-
peru: 0xcd853fff,
|
|
223
|
-
pink: 0xffc0cbff,
|
|
224
|
-
plum: 0xdda0ddff,
|
|
225
|
-
powderblue: 0xb0e0e6ff,
|
|
226
|
-
purple: 0x800080ff,
|
|
227
|
-
rebeccapurple: 0x663399ff,
|
|
228
|
-
red: 0xff0000ff,
|
|
229
|
-
rosybrown: 0xbc8f8fff,
|
|
230
|
-
royalblue: 0x4169e1ff,
|
|
231
|
-
saddlebrown: 0x8b4513ff,
|
|
232
|
-
salmon: 0xfa8072ff,
|
|
233
|
-
sandybrown: 0xf4a460ff,
|
|
234
|
-
seagreen: 0x2e8b57ff,
|
|
235
|
-
seashell: 0xfff5eeff,
|
|
236
|
-
sienna: 0xa0522dff,
|
|
237
|
-
silver: 0xc0c0c0ff,
|
|
238
|
-
skyblue: 0x87ceebff,
|
|
239
|
-
slateblue: 0x6a5acdff,
|
|
240
|
-
slategray: 0x708090ff,
|
|
241
|
-
slategrey: 0x708090ff,
|
|
242
|
-
snow: 0xfffafaff,
|
|
243
|
-
springgreen: 0x00ff7fff,
|
|
244
|
-
steelblue: 0x4682b4ff,
|
|
245
|
-
tan: 0xd2b48cff,
|
|
246
|
-
teal: 0x008080ff,
|
|
247
|
-
thistle: 0xd8bfd8ff,
|
|
248
|
-
tomato: 0xff6347ff,
|
|
249
|
-
turquoise: 0x40e0d0ff,
|
|
250
|
-
violet: 0xee82eeff,
|
|
251
|
-
wheat: 0xf5deb3ff,
|
|
252
|
-
white: 0xffffffff,
|
|
253
|
-
whitesmoke: 0xf5f5f5ff,
|
|
254
|
-
yellow: 0xffff00ff,
|
|
255
|
-
yellowgreen: 0x9acd32ff,
|
|
256
|
-
};
|
|
257
|
-
function normalizeColor(color) {
|
|
258
|
-
const matchers = getMatchers();
|
|
259
|
-
let match;
|
|
260
|
-
// Ordered based on occurrences on Facebook codebase
|
|
261
|
-
if (matchers.hex6) {
|
|
262
|
-
if ((match = matchers.hex6.exec(color))) {
|
|
263
|
-
return Number.parseInt(match[1] + 'ff', 16) >>> 0;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
if (names[color] !== undefined) {
|
|
267
|
-
return names[color];
|
|
268
|
-
}
|
|
269
|
-
if (matchers.rgb) {
|
|
270
|
-
if ((match = matchers.rgb.exec(color))) {
|
|
271
|
-
return (
|
|
272
|
-
// b
|
|
273
|
-
((parse255(match[1]) << 24) | // r
|
|
274
|
-
(parse255(match[2]) << 16) | // g
|
|
275
|
-
(parse255(match[3]) << 8) |
|
|
276
|
-
0x000000ff) >>> // a
|
|
277
|
-
0);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
if (matchers.rgba) {
|
|
281
|
-
if ((match = matchers.rgba.exec(color))) {
|
|
282
|
-
return (
|
|
283
|
-
// b
|
|
284
|
-
((parse255(match[1]) << 24) | // r
|
|
285
|
-
(parse255(match[2]) << 16) | // g
|
|
286
|
-
(parse255(match[3]) << 8) |
|
|
287
|
-
parse1(match[4])) >>> // a
|
|
288
|
-
0);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
if (matchers.hex3) {
|
|
292
|
-
if ((match = matchers.hex3.exec(color))) {
|
|
293
|
-
return (Number.parseInt(match[1] +
|
|
294
|
-
match[1] + // r
|
|
295
|
-
match[2] +
|
|
296
|
-
match[2] + // g
|
|
297
|
-
match[3] +
|
|
298
|
-
match[3] + // b
|
|
299
|
-
'ff', // a
|
|
300
|
-
16) >>> 0);
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
// https://drafts.csswg.org/css-color-4/#hex-notation
|
|
304
|
-
if (matchers.hex8) {
|
|
305
|
-
if ((match = matchers.hex8.exec(color))) {
|
|
306
|
-
return Number.parseInt(match[1], 16) >>> 0;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
if (matchers.hex4) {
|
|
310
|
-
if ((match = matchers.hex4.exec(color))) {
|
|
311
|
-
return (Number.parseInt(match[1] +
|
|
312
|
-
match[1] + // r
|
|
313
|
-
match[2] +
|
|
314
|
-
match[2] + // g
|
|
315
|
-
match[3] +
|
|
316
|
-
match[3] + // b
|
|
317
|
-
match[4] +
|
|
318
|
-
match[4], // a
|
|
319
|
-
16) >>> 0);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
if (matchers.hsl) {
|
|
323
|
-
if ((match = matchers.hsl.exec(color))) {
|
|
324
|
-
return ((hslToRgb(parse360(match[1]), // h
|
|
325
|
-
parsePercentage(match[2]), // s
|
|
326
|
-
parsePercentage(match[3]) // l
|
|
327
|
-
) |
|
|
328
|
-
0x000000ff) >>> // a
|
|
329
|
-
0);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
if (matchers.hsla) {
|
|
333
|
-
if ((match = matchers.hsla.exec(color))) {
|
|
334
|
-
return ((hslToRgb(parse360(match[1]), // h
|
|
335
|
-
parsePercentage(match[2]), // s
|
|
336
|
-
parsePercentage(match[3]) // l
|
|
337
|
-
) |
|
|
338
|
-
parse1(match[4])) >>> // a
|
|
339
|
-
0);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
throw new Error(`invalid color string ${color} provided`);
|
|
343
|
-
}
|
|
344
|
-
const opacity = (c) => {
|
|
345
|
-
return ((c >> 24) & 255) / 255;
|
|
346
|
-
};
|
|
347
|
-
const red = (c) => {
|
|
348
|
-
return (c >> 16) & 255;
|
|
349
|
-
};
|
|
350
|
-
const green = (c) => {
|
|
351
|
-
return (c >> 8) & 255;
|
|
352
|
-
};
|
|
353
|
-
const blue = (c) => {
|
|
354
|
-
return c & 255;
|
|
355
|
-
};
|
|
356
|
-
const rgbaColor = (r, g, b, alpha) => {
|
|
357
|
-
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
358
|
-
};
|
|
359
|
-
function processColorInitially(color) {
|
|
360
|
-
let normalizedColor = normalizeColor(color);
|
|
361
|
-
normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0; // argb
|
|
362
|
-
return normalizedColor;
|
|
363
|
-
}
|
|
364
|
-
function processColor(color) {
|
|
365
|
-
const normalizedColor = processColorInitially(color);
|
|
366
|
-
return normalizedColor;
|
|
367
|
-
}
|
|
368
|
-
const interpolateColorsRGB = (value, inputRange, colors) => {
|
|
369
|
-
const [r, g, b, a] = [red, green, blue, opacity].map((f) => {
|
|
370
|
-
const unrounded = (0, interpolate_1.interpolate)(value, inputRange, colors.map((c) => f(c)), {
|
|
371
|
-
extrapolateLeft: 'clamp',
|
|
372
|
-
extrapolateRight: 'clamp',
|
|
373
|
-
});
|
|
374
|
-
if (f === opacity) {
|
|
375
|
-
return Number(unrounded.toFixed(3));
|
|
376
|
-
}
|
|
377
|
-
return Math.round(unrounded);
|
|
378
|
-
});
|
|
379
|
-
return rgbaColor(r, g, b, a);
|
|
380
|
-
};
|
|
381
|
-
const interpolateColors = (input, inputRange, outputRange) => {
|
|
382
|
-
if (typeof input === 'undefined') {
|
|
383
|
-
throw new TypeError('input can not be undefined');
|
|
384
|
-
}
|
|
385
|
-
if (typeof inputRange === 'undefined') {
|
|
386
|
-
throw new TypeError('inputRange can not be undefined');
|
|
387
|
-
}
|
|
388
|
-
if (typeof outputRange === 'undefined') {
|
|
389
|
-
throw new TypeError('outputRange can not be undefined');
|
|
390
|
-
}
|
|
391
|
-
if (inputRange.length !== outputRange.length) {
|
|
392
|
-
throw new TypeError('inputRange (' +
|
|
393
|
-
inputRange.length +
|
|
394
|
-
' values provided) and outputRange (' +
|
|
395
|
-
outputRange.length +
|
|
396
|
-
' values provided) must have the same length');
|
|
397
|
-
}
|
|
398
|
-
const processedOutputRange = outputRange.map((c) => processColor(c));
|
|
399
|
-
return interpolateColorsRGB(input, inputRange, processedOutputRange);
|
|
400
|
-
};
|
|
401
|
-
exports.interpolateColors = interpolateColors;
|
package/dist/is-audio-codec.d.ts
DELETED
package/dist/is-audio-codec.js
DELETED
package/dist/perf/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
declare type PerfId = 'activate-target' | 'capture' | 'save' | 'extract-frame' | 'piping';
|
|
2
|
-
export declare const startPerfMeasure: (marker: PerfId) => number;
|
|
3
|
-
export declare const stopPerfMeasure: (id: number) => void;
|
|
4
|
-
export declare const logPerf: () => void;
|
|
5
|
-
export {};
|
package/dist/perf/index.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logPerf = exports.stopPerfMeasure = exports.startPerfMeasure = void 0;
|
|
4
|
-
const perf = {
|
|
5
|
-
'activate-target': [],
|
|
6
|
-
capture: [],
|
|
7
|
-
save: [],
|
|
8
|
-
'extract-frame': [],
|
|
9
|
-
piping: [],
|
|
10
|
-
};
|
|
11
|
-
const map = {};
|
|
12
|
-
const startPerfMeasure = (marker) => {
|
|
13
|
-
const id = Math.random();
|
|
14
|
-
map[id] = {
|
|
15
|
-
id,
|
|
16
|
-
marker,
|
|
17
|
-
start: Date.now(),
|
|
18
|
-
};
|
|
19
|
-
return id;
|
|
20
|
-
};
|
|
21
|
-
exports.startPerfMeasure = startPerfMeasure;
|
|
22
|
-
const stopPerfMeasure = (id) => {
|
|
23
|
-
const now = Date.now();
|
|
24
|
-
const diff = now - map[id].start;
|
|
25
|
-
perf[map[id].marker].push(diff);
|
|
26
|
-
delete map[id];
|
|
27
|
-
};
|
|
28
|
-
exports.stopPerfMeasure = stopPerfMeasure;
|
|
29
|
-
const logPerf = () => {
|
|
30
|
-
console.log('Render performance:');
|
|
31
|
-
Object.keys(perf).forEach((p) => {
|
|
32
|
-
console.log(` ${p} => ${perf[p].reduce((a, b) => a + b, 0) / perf[p].length} (n = ${perf[p].length})`);
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
|
-
exports.logPerf = logPerf;
|
package/dist/preload.d.ts
DELETED
package/dist/preload.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Preload = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const Sequence_1 = require("./Sequence");
|
|
7
|
-
const timeline_position_state_1 = require("./timeline-position-state");
|
|
8
|
-
const Preload = ({ for: preloadFor, children, }) => {
|
|
9
|
-
const sequenceContext = (0, react_1.useContext)(Sequence_1.SequenceContext);
|
|
10
|
-
if (typeof preloadFor === 'undefined') {
|
|
11
|
-
throw new Error(`The <Preload /> component requires a 'for' prop, but none was passed.`);
|
|
12
|
-
}
|
|
13
|
-
if (typeof preloadFor !== 'number') {
|
|
14
|
-
throw new Error(`The 'for' prop of <Preload /> must be a number, but is of type ${typeof preloadFor}`);
|
|
15
|
-
}
|
|
16
|
-
if (Number.isNaN(preloadFor)) {
|
|
17
|
-
throw new Error(`The 'for' prop of <Preload /> must be a real number, but it is NaN.`);
|
|
18
|
-
}
|
|
19
|
-
if (!Number.isFinite(preloadFor)) {
|
|
20
|
-
throw new Error(`The 'for' prop of <Preload /> must be a finite number, but it is ${preloadFor}.`);
|
|
21
|
-
}
|
|
22
|
-
const context = (0, react_1.useContext)(timeline_position_state_1.TimelineContext);
|
|
23
|
-
const value = (0, react_1.useMemo)(() => {
|
|
24
|
-
const contextOffset = sequenceContext
|
|
25
|
-
? sequenceContext.cumulatedFrom + sequenceContext.relativeFrom
|
|
26
|
-
: 0;
|
|
27
|
-
const currentFrame = context.frame - contextOffset;
|
|
28
|
-
return {
|
|
29
|
-
...context,
|
|
30
|
-
playing: currentFrame < preloadFor ? false : context.playing,
|
|
31
|
-
imperativePlaying: {
|
|
32
|
-
current: currentFrame < preloadFor ? false : context.imperativePlaying.current,
|
|
33
|
-
},
|
|
34
|
-
frame: Math.max(0, currentFrame - preloadFor) + contextOffset,
|
|
35
|
-
};
|
|
36
|
-
}, [context, preloadFor, sequenceContext]);
|
|
37
|
-
return ((0, jsx_runtime_1.jsx)(timeline_position_state_1.TimelineContext.Provider, { value: value, children: children }));
|
|
38
|
-
};
|
|
39
|
-
exports.Preload = Preload;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export declare type SequenceContextType = {
|
|
3
|
-
cumulatedFrom: number;
|
|
4
|
-
relativeFrom: number;
|
|
5
|
-
parentFrom: number;
|
|
6
|
-
durationInFrames: number;
|
|
7
|
-
id: string;
|
|
8
|
-
};
|
|
9
|
-
export declare const SequenceContext: React.Context<SequenceContextType | null>;
|
|
10
|
-
export declare type SequenceProps = {
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
from: number;
|
|
13
|
-
durationInFrames?: number;
|
|
14
|
-
name?: string;
|
|
15
|
-
layout?: 'absolute-fill' | 'none';
|
|
16
|
-
showInTimeline?: boolean;
|
|
17
|
-
showLoopTimesInTimeline?: number;
|
|
18
|
-
};
|
|
19
|
-
export declare const Sequence: React.FC<SequenceProps>;
|
package/dist/sequencing/index.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Sequence = exports.SequenceContext = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const CompositionManager_1 = require("../CompositionManager");
|
|
7
|
-
const get_timeline_clip_name_1 = require("../get-timeline-clip-name");
|
|
8
|
-
const nonce_1 = require("../nonce");
|
|
9
|
-
const timeline_position_state_1 = require("../timeline-position-state");
|
|
10
|
-
const use_frame_1 = require("../use-frame");
|
|
11
|
-
const use_unsafe_video_config_1 = require("../use-unsafe-video-config");
|
|
12
|
-
exports.SequenceContext = (0, react_1.createContext)(null);
|
|
13
|
-
const Sequence = ({ from, durationInFrames = Infinity, children, name, layout = 'absolute-fill', showInTimeline = true, showLoopTimesInTimeline, }) => {
|
|
14
|
-
const [id] = (0, react_1.useState)(() => String(Math.random()));
|
|
15
|
-
const parentSequence = (0, react_1.useContext)(exports.SequenceContext);
|
|
16
|
-
const { rootId } = (0, react_1.useContext)(timeline_position_state_1.TimelineContext);
|
|
17
|
-
const cumulatedFrom = parentSequence
|
|
18
|
-
? parentSequence.cumulatedFrom + parentSequence.relativeFrom
|
|
19
|
-
: 0;
|
|
20
|
-
const actualFrom = cumulatedFrom + from;
|
|
21
|
-
const nonce = (0, nonce_1.useNonce)();
|
|
22
|
-
if (layout !== 'absolute-fill' && layout !== 'none') {
|
|
23
|
-
throw new TypeError(`The layout prop of <Sequence /> expects either "absolute-fill" or "none", but you passed: ${layout}`);
|
|
24
|
-
}
|
|
25
|
-
if (typeof durationInFrames !== 'number') {
|
|
26
|
-
throw new TypeError(`You passed to durationInFrames an argument of type ${typeof durationInFrames}, but it must be a number.`);
|
|
27
|
-
}
|
|
28
|
-
if (durationInFrames <= 0) {
|
|
29
|
-
throw new TypeError(`durationInFrames must be positive, but got ${durationInFrames}`);
|
|
30
|
-
}
|
|
31
|
-
// Infinity is non-integer but allowed!
|
|
32
|
-
if (durationInFrames % 1 !== 0 && Number.isFinite(durationInFrames)) {
|
|
33
|
-
throw new TypeError(`The "durationInFrames" of a sequence must be an integer, but got ${durationInFrames}.`);
|
|
34
|
-
}
|
|
35
|
-
if (typeof from !== 'number') {
|
|
36
|
-
throw new TypeError(`You passed to the "from" props of your <Sequence> an argument of type ${typeof from}, but it must be a number.`);
|
|
37
|
-
}
|
|
38
|
-
if (from % 1 !== 0) {
|
|
39
|
-
throw new TypeError(`The "from" prop of a sequence must be an integer, but got ${from}.`);
|
|
40
|
-
}
|
|
41
|
-
const absoluteFrame = (0, use_frame_1.useAbsoluteCurrentFrame)();
|
|
42
|
-
const unsafeVideoConfig = (0, use_unsafe_video_config_1.useUnsafeVideoConfig)();
|
|
43
|
-
const compositionDuration = unsafeVideoConfig
|
|
44
|
-
? unsafeVideoConfig.durationInFrames
|
|
45
|
-
: 0;
|
|
46
|
-
const actualDurationInFrames = Math.min(compositionDuration - from, parentSequence
|
|
47
|
-
? Math.min(parentSequence.durationInFrames +
|
|
48
|
-
(parentSequence.cumulatedFrom + parentSequence.relativeFrom) -
|
|
49
|
-
actualFrom, durationInFrames)
|
|
50
|
-
: durationInFrames);
|
|
51
|
-
const { registerSequence, unregisterSequence } = (0, react_1.useContext)(CompositionManager_1.CompositionManager);
|
|
52
|
-
const contextValue = (0, react_1.useMemo)(() => {
|
|
53
|
-
var _a;
|
|
54
|
-
return {
|
|
55
|
-
cumulatedFrom,
|
|
56
|
-
relativeFrom: from,
|
|
57
|
-
durationInFrames: actualDurationInFrames,
|
|
58
|
-
parentFrom: (_a = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.relativeFrom) !== null && _a !== void 0 ? _a : 0,
|
|
59
|
-
id,
|
|
60
|
-
};
|
|
61
|
-
}, [
|
|
62
|
-
cumulatedFrom,
|
|
63
|
-
from,
|
|
64
|
-
actualDurationInFrames,
|
|
65
|
-
parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.relativeFrom,
|
|
66
|
-
id,
|
|
67
|
-
]);
|
|
68
|
-
const timelineClipName = (0, react_1.useMemo)(() => {
|
|
69
|
-
return name !== null && name !== void 0 ? name : (0, get_timeline_clip_name_1.getTimelineClipName)(children);
|
|
70
|
-
}, [children, name]);
|
|
71
|
-
(0, react_1.useEffect)(() => {
|
|
72
|
-
var _a;
|
|
73
|
-
registerSequence({
|
|
74
|
-
from,
|
|
75
|
-
duration: actualDurationInFrames,
|
|
76
|
-
id,
|
|
77
|
-
displayName: timelineClipName,
|
|
78
|
-
parent: (_a = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.id) !== null && _a !== void 0 ? _a : null,
|
|
79
|
-
type: 'sequence',
|
|
80
|
-
rootId,
|
|
81
|
-
showInTimeline,
|
|
82
|
-
nonce,
|
|
83
|
-
showLoopTimesInTimeline,
|
|
84
|
-
});
|
|
85
|
-
return () => {
|
|
86
|
-
unregisterSequence(id);
|
|
87
|
-
};
|
|
88
|
-
}, [
|
|
89
|
-
durationInFrames,
|
|
90
|
-
actualFrom,
|
|
91
|
-
id,
|
|
92
|
-
name,
|
|
93
|
-
registerSequence,
|
|
94
|
-
timelineClipName,
|
|
95
|
-
unregisterSequence,
|
|
96
|
-
parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.id,
|
|
97
|
-
actualDurationInFrames,
|
|
98
|
-
rootId,
|
|
99
|
-
from,
|
|
100
|
-
showInTimeline,
|
|
101
|
-
nonce,
|
|
102
|
-
showLoopTimesInTimeline,
|
|
103
|
-
]);
|
|
104
|
-
const endThreshold = (() => {
|
|
105
|
-
return actualFrom + durationInFrames - 1;
|
|
106
|
-
})();
|
|
107
|
-
const content = absoluteFrame < actualFrom
|
|
108
|
-
? null
|
|
109
|
-
: absoluteFrame > endThreshold
|
|
110
|
-
? null
|
|
111
|
-
: children;
|
|
112
|
-
return ((0, jsx_runtime_1.jsx)(exports.SequenceContext.Provider, { value: contextValue, children: content === null ? null : layout === 'absolute-fill' ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
113
|
-
position: 'absolute',
|
|
114
|
-
display: 'flex',
|
|
115
|
-
width: '100%',
|
|
116
|
-
height: '100%',
|
|
117
|
-
top: 0,
|
|
118
|
-
bottom: 0,
|
|
119
|
-
left: 0,
|
|
120
|
-
right: 0,
|
|
121
|
-
}, children: content })) : (content) }));
|
|
122
|
-
};
|
|
123
|
-
exports.Sequence = Sequence;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
export declare type TimelineInOutContextValue = {
|
|
3
|
-
inFrame: number | null;
|
|
4
|
-
outFrame: number | null;
|
|
5
|
-
};
|
|
6
|
-
export declare type SetTimelineInOutContextValue = {
|
|
7
|
-
setInAndOutFrames: (u: React.SetStateAction<TimelineInOutContextValue>) => void;
|
|
8
|
-
};
|
|
9
|
-
export declare const TimelineInOutContext: React.Context<TimelineInOutContextValue>;
|
|
10
|
-
export declare const SetTimelineInOutContext: React.Context<SetTimelineInOutContextValue>;
|
|
11
|
-
export declare const useTimelineInOutFramePosition: () => TimelineInOutContextValue;
|
|
12
|
-
export declare const useTimelineSetInOutFramePosition: () => SetTimelineInOutContextValue;
|