@klikeai/cut-preview 1.0.0 → 1.0.1
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/dist/index.js +70 -63
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -184,11 +184,23 @@ var resolveCutTransition = (theme, explicitType, explicitMs) => {
|
|
|
184
184
|
};
|
|
185
185
|
|
|
186
186
|
// ../src/layers/VideoBase.tsx
|
|
187
|
-
import { AbsoluteFill
|
|
187
|
+
import { AbsoluteFill } from "remotion";
|
|
188
|
+
|
|
189
|
+
// ../src/layers/SmartVideo.tsx
|
|
190
|
+
import { getRemotionEnvironment, OffthreadVideo, Video } from "remotion";
|
|
188
191
|
import { jsx } from "react/jsx-runtime";
|
|
192
|
+
var SmartVideo = (props) => {
|
|
193
|
+
if (getRemotionEnvironment().isRendering) {
|
|
194
|
+
return /* @__PURE__ */ jsx(OffthreadVideo, { ...props });
|
|
195
|
+
}
|
|
196
|
+
return /* @__PURE__ */ jsx(Video, { ...props });
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
// ../src/layers/VideoBase.tsx
|
|
200
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
189
201
|
var VideoBase = ({ source, fit = "cover" }) => {
|
|
190
|
-
return /* @__PURE__ */
|
|
191
|
-
|
|
202
|
+
return /* @__PURE__ */ jsx2(AbsoluteFill, { children: /* @__PURE__ */ jsx2(
|
|
203
|
+
SmartVideo,
|
|
192
204
|
{
|
|
193
205
|
src: source.videoPath,
|
|
194
206
|
style: { width: "100%", height: "100%", objectFit: fit }
|
|
@@ -197,15 +209,15 @@ var VideoBase = ({ source, fit = "cover" }) => {
|
|
|
197
209
|
};
|
|
198
210
|
|
|
199
211
|
// ../src/layers/ReframeContainer.tsx
|
|
200
|
-
import { AbsoluteFill as AbsoluteFill2
|
|
201
|
-
import { Fragment, jsx as
|
|
212
|
+
import { AbsoluteFill as AbsoluteFill2 } from "remotion";
|
|
213
|
+
import { Fragment, jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
202
214
|
var ReframeContainer = ({ reframe, source, children }) => {
|
|
203
215
|
if (!reframe.enabled) {
|
|
204
|
-
return /* @__PURE__ */
|
|
216
|
+
return /* @__PURE__ */ jsx3(Fragment, { children });
|
|
205
217
|
}
|
|
206
218
|
return /* @__PURE__ */ jsxs(AbsoluteFill2, { children: [
|
|
207
|
-
/* @__PURE__ */
|
|
208
|
-
|
|
219
|
+
/* @__PURE__ */ jsx3(AbsoluteFill2, { children: /* @__PURE__ */ jsx3(
|
|
220
|
+
SmartVideo,
|
|
209
221
|
{
|
|
210
222
|
src: source.videoPath,
|
|
211
223
|
muted: true,
|
|
@@ -218,7 +230,7 @@ var ReframeContainer = ({ reframe, source, children }) => {
|
|
|
218
230
|
}
|
|
219
231
|
}
|
|
220
232
|
) }),
|
|
221
|
-
/* @__PURE__ */
|
|
233
|
+
/* @__PURE__ */ jsx3(
|
|
222
234
|
AbsoluteFill2,
|
|
223
235
|
{
|
|
224
236
|
style: { alignItems: "center", justifyContent: "center" },
|
|
@@ -229,12 +241,7 @@ var ReframeContainer = ({ reframe, source, children }) => {
|
|
|
229
241
|
};
|
|
230
242
|
|
|
231
243
|
// ../src/layers/CutsSequencer.tsx
|
|
232
|
-
import {
|
|
233
|
-
AbsoluteFill as AbsoluteFill3,
|
|
234
|
-
interpolate as interpolate2,
|
|
235
|
-
OffthreadVideo as OffthreadVideo3,
|
|
236
|
-
useVideoConfig
|
|
237
|
-
} from "remotion";
|
|
244
|
+
import { AbsoluteFill as AbsoluteFill3, interpolate as interpolate2, useVideoConfig } from "remotion";
|
|
238
245
|
import {
|
|
239
246
|
linearTiming,
|
|
240
247
|
TransitionSeries
|
|
@@ -296,7 +303,7 @@ var textOutline = (color, px = 3) => {
|
|
|
296
303
|
};
|
|
297
304
|
|
|
298
305
|
// ../src/layers/CutsSequencer.tsx
|
|
299
|
-
import { jsx as
|
|
306
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
300
307
|
var presentationFor = (type) => {
|
|
301
308
|
if (type === "wipe") return wipe();
|
|
302
309
|
if (type === "slide") return slide();
|
|
@@ -328,8 +335,8 @@ var SegmentVideo = ({
|
|
|
328
335
|
}
|
|
329
336
|
return v;
|
|
330
337
|
};
|
|
331
|
-
const fg = /* @__PURE__ */
|
|
332
|
-
|
|
338
|
+
const fg = /* @__PURE__ */ jsx4(
|
|
339
|
+
SmartVideo,
|
|
333
340
|
{
|
|
334
341
|
src: source.videoPath,
|
|
335
342
|
startFrom: startFromFrames,
|
|
@@ -342,11 +349,11 @@ var SegmentVideo = ({
|
|
|
342
349
|
}
|
|
343
350
|
);
|
|
344
351
|
if (!reframe.enabled) {
|
|
345
|
-
return /* @__PURE__ */
|
|
352
|
+
return /* @__PURE__ */ jsx4(AbsoluteFill3, { children: fg });
|
|
346
353
|
}
|
|
347
354
|
return /* @__PURE__ */ jsxs2(AbsoluteFill3, { children: [
|
|
348
|
-
/* @__PURE__ */
|
|
349
|
-
|
|
355
|
+
/* @__PURE__ */ jsx4(AbsoluteFill3, { children: /* @__PURE__ */ jsx4(
|
|
356
|
+
SmartVideo,
|
|
350
357
|
{
|
|
351
358
|
src: source.videoPath,
|
|
352
359
|
startFrom: startFromFrames,
|
|
@@ -360,7 +367,7 @@ var SegmentVideo = ({
|
|
|
360
367
|
}
|
|
361
368
|
}
|
|
362
369
|
) }),
|
|
363
|
-
/* @__PURE__ */
|
|
370
|
+
/* @__PURE__ */ jsx4(AbsoluteFill3, { style: { alignItems: "center", justifyContent: "center" }, children: fg })
|
|
364
371
|
] });
|
|
365
372
|
};
|
|
366
373
|
var CutsSequencer = ({ source, cuts, reframe, transition }) => {
|
|
@@ -379,11 +386,11 @@ var CutsSequencer = ({ source, cuts, reframe, transition }) => {
|
|
|
379
386
|
const fadeInF = i > 0 ? transF : 0;
|
|
380
387
|
const fadeOutF = i < segments.length - 1 ? transF : 0;
|
|
381
388
|
children.push(
|
|
382
|
-
/* @__PURE__ */
|
|
389
|
+
/* @__PURE__ */ jsx4(
|
|
383
390
|
TransitionSeries.Sequence,
|
|
384
391
|
{
|
|
385
392
|
durationInFrames,
|
|
386
|
-
children: /* @__PURE__ */
|
|
393
|
+
children: /* @__PURE__ */ jsx4(
|
|
387
394
|
SegmentVideo,
|
|
388
395
|
{
|
|
389
396
|
source,
|
|
@@ -400,7 +407,7 @@ var CutsSequencer = ({ source, cuts, reframe, transition }) => {
|
|
|
400
407
|
);
|
|
401
408
|
if (useTransition && i < segments.length - 1) {
|
|
402
409
|
children.push(
|
|
403
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ jsx4(
|
|
404
411
|
TransitionSeries.Transition,
|
|
405
412
|
{
|
|
406
413
|
presentation: presentationFor(transition.type),
|
|
@@ -411,12 +418,12 @@ var CutsSequencer = ({ source, cuts, reframe, transition }) => {
|
|
|
411
418
|
);
|
|
412
419
|
}
|
|
413
420
|
});
|
|
414
|
-
return /* @__PURE__ */
|
|
421
|
+
return /* @__PURE__ */ jsx4(TransitionSeries, { children });
|
|
415
422
|
};
|
|
416
423
|
|
|
417
424
|
// ../src/layers/ZoomLayer.tsx
|
|
418
425
|
import { AbsoluteFill as AbsoluteFill4, spring as spring2, useCurrentFrame } from "remotion";
|
|
419
|
-
import { Fragment as Fragment2, jsx as
|
|
426
|
+
import { Fragment as Fragment2, jsx as jsx5 } from "react/jsx-runtime";
|
|
420
427
|
var momentScaleBoost = (frame, fps, moment) => {
|
|
421
428
|
const startF = msToFrames(moment.startMs, fps);
|
|
422
429
|
const endF = msToFrames(moment.endMs, fps);
|
|
@@ -438,7 +445,7 @@ var momentScaleBoost = (frame, fps, moment) => {
|
|
|
438
445
|
var ZoomLayer = ({ zoom, fps, children }) => {
|
|
439
446
|
const frame = useCurrentFrame();
|
|
440
447
|
if (!zoom.enabled) {
|
|
441
|
-
return /* @__PURE__ */
|
|
448
|
+
return /* @__PURE__ */ jsx5(Fragment2, { children });
|
|
442
449
|
}
|
|
443
450
|
const moments = zoom.moments?.length ? zoom.moments : [{ startMs: zoom.startMs, endMs: zoom.endMs, factor: zoom.factor }];
|
|
444
451
|
let scale = 1;
|
|
@@ -456,7 +463,7 @@ var ZoomLayer = ({ zoom, fps, children }) => {
|
|
|
456
463
|
}
|
|
457
464
|
}
|
|
458
465
|
}
|
|
459
|
-
return /* @__PURE__ */
|
|
466
|
+
return /* @__PURE__ */ jsx5(AbsoluteFill4, { style: { transform: `scale(${scale})` }, children });
|
|
460
467
|
};
|
|
461
468
|
|
|
462
469
|
// ../src/layers/CaptionsLayer.tsx
|
|
@@ -505,7 +512,7 @@ function resolveFontFamily(name) {
|
|
|
505
512
|
var AVAILABLE_FONTS = Object.keys(FONTS).filter((k) => FONTS[k]);
|
|
506
513
|
|
|
507
514
|
// ../src/layers/CaptionsLayer.tsx
|
|
508
|
-
import { Fragment as Fragment3, jsx as
|
|
515
|
+
import { Fragment as Fragment3, jsx as jsx6 } from "react/jsx-runtime";
|
|
509
516
|
var glowShadow = (color, scale = 1) => `0 0 ${8 * scale}px ${color}, 0 0 ${18 * scale}px ${color}, 0 0 ${36 * scale}px ${color}66`;
|
|
510
517
|
var Page = ({ page, style, displayMode, safeZones }) => {
|
|
511
518
|
const frame = useCurrentFrame2();
|
|
@@ -543,7 +550,7 @@ var Page = ({ page, style, displayMode, safeZones }) => {
|
|
|
543
550
|
scale = springScale(frame - tokenStartFrame, fps, style.activeScale);
|
|
544
551
|
}
|
|
545
552
|
const boxed = template === "box" && highlight;
|
|
546
|
-
return /* @__PURE__ */
|
|
553
|
+
return /* @__PURE__ */ jsx6(
|
|
547
554
|
"span",
|
|
548
555
|
{
|
|
549
556
|
style: {
|
|
@@ -565,7 +572,7 @@ var Page = ({ page, style, displayMode, safeZones }) => {
|
|
|
565
572
|
);
|
|
566
573
|
};
|
|
567
574
|
const position = style.position;
|
|
568
|
-
return /* @__PURE__ */
|
|
575
|
+
return /* @__PURE__ */ jsx6(
|
|
569
576
|
AbsoluteFill5,
|
|
570
577
|
{
|
|
571
578
|
style: {
|
|
@@ -576,7 +583,7 @@ var Page = ({ page, style, displayMode, safeZones }) => {
|
|
|
576
583
|
paddingLeft: width * safeZones.marginSidePercent,
|
|
577
584
|
paddingRight: width * safeZones.marginSidePercent
|
|
578
585
|
},
|
|
579
|
-
children: /* @__PURE__ */
|
|
586
|
+
children: /* @__PURE__ */ jsx6(
|
|
580
587
|
"div",
|
|
581
588
|
{
|
|
582
589
|
style: {
|
|
@@ -628,16 +635,16 @@ var CaptionsLayer = ({ captions, style, displayMode, combineTokensWithinMs, safe
|
|
|
628
635
|
combineTokensWithinMilliseconds: combineTokensWithinMs
|
|
629
636
|
}).pages;
|
|
630
637
|
});
|
|
631
|
-
return /* @__PURE__ */
|
|
638
|
+
return /* @__PURE__ */ jsx6(Fragment3, { children: pages.map((page, i) => {
|
|
632
639
|
const from = msToFrames(page.startMs, fps);
|
|
633
640
|
const durationInFrames = Math.max(1, msToFrames(page.durationMs, fps));
|
|
634
|
-
return /* @__PURE__ */
|
|
641
|
+
return /* @__PURE__ */ jsx6(
|
|
635
642
|
Sequence,
|
|
636
643
|
{
|
|
637
644
|
from,
|
|
638
645
|
durationInFrames,
|
|
639
646
|
name: `caption-page-${i}`,
|
|
640
|
-
children: /* @__PURE__ */
|
|
647
|
+
children: /* @__PURE__ */ jsx6(
|
|
641
648
|
Page,
|
|
642
649
|
{
|
|
643
650
|
page,
|
|
@@ -662,7 +669,7 @@ import {
|
|
|
662
669
|
useVideoConfig as useVideoConfig3
|
|
663
670
|
} from "remotion";
|
|
664
671
|
import { fitText } from "@remotion/layout-utils";
|
|
665
|
-
import { Fragment as Fragment4, jsx as
|
|
672
|
+
import { Fragment as Fragment4, jsx as jsx7 } from "react/jsx-runtime";
|
|
666
673
|
var DEFAULT_FADE_MS = 300;
|
|
667
674
|
var DEFAULT_FONT_SIZE = 72;
|
|
668
675
|
var DEFAULT_COLOR = "#FFFFFF";
|
|
@@ -746,7 +753,7 @@ var OverlayText = ({ item, durationInFrames, fps, safeZones, captionsPosition })
|
|
|
746
753
|
const overlayPos = item.position ?? "center";
|
|
747
754
|
const bottomClearance = safeZones.marginBottomPercent + (captionsPosition === "bottom" && overlayPos === "bottom" ? CAPTION_BAND_PCT : 0);
|
|
748
755
|
const topClearance = safeZones.marginTopPercent + (captionsPosition === "top" && overlayPos === "top" ? CAPTION_BAND_PCT : 0);
|
|
749
|
-
return /* @__PURE__ */
|
|
756
|
+
return /* @__PURE__ */ jsx7(
|
|
750
757
|
AbsoluteFill6,
|
|
751
758
|
{
|
|
752
759
|
style: {
|
|
@@ -757,7 +764,7 @@ var OverlayText = ({ item, durationInFrames, fps, safeZones, captionsPosition })
|
|
|
757
764
|
paddingLeft: width * safeZones.marginSidePercent,
|
|
758
765
|
paddingRight: width * safeZones.marginSidePercent
|
|
759
766
|
},
|
|
760
|
-
children: /* @__PURE__ */
|
|
767
|
+
children: /* @__PURE__ */ jsx7(
|
|
761
768
|
"div",
|
|
762
769
|
{
|
|
763
770
|
style: {
|
|
@@ -781,19 +788,19 @@ var OverlayText = ({ item, durationInFrames, fps, safeZones, captionsPosition })
|
|
|
781
788
|
};
|
|
782
789
|
var OverlayLayer = ({ overlays, safeZones, fps, captionsPosition = null }) => {
|
|
783
790
|
if (!overlays || overlays.length === 0) return null;
|
|
784
|
-
return /* @__PURE__ */
|
|
791
|
+
return /* @__PURE__ */ jsx7(Fragment4, { children: overlays.map((item, i) => {
|
|
785
792
|
const from = msToFrames(item.startMs, fps);
|
|
786
793
|
const durationInFrames = Math.max(
|
|
787
794
|
1,
|
|
788
795
|
msToFrames(item.endMs, fps) - from
|
|
789
796
|
);
|
|
790
|
-
return /* @__PURE__ */
|
|
797
|
+
return /* @__PURE__ */ jsx7(
|
|
791
798
|
Sequence2,
|
|
792
799
|
{
|
|
793
800
|
from,
|
|
794
801
|
durationInFrames,
|
|
795
802
|
name: `overlay-${i}`,
|
|
796
|
-
children: /* @__PURE__ */
|
|
803
|
+
children: /* @__PURE__ */ jsx7(
|
|
797
804
|
OverlayText,
|
|
798
805
|
{
|
|
799
806
|
item,
|
|
@@ -818,7 +825,7 @@ import {
|
|
|
818
825
|
useCurrentFrame as useCurrentFrame4,
|
|
819
826
|
useVideoConfig as useVideoConfig4
|
|
820
827
|
} from "remotion";
|
|
821
|
-
import { Fragment as Fragment5, jsx as
|
|
828
|
+
import { Fragment as Fragment5, jsx as jsx8 } from "react/jsx-runtime";
|
|
822
829
|
var FADE_MS = 300;
|
|
823
830
|
var alignFor = (corner) => {
|
|
824
831
|
const vertical = corner.startsWith("top") ? "flex-start" : corner.startsWith("bottom") ? "flex-end" : "center";
|
|
@@ -836,7 +843,7 @@ var ImageOverlay = ({ item, durationInFrames, fps, safeZones }) => {
|
|
|
836
843
|
{ extrapolateLeft: "clamp", extrapolateRight: "clamp" }
|
|
837
844
|
) * item.opacity;
|
|
838
845
|
const { vertical, horizontal } = alignFor(item.corner);
|
|
839
|
-
return /* @__PURE__ */
|
|
846
|
+
return /* @__PURE__ */ jsx8(
|
|
840
847
|
AbsoluteFill7,
|
|
841
848
|
{
|
|
842
849
|
style: {
|
|
@@ -847,7 +854,7 @@ var ImageOverlay = ({ item, durationInFrames, fps, safeZones }) => {
|
|
|
847
854
|
paddingLeft: width * safeZones.marginSidePercent,
|
|
848
855
|
paddingRight: width * safeZones.marginSidePercent
|
|
849
856
|
},
|
|
850
|
-
children: /* @__PURE__ */
|
|
857
|
+
children: /* @__PURE__ */ jsx8(
|
|
851
858
|
Img,
|
|
852
859
|
{
|
|
853
860
|
src: item.src,
|
|
@@ -865,19 +872,19 @@ var ImageOverlay = ({ item, durationInFrames, fps, safeZones }) => {
|
|
|
865
872
|
};
|
|
866
873
|
var ImageOverlayLayer = ({ imageOverlays, safeZones, fps }) => {
|
|
867
874
|
if (!imageOverlays || imageOverlays.length === 0) return null;
|
|
868
|
-
return /* @__PURE__ */
|
|
875
|
+
return /* @__PURE__ */ jsx8(Fragment5, { children: imageOverlays.map((item, i) => {
|
|
869
876
|
const from = msToFrames(item.startMs, fps);
|
|
870
877
|
const durationInFrames = Math.max(
|
|
871
878
|
1,
|
|
872
879
|
msToFrames(item.endMs, fps) - from
|
|
873
880
|
);
|
|
874
|
-
return /* @__PURE__ */
|
|
881
|
+
return /* @__PURE__ */ jsx8(
|
|
875
882
|
Sequence3,
|
|
876
883
|
{
|
|
877
884
|
from,
|
|
878
885
|
durationInFrames,
|
|
879
886
|
name: `image-overlay-${i}`,
|
|
880
|
-
children: /* @__PURE__ */
|
|
887
|
+
children: /* @__PURE__ */ jsx8(
|
|
881
888
|
ImageOverlay,
|
|
882
889
|
{
|
|
883
890
|
item,
|
|
@@ -894,14 +901,14 @@ var ImageOverlayLayer = ({ imageOverlays, safeZones, fps }) => {
|
|
|
894
901
|
|
|
895
902
|
// ../src/layers/ProgressBarLayer.tsx
|
|
896
903
|
import { useCurrentFrame as useCurrentFrame5, useVideoConfig as useVideoConfig5 } from "remotion";
|
|
897
|
-
import { jsx as
|
|
904
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
898
905
|
var ProgressBarLayer = ({ progressBar, sourceDurationInSeconds, fps }) => {
|
|
899
906
|
const frame = useCurrentFrame5();
|
|
900
907
|
const { width, height } = useVideoConfig5();
|
|
901
908
|
if (!progressBar.enabled || sourceDurationInSeconds <= 0) return null;
|
|
902
909
|
const totalFrames = Math.max(1, Math.round(sourceDurationInSeconds * fps));
|
|
903
910
|
const progress = Math.min(1, frame / totalFrames);
|
|
904
|
-
return /* @__PURE__ */
|
|
911
|
+
return /* @__PURE__ */ jsx9(
|
|
905
912
|
"div",
|
|
906
913
|
{
|
|
907
914
|
style: {
|
|
@@ -928,7 +935,7 @@ import {
|
|
|
928
935
|
useCurrentFrame as useCurrentFrame6,
|
|
929
936
|
useVideoConfig as useVideoConfig6
|
|
930
937
|
} from "remotion";
|
|
931
|
-
import { jsx as
|
|
938
|
+
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
932
939
|
var DEFAULT_GRADIENT_ANGLE_DEG = 160;
|
|
933
940
|
var DEFAULT_LOGO_HEIGHT_PX = 140;
|
|
934
941
|
var backgroundStyle = (endcard) => {
|
|
@@ -973,7 +980,7 @@ var EndcardCard = ({
|
|
|
973
980
|
padding: "8%"
|
|
974
981
|
},
|
|
975
982
|
children: [
|
|
976
|
-
endcard.logoUrl ? /* @__PURE__ */
|
|
983
|
+
endcard.logoUrl ? /* @__PURE__ */ jsx10(
|
|
977
984
|
Img2,
|
|
978
985
|
{
|
|
979
986
|
src: endcard.logoUrl,
|
|
@@ -986,7 +993,7 @@ var EndcardCard = ({
|
|
|
986
993
|
}
|
|
987
994
|
}
|
|
988
995
|
) : null,
|
|
989
|
-
/* @__PURE__ */
|
|
996
|
+
/* @__PURE__ */ jsx10(
|
|
990
997
|
"div",
|
|
991
998
|
{
|
|
992
999
|
style: {
|
|
@@ -1012,11 +1019,11 @@ var EndcardSequence = ({ endcard, sourceDurationInSeconds, fps }) => {
|
|
|
1012
1019
|
if (!endcard.enabled || !endcard.text) return null;
|
|
1013
1020
|
const from = Math.round(sourceDurationInSeconds * fps);
|
|
1014
1021
|
const durationInFrames = Math.max(1, msToFrames(endcard.durationMs, fps));
|
|
1015
|
-
return /* @__PURE__ */
|
|
1022
|
+
return /* @__PURE__ */ jsx10(Sequence4, { from, durationInFrames, name: "endcard", children: /* @__PURE__ */ jsx10(EndcardCard, { endcard, fps }) });
|
|
1016
1023
|
};
|
|
1017
1024
|
|
|
1018
1025
|
// ../src/SmartStudioComposition.tsx
|
|
1019
|
-
import { jsx as
|
|
1026
|
+
import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1020
1027
|
var SmartStudioComposition = (props) => {
|
|
1021
1028
|
const { source, output, captions, overlays, endcard, safeZones, reframe, zoom, cuts } = props;
|
|
1022
1029
|
const theme = resolveTheme(props.stylePreset);
|
|
@@ -1033,11 +1040,11 @@ var SmartStudioComposition = (props) => {
|
|
|
1033
1040
|
);
|
|
1034
1041
|
const videoFilter = props.colorGrade ? gradeFilter(props.colorGrade.preset, props.colorGrade.intensity) : "none";
|
|
1035
1042
|
return /* @__PURE__ */ jsxs4(AbsoluteFill9, { style: { backgroundColor: "#000000" }, children: [
|
|
1036
|
-
/* @__PURE__ */
|
|
1043
|
+
/* @__PURE__ */ jsx11(AbsoluteFill9, { style: videoFilter !== "none" ? { filter: videoFilter } : void 0, children: cuts.enabled ? (
|
|
1037
1044
|
// Cortes DENTRO da composição: CutsSequencer é reframe-aware por
|
|
1038
1045
|
// segmento; o ZoomLayer envolve tudo (janelas já remapeadas p/ a
|
|
1039
1046
|
// timeline pós-corte pelo Python).
|
|
1040
|
-
/* @__PURE__ */
|
|
1047
|
+
/* @__PURE__ */ jsx11(ZoomLayer, { zoom, fps: output.fps, children: /* @__PURE__ */ jsx11(
|
|
1041
1048
|
CutsSequencer,
|
|
1042
1049
|
{
|
|
1043
1050
|
source,
|
|
@@ -1046,14 +1053,14 @@ var SmartStudioComposition = (props) => {
|
|
|
1046
1053
|
transition: cutTransition
|
|
1047
1054
|
}
|
|
1048
1055
|
) })
|
|
1049
|
-
) : /* @__PURE__ */
|
|
1056
|
+
) : /* @__PURE__ */ jsx11(ReframeContainer, { reframe, output, source, children: /* @__PURE__ */ jsx11(ZoomLayer, { zoom, fps: output.fps, children: /* @__PURE__ */ jsx11(
|
|
1050
1057
|
VideoBase,
|
|
1051
1058
|
{
|
|
1052
1059
|
source,
|
|
1053
1060
|
fit: reframe.enabled ? "contain" : "cover"
|
|
1054
1061
|
}
|
|
1055
1062
|
) }) }) }),
|
|
1056
|
-
/* @__PURE__ */
|
|
1063
|
+
/* @__PURE__ */ jsx11(
|
|
1057
1064
|
CaptionsLayer,
|
|
1058
1065
|
{
|
|
1059
1066
|
captions,
|
|
@@ -1064,7 +1071,7 @@ var SmartStudioComposition = (props) => {
|
|
|
1064
1071
|
fps: output.fps
|
|
1065
1072
|
}
|
|
1066
1073
|
),
|
|
1067
|
-
/* @__PURE__ */
|
|
1074
|
+
/* @__PURE__ */ jsx11(
|
|
1068
1075
|
OverlayLayer,
|
|
1069
1076
|
{
|
|
1070
1077
|
overlays: themedOverlays,
|
|
@@ -1073,7 +1080,7 @@ var SmartStudioComposition = (props) => {
|
|
|
1073
1080
|
captionsPosition: captions.enabled && captions.tokens.length > 0 ? captionStyle.position : null
|
|
1074
1081
|
}
|
|
1075
1082
|
),
|
|
1076
|
-
/* @__PURE__ */
|
|
1083
|
+
/* @__PURE__ */ jsx11(
|
|
1077
1084
|
ImageOverlayLayer,
|
|
1078
1085
|
{
|
|
1079
1086
|
imageOverlays: props.imageOverlays,
|
|
@@ -1081,7 +1088,7 @@ var SmartStudioComposition = (props) => {
|
|
|
1081
1088
|
fps: output.fps
|
|
1082
1089
|
}
|
|
1083
1090
|
),
|
|
1084
|
-
/* @__PURE__ */
|
|
1091
|
+
/* @__PURE__ */ jsx11(
|
|
1085
1092
|
ProgressBarLayer,
|
|
1086
1093
|
{
|
|
1087
1094
|
progressBar,
|
|
@@ -1089,7 +1096,7 @@ var SmartStudioComposition = (props) => {
|
|
|
1089
1096
|
fps: output.fps
|
|
1090
1097
|
}
|
|
1091
1098
|
),
|
|
1092
|
-
/* @__PURE__ */
|
|
1099
|
+
/* @__PURE__ */ jsx11(
|
|
1093
1100
|
EndcardSequence,
|
|
1094
1101
|
{
|
|
1095
1102
|
endcard: themedEndcard,
|
package/package.json
CHANGED