hyperframes 0.8.106 → 0.8.108
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/{add-QRAI4CAF.js → add-OH75E7FX.js} +16 -16
- package/dist/{animatedGifPrep-RZVYVAXD.js → animatedGifPrep-ZDAWSJYL.js} +7 -7
- package/dist/{asset-WFBQ5VS6.js → asset-BVDO4DEW.js} +2 -2
- package/dist/{assetCataloger-BQREHRS2.js → assetCataloger-FXEHOUA3.js} +3 -3
- package/dist/{auth-LVD6TWYG.js → auth-K5GUKO5S.js} +2 -2
- package/dist/{autoUpdate-HGE2PUZY.js → autoUpdate-77ROWK5G.js} +2 -2
- package/dist/{backgroundChecks-63CSE4XR.js → backgroundChecks-3Q3D5WBJ.js} +3 -3
- package/dist/backgroundChecksWorker.js +3 -3
- package/dist/{batchRender-AQN5PRXM.js → batchRender-ZTHFMHZY.js} +4 -4
- package/dist/{beats-OBCN5OSQ.js → beats-HQZPR6KE.js} +19 -13
- package/dist/{benchmark-DYHJSR7W.js → benchmark-BQOWARGU.js} +13 -13
- package/dist/{browser-JLYV5T7O.js → browser-45CK7HXI.js} +10 -10
- package/dist/{bundleWithLocalizedFonts-JKJKZR2S.js → bundleWithLocalizedFonts-3M2LKRHK.js} +2 -2
- package/dist/{capture-5BCJWVC7.js → capture-6IVZXM7G.js} +2 -2
- package/dist/{capture-QYLHIYKJ.js → capture-VGEUOP7N.js} +8 -8
- package/dist/{catalog-6UYNKENR.js → catalog-VHD7B6FD.js} +16 -16
- package/dist/{check-YOGAZ6UE.js → check-UPNZZJXV.js} +32 -31
- package/dist/{checkBrowser-M73YHPNM.js → checkBrowser-KWTHKOOP.js} +31 -30
- package/dist/{chunk-JYRPUDVZ.js → chunk-5N4KKGSZ.js} +1 -1
- package/dist/{normalize-audio-H3SI5V63.js → chunk-5ON5GH3X.js} +101 -209
- package/dist/{chunk-NRMYDPFQ.js → chunk-5R5UHSXN.js} +9 -9
- package/dist/{chunk-OSZJCBZX.js → chunk-AFGDOKRI.js} +7 -7
- package/dist/{chunk-6CN2QLB5.js → chunk-AWUZ3AUD.js} +1 -1
- package/dist/{chunk-TEXPOC5V.js → chunk-B25H4M4V.js} +2 -2
- package/dist/{chunk-JXXE3SWC.js → chunk-C6XQER6H.js} +28 -14
- package/dist/{chunk-Y2CZEJPK.js → chunk-CFC3EEDQ.js} +2 -2
- package/dist/{chunk-PB2OX2JY.js → chunk-D7SCIX4D.js} +1 -1
- package/dist/{chunk-AXWBDWAV.js → chunk-FZGUZIK5.js} +3 -3
- package/dist/{chunk-4WAMN4IF.js → chunk-GYYFNAVA.js} +1 -1
- package/dist/{chunk-TYA65W4U.js → chunk-HQGJLZB6.js} +2 -2
- package/dist/{chunk-LAHK4P7Q.js → chunk-J7XPPADY.js} +3 -3
- package/dist/{chunk-I77CAR4W.js → chunk-KVOWTRD5.js} +2 -2
- package/dist/{chunk-GVZYTDOD.js → chunk-KZ5OSG4G.js} +1 -1
- package/dist/{chunk-IBCGKQB5.js → chunk-KZJ6V7RT.js} +3 -3
- package/dist/{chunk-HUHJYNST.js → chunk-LAQEZHOH.js} +1 -1
- package/dist/{chunk-HFFR7TN7.js → chunk-LPXM5L6S.js} +2 -1
- package/dist/{chunk-2IZZZJDZ.js → chunk-LTYI4E42.js} +4 -4
- package/dist/{chunk-J3Q3YC6P.js → chunk-LZPAZZZP.js} +1 -1
- package/dist/{chunk-5TBFBLIX.js → chunk-MGTECHI3.js} +2 -2
- package/dist/{chunk-4I6AQUWG.js → chunk-NGVH2QYT.js} +8 -8
- package/dist/{chunk-M4KS6MJN.js → chunk-NJLFRKHX.js} +4 -4
- package/dist/{chunk-6LPWMCPY.js → chunk-NROJESOK.js} +2 -2
- package/dist/{chunk-UVUAU3CH.js → chunk-ONY5CJXS.js} +48 -26
- package/dist/{chunk-O5TBFZ7X.js → chunk-OVRFBUXU.js} +2 -2
- package/dist/{chunk-6F6EEQNB.js → chunk-PSGDNMM6.js} +1 -1
- package/dist/{chunk-AZQLJHAO.js → chunk-PZTEY73C.js} +1 -1
- package/dist/{chunk-VW5OMJNG.js → chunk-QB6OM2BP.js} +89 -70
- package/dist/{chunk-I6M4GXMC.js → chunk-QBHT234I.js} +1 -1
- package/dist/{chunk-TMLEIURT.js → chunk-QRXICW5Q.js} +1 -1
- package/dist/{chunk-4NJZZHYT.js → chunk-RPMXMOFU.js} +1 -1
- package/dist/{chunk-XZSH5GS7.js → chunk-RSL3XFMO.js} +4 -4
- package/dist/{chunk-PUB5XZYL.js → chunk-SIVCJJHE.js} +1 -1
- package/dist/{chunk-UUE5BZGE.js → chunk-SQ42NHXP.js} +620 -74
- package/dist/{chunk-GOI4GCUB.js → chunk-THVNQFYG.js} +1 -1
- package/dist/{chunk-IQ4UCWV7.js → chunk-TIZQC44K.js} +1 -1
- package/dist/{chunk-FTXU3TQ4.js → chunk-US7SWKGC.js} +1 -1
- package/dist/{chunk-TLYU5625.js → chunk-UUDQD62L.js} +6 -6
- package/dist/{chunk-2LCIQS3K.js → chunk-VBXJSCHR.js} +3 -3
- package/dist/{chunk-DVCYGZ7R.js → chunk-VLHN34SB.js} +2 -2
- package/dist/{chunk-4Z5O7BTD.js → chunk-WEATBQTR.js} +10 -1
- package/dist/{chunk-TH4APNRP.js → chunk-X763EUBO.js} +2 -2
- package/dist/{chunk-32Y3HRS3.js → chunk-XIGK4LNU.js} +2 -2
- package/dist/{chunk-R5RF3LGS.js → chunk-XMAL2A7Y.js} +1 -1
- package/dist/{chunk-USWOTTSP.js → chunk-XYVFPDNU.js} +1 -1
- package/dist/chunk-YLVI7VL5.js +3541 -0
- package/dist/{chunk-YVWILZCO.js → chunk-ZFL6FVQZ.js} +5 -5
- package/dist/{clean-GRX3GXKR.js → clean-LCRWNIWO.js} +17 -16
- package/dist/cli.js +50 -50
- package/dist/{cloud-TQCNBM6H.js → cloud-ITRFE5UN.js} +4 -4
- package/dist/{cloudrun-ISE6GSUO.js → cloudrun-LVZ4OPPC.js} +5 -5
- package/dist/{compare-QAWB3O4U.js → compare-NPVMUILH.js} +26 -25
- package/dist/{compiler-QMEZK6CU.js → compiler-YYOV2BJ7.js} +3 -3
- package/dist/{component-NXNNSXN7.js → component-HJFMHPNW.js} +3 -3
- package/dist/{compositions-I4PIPJKO.js → compositions-I34RN5WD.js} +12 -12
- package/dist/{delete-ZC4ZRBBF.js → delete-WN3J74BD.js} +4 -4
- package/dist/{deterministicFonts-XS3PGWH5.js → deterministicFonts-A4CNCSAL.js} +2 -2
- package/dist/{dist-E44WU6LH.js → dist-WCMFH74H.js} +1 -1
- package/dist/{dist-R24TLUYO.js → dist-YUIPB7OX.js} +9 -3
- package/dist/docs/data-attributes.md +1 -1
- package/dist/{doctor-EFQ4XNT3.js → doctor-MYC2S3J3.js} +11 -11
- package/dist/{events-AVPSJNYU.js → events-7JVV4746.js} +10 -10
- package/dist/{events-COIPJKSK.js → events-AEUV2JPA.js} +9 -9
- package/dist/{feedback-3DYZDMLC.js → feedback-X7DDSZPU.js} +11 -11
- package/dist/{figma-7XPHSMNG.js → figma-ISI4PPTF.js} +3 -3
- package/dist/fontLocalizeCli.js +10 -10
- package/dist/{get-TSBHDMKL.js → get-IYALAE4I.js} +4 -4
- package/dist/{gpuPolicy-BQFPO7UA.js → gpuPolicy-KSWTVU5C.js} +7 -7
- package/dist/{grade-compare-5Y4LXQFG.js → grade-compare-YWPIWQLK.js} +26 -25
- package/dist/{gsapParser-EZGJSSV5.js → gsapParser-KVMPC2SC.js} +5 -1
- package/dist/{help-5YBRP3C4.js → help-S2KJRMAJ.js} +1 -1
- package/dist/{history-SRNXKL6D.js → history-CQDDCY4J.js} +17 -16
- package/dist/hyperframe-runtime.js +54 -54
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +54 -54
- package/dist/hyperframes-player.global.js +3 -3
- package/dist/{info-U4BOXV2I.js → info-4KFNUWYN.js} +12 -12
- package/dist/{init-T4JYHIBM.js → init-I7GMRHFW.js} +98 -42
- package/dist/{inspect-XYLD2BMM.js → inspect-DUCLCHSD.js} +27 -26
- package/dist/{installer-UZSVMUKT.js → installer-NBEN3ZIP.js} +5 -5
- package/dist/{keyframes-BGPXWP7O.js → keyframes-F3VDEN66.js} +13 -13
- package/dist/{lambda-U4WIJQCJ.js → lambda-BFHJMMCG.js} +6 -6
- package/dist/{layout-UREZQ37U.js → layout-RNCXJI6C.js} +27 -26
- package/dist/{lint-LSTEZZ6T.js → lint-3NKKYCMH.js} +13 -13
- package/dist/{lintProject-4P4C6AN2.js → lintProject-F2OTN2IR.js} +1 -1
- package/dist/{list-6VICFTAM.js → list-Q7SOE3NF.js} +4 -4
- package/dist/{login-MXDIDOOG.js → login-TGRGWS5E.js} +4 -4
- package/dist/{media-treatment-ZVCWEACM.js → media-treatment-5TUXWHWE.js} +13 -13
- package/dist/{models-LXUIU5DC.js → models-YJUTM6TH.js} +8 -8
- package/dist/{motionShot-2LYUQF3T.js → motionShot-5QUMZ7J3.js} +11 -11
- package/dist/normalize-audio-63BI5BPL.js +276 -0
- package/dist/{pipeline-OFFKTFXS.js → pipeline-4NN5T7Q3.js} +7 -7
- package/dist/{play-P56CWNVC.js → play-SRDESSZI.js} +22 -21
- package/dist/{preflight-TVCVP5P2.js → preflight-SVN4PSFO.js} +8 -8
- package/dist/{present-ATMOWKMH.js → present-TDYR5LRW.js} +18 -17
- package/dist/{preview-7U6HYHYE.js → preview-Z5MFRZUM.js} +18 -18
- package/dist/{producer-LGG3TOUI.js → producer-RS7CB3XJ.js} +1 -1
- package/dist/{projectConfig-V53SEFIS.js → projectConfig-JHEWPAA5.js} +7 -7
- package/dist/{publication-7RKKPKLM.js → publication-7XA2H7UB.js} +3 -3
- package/dist/{publish-TRRFCEMQ.js → publish-2R22XX77.js} +9 -9
- package/dist/{remove-background-HJFT46Z5.js → remove-background-KT2SWYCC.js} +8 -8
- package/dist/{render-TPZ5FXHS.js → render-4C3YKVZI.js} +4 -4
- package/dist/{render-YB7BARWL.js → render-7GDLEGXT.js} +15 -15
- package/dist/{render-2QZBNE2V.js → render-Y2Y7N5WD.js} +22 -22
- package/dist/{render-batch-4ZF5C2LN.js → render-batch-AFDBPDMM.js} +4 -4
- package/dist/{renderCancellation-4PYGAN5D.js → renderCancellation-RQ3UVNVJ.js} +7 -7
- package/dist/renderSetupWorker.js +1 -1
- package/dist/{resolver-4JRJPC6S.js → resolver-S72XBTEQ.js} +5 -5
- package/dist/{sherpa-MNCWRFD4.js → sherpa-PR3I4KGM.js} +10 -10
- package/dist/{skills-ETBA5B46.js → skills-BEYZZWY6.js} +12 -12
- package/dist/{skillsUpdateCheck-DQOUIYV5.js → skillsUpdateCheck-3USXDPWV.js} +3 -3
- package/dist/{snapshot-W3HTBAYH.js → snapshot-S77MQOV2.js} +27 -26
- package/dist/{src-QX5PPANW.js → src-6R4DC2YI.js} +6 -6
- package/dist/{src-QF6RYX76.js → src-IOJXK4VC.js} +9 -9
- package/dist/{staticProjectServer-WBXW2CA4.js → staticProjectServer-RXAFGDK7.js} +16 -15
- package/dist/{status-C3IDZFDG.js → status-CRS7H6FA.js} +7 -7
- package/dist/studio/assets/{hyperframes-player-dl6K6ABp.js → hyperframes-player-BakGew45.js} +1 -1
- package/dist/studio/assets/{index-ooaZZhKf.js → index-C5dyUHwk.js} +1 -1
- package/dist/studio/assets/{index-CMiYVGv5.js → index-C842tcVa.js} +203 -208
- package/dist/studio/assets/{index-DKT5NF1Y.js → index-CPe7d_wO.js} +1 -1
- package/dist/studio/assets/{index-lrT-gfHa.css → index-ncVJ5IVu.css} +1 -1
- package/dist/studio/chunk-6LUNLTHR.js +611 -0
- package/dist/studio/chunk-6LUNLTHR.js.map +1 -0
- package/dist/studio/{chunk-ICTZJPQQ.js → chunk-AOWVEVEU.js} +3 -494
- package/dist/studio/chunk-AOWVEVEU.js.map +1 -0
- package/dist/studio/{chunk-46XP7J3B.js → chunk-PQFEBX32.js} +5 -3
- package/dist/studio/chunk-PQFEBX32.js.map +1 -0
- package/dist/studio/{domEditingLayers-AQBDFNUC.js → domEditingLayers-JQPQGGT7.js} +3 -3
- package/dist/studio/index.d.ts +377 -12
- package/dist/studio/index.html +2 -2
- package/dist/studio/index.js +13445 -11874
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/player.js +2 -2
- package/dist/studio/styles.css +1 -1
- package/dist/{studio-api-6IJPJVG6.js → studio-api-3FH7OSSS.js} +10 -9
- package/dist/{studioServer-77CY4XPO.js → studioServer-4E5RRPU7.js} +49 -42
- package/dist/{system-OAB2LYBV.js → system-YMANAUAM.js} +7 -7
- package/dist/{telemetry-XTN5BO5S.js → telemetry-46XSB2VN.js} +10 -10
- package/dist/templates/_shared/AGENTS.md +1 -1
- package/dist/templates/_shared/CLAUDE.md +1 -1
- package/dist/templates/from-file/index.html +3 -2
- package/dist/templates/warm-grain/index.html +2 -10
- package/dist/{timeline-YKKTGPL7.js → timeline-XKLKHGD2.js} +17 -16
- package/dist/{tokens-LU25F3IJ.js → tokens-JCZKPUPT.js} +2 -2
- package/dist/{transcribe-O7OL4RRU.js → transcribe-FIFJ3BBB.js} +13 -13
- package/dist/{transcribe-AL3E5MBZ.js → transcribe-FQ4YC2AS.js} +10 -8
- package/dist/{updateCheck-MZZML4DL.js → updateCheck-PDIH4GZW.js} +2 -2
- package/dist/{upgrade-PQRTEJJY.js → upgrade-TTGO6JCF.js} +2 -2
- package/dist/{urlDownloader-U3TNOPD5.js → urlDownloader-32JRHOPN.js} +6 -6
- package/dist/{validate-KQETGCIR.js → validate-G5F56ONL.js} +16 -16
- package/dist/{video-KAHL76HG.js → video-SGBEMEKA.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-FOKUJKBN.js +0 -3420
- package/dist/studio/chunk-46XP7J3B.js.map +0 -1
- package/dist/studio/chunk-DI4LCJHL.js +0 -102
- package/dist/studio/chunk-DI4LCJHL.js.map +0 -1
- package/dist/studio/chunk-ICTZJPQQ.js.map +0 -1
- /package/dist/studio/{domEditingLayers-AQBDFNUC.js.map → domEditingLayers-JQPQGGT7.js.map} +0 -0
|
@@ -6,21 +6,21 @@ var __filename = __hf_fileURLToPath(import.meta.url);
|
|
|
6
6
|
var __dirname = __hf_dirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
trackLintRun
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KZJ6V7RT.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveProject
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-US7SWKGC.js";
|
|
13
13
|
import {
|
|
14
14
|
formatLintFindings
|
|
15
15
|
} from "./chunk-6CSYCFQV.js";
|
|
16
16
|
import "./chunk-IHFUKJOR.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-VBXJSCHR.js";
|
|
18
|
+
import "./chunk-J7XPPADY.js";
|
|
19
19
|
import "./chunk-VWG7OQKU.js";
|
|
20
20
|
import {
|
|
21
21
|
c
|
|
22
22
|
} from "./chunk-ZTZA4UWZ.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-SIVCJJHE.js";
|
|
24
24
|
import "./chunk-AMKC3AXA.js";
|
|
25
25
|
import {
|
|
26
26
|
defineCommand
|
|
@@ -31,19 +31,19 @@ import {
|
|
|
31
31
|
import {
|
|
32
32
|
setCommandExitCode
|
|
33
33
|
} from "./chunk-PBN6GBJE.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-QB6OM2BP.js";
|
|
35
|
+
import "./chunk-B25H4M4V.js";
|
|
36
|
+
import "./chunk-UUDQD62L.js";
|
|
37
37
|
import "./chunk-DPVXBVLL.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-X763EUBO.js";
|
|
39
|
+
import "./chunk-YLVI7VL5.js";
|
|
40
40
|
import "./chunk-VC76R6W2.js";
|
|
41
41
|
import "./chunk-OFQWTKPW.js";
|
|
42
42
|
import "./chunk-Q5X2B5WT.js";
|
|
43
43
|
import "./chunk-TWWSYAKJ.js";
|
|
44
44
|
import {
|
|
45
45
|
lintProject
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-ONY5CJXS.js";
|
|
47
47
|
import "./chunk-HBBJFK6I.js";
|
|
48
48
|
import "./chunk-PJ3HDUCY.js";
|
|
49
49
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -51,12 +51,12 @@ import "./chunk-GK4AIFIH.js";
|
|
|
51
51
|
import "./chunk-2PSPARWP.js";
|
|
52
52
|
import {
|
|
53
53
|
withMeta
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-RPMXMOFU.js";
|
|
55
55
|
import "./chunk-K4WIOZFP.js";
|
|
56
56
|
import "./chunk-XUXGIA7H.js";
|
|
57
57
|
import "./chunk-WERLJGIC.js";
|
|
58
58
|
import "./chunk-ISN5GRYI.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-NROJESOK.js";
|
|
60
60
|
import "./chunk-KNU5COPB.js";
|
|
61
61
|
import "./chunk-3GXQPCJC.js";
|
|
62
62
|
import "./chunk-RQVDTPGD.js";
|
|
@@ -14,9 +14,9 @@ import {
|
|
|
14
14
|
createCloudClient,
|
|
15
15
|
reportApiError
|
|
16
16
|
} from "./chunk-RLYTIMTS.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-PSGDNMM6.js";
|
|
18
18
|
import "./chunk-DNXD7TOA.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-WEATBQTR.js";
|
|
20
20
|
import {
|
|
21
21
|
errorBox
|
|
22
22
|
} from "./chunk-IHFUKJOR.js";
|
|
@@ -32,12 +32,12 @@ import {
|
|
|
32
32
|
import "./chunk-OFQWTKPW.js";
|
|
33
33
|
import {
|
|
34
34
|
withMeta
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-RPMXMOFU.js";
|
|
36
36
|
import "./chunk-K4WIOZFP.js";
|
|
37
37
|
import "./chunk-XUXGIA7H.js";
|
|
38
38
|
import "./chunk-WERLJGIC.js";
|
|
39
39
|
import "./chunk-ISN5GRYI.js";
|
|
40
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-NROJESOK.js";
|
|
41
41
|
import "./chunk-KNU5COPB.js";
|
|
42
42
|
import "./chunk-M2WBOQ2Q.js";
|
|
43
43
|
|
|
@@ -113,7 +113,7 @@ function assertAttendedDeviceFlow() {
|
|
|
113
113
|
async function runDeviceLogin() {
|
|
114
114
|
assertAttendedDeviceFlow();
|
|
115
115
|
assertOAuthConfiguredOrExit();
|
|
116
|
-
const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-
|
|
116
|
+
const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-46XSB2VN.js");
|
|
117
117
|
trackAuthLoginStarted("device");
|
|
118
118
|
let tokens;
|
|
119
119
|
try {
|
|
@@ -178,7 +178,7 @@ async function revokeDeviceTokens(tokens) {
|
|
|
178
178
|
}
|
|
179
179
|
async function runOAuthLogin() {
|
|
180
180
|
assertOAuthConfiguredOrExit();
|
|
181
|
-
const { trackAuthLoginStarted, trackAuthLoginFailed } = await import("./telemetry-
|
|
181
|
+
const { trackAuthLoginStarted, trackAuthLoginFailed } = await import("./telemetry-46XSB2VN.js");
|
|
182
182
|
trackAuthLoginStarted("oauth");
|
|
183
183
|
try {
|
|
184
184
|
await startAuthorizationCodeFlow();
|
|
@@ -191,7 +191,7 @@ async function runOAuthLogin() {
|
|
|
191
191
|
await reportIdentity();
|
|
192
192
|
}
|
|
193
193
|
async function reportIdentity() {
|
|
194
|
-
const { trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-
|
|
194
|
+
const { trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-46XSB2VN.js");
|
|
195
195
|
const credential = await tryResolveCredential();
|
|
196
196
|
if (!credential) {
|
|
197
197
|
trackAuthLoginFailed("oauth", "no_credential");
|
|
@@ -248,7 +248,7 @@ async function clearUserInfoBestEffort() {
|
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
async function runApiKeyLogin(inlineKey) {
|
|
251
|
-
const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-
|
|
251
|
+
const { trackAuthLoginStarted, trackAuthLoginCompleted, trackAuthLoginFailed, identifyUser } = await import("./telemetry-46XSB2VN.js");
|
|
252
252
|
trackAuthLoginStarted("api_key");
|
|
253
253
|
let key;
|
|
254
254
|
try {
|
|
@@ -9,23 +9,23 @@ import {
|
|
|
9
9
|
} from "./chunk-ZKDMAOFU.js";
|
|
10
10
|
import {
|
|
11
11
|
patchElementInHtml
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-NJLFRKHX.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveProject
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-US7SWKGC.js";
|
|
16
16
|
import "./chunk-IHFUKJOR.js";
|
|
17
17
|
import {
|
|
18
18
|
findFFmpeg,
|
|
19
19
|
findFFprobe,
|
|
20
20
|
getFFmpegInstallHint
|
|
21
21
|
} from "./chunk-TVCRUG2S.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-VBXJSCHR.js";
|
|
23
|
+
import "./chunk-J7XPPADY.js";
|
|
24
24
|
import "./chunk-VWG7OQKU.js";
|
|
25
25
|
import {
|
|
26
26
|
c
|
|
27
27
|
} from "./chunk-ZTZA4UWZ.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-SIVCJJHE.js";
|
|
29
29
|
import "./chunk-AMKC3AXA.js";
|
|
30
30
|
import {
|
|
31
31
|
defineCommand
|
|
@@ -34,18 +34,18 @@ import "./chunk-54HJ63Q2.js";
|
|
|
34
34
|
import {
|
|
35
35
|
failCommand
|
|
36
36
|
} from "./chunk-PBN6GBJE.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-QB6OM2BP.js";
|
|
38
|
+
import "./chunk-B25H4M4V.js";
|
|
39
|
+
import "./chunk-UUDQD62L.js";
|
|
40
40
|
import "./chunk-DPVXBVLL.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-X763EUBO.js";
|
|
42
42
|
import {
|
|
43
43
|
HF_COLOR_GRADING_ATTR,
|
|
44
44
|
getHfColorGradingCapabilities,
|
|
45
45
|
hasHfColorGradingAuthoredValues,
|
|
46
46
|
normalizeHfColorGrading,
|
|
47
47
|
serializeHfColorGrading
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-YLVI7VL5.js";
|
|
49
49
|
import "./chunk-VC76R6W2.js";
|
|
50
50
|
import "./chunk-OFQWTKPW.js";
|
|
51
51
|
import "./chunk-LCSMOLGX.js";
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
cleanAssetUrl,
|
|
55
55
|
isRemoteOrInlineUrl,
|
|
56
56
|
resolveExistingLocalAsset
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-ONY5CJXS.js";
|
|
58
58
|
import "./chunk-HBBJFK6I.js";
|
|
59
59
|
import "./chunk-PJ3HDUCY.js";
|
|
60
60
|
import {
|
|
@@ -69,12 +69,12 @@ import {
|
|
|
69
69
|
import "./chunk-2PSPARWP.js";
|
|
70
70
|
import {
|
|
71
71
|
withMeta
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-RPMXMOFU.js";
|
|
73
73
|
import "./chunk-K4WIOZFP.js";
|
|
74
74
|
import "./chunk-XUXGIA7H.js";
|
|
75
75
|
import "./chunk-WERLJGIC.js";
|
|
76
76
|
import "./chunk-ISN5GRYI.js";
|
|
77
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-NROJESOK.js";
|
|
78
78
|
import {
|
|
79
79
|
normalizeErrorMessage
|
|
80
80
|
} from "./chunk-KNU5COPB.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-WMQNIQDJ.js";
|
|
13
13
|
import {
|
|
14
14
|
createRenderCancellationScope
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QRXICW5Q.js";
|
|
16
16
|
import {
|
|
17
17
|
c
|
|
18
18
|
} from "./chunk-ZTZA4UWZ.js";
|
|
@@ -23,18 +23,18 @@ import {
|
|
|
23
23
|
failCommand,
|
|
24
24
|
setCommandExitCode
|
|
25
25
|
} from "./chunk-PBN6GBJE.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-QB6OM2BP.js";
|
|
27
|
+
import "./chunk-B25H4M4V.js";
|
|
28
|
+
import "./chunk-UUDQD62L.js";
|
|
29
29
|
import "./chunk-DPVXBVLL.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-X763EUBO.js";
|
|
31
|
+
import "./chunk-YLVI7VL5.js";
|
|
32
32
|
import "./chunk-VC76R6W2.js";
|
|
33
33
|
import "./chunk-OFQWTKPW.js";
|
|
34
34
|
import "./chunk-LAOCA3MQ.js";
|
|
35
35
|
import "./chunk-LCSMOLGX.js";
|
|
36
36
|
import "./chunk-TWWSYAKJ.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-ONY5CJXS.js";
|
|
38
38
|
import "./chunk-HBBJFK6I.js";
|
|
39
39
|
import "./chunk-PJ3HDUCY.js";
|
|
40
40
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -88,7 +88,7 @@ async function installMissing(sherpa, spin, signal) {
|
|
|
88
88
|
}
|
|
89
89
|
var wasCancelled = (err, signal, sherpa) => signal.aborted || err instanceof sherpa.DecodeCancelled;
|
|
90
90
|
async function installParakeet(json) {
|
|
91
|
-
const sherpa = await import("./sherpa-
|
|
91
|
+
const sherpa = await import("./sherpa-PR3I4KGM.js");
|
|
92
92
|
const unsupported = sherpa.sherpaUnsupportedReason();
|
|
93
93
|
if (unsupported) fail(unsupported, json);
|
|
94
94
|
const spin = json ? null : ft({ output: process.stderr });
|
|
@@ -18,29 +18,29 @@ import {
|
|
|
18
18
|
} from "./chunk-5Z63TBTX.js";
|
|
19
19
|
import {
|
|
20
20
|
resolveDiagnosticNavigationTimeoutMs
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-TIZQC44K.js";
|
|
22
22
|
import "./chunk-YEIFI443.js";
|
|
23
23
|
import "./chunk-IHFUKJOR.js";
|
|
24
24
|
import "./chunk-PFCFR3KZ.js";
|
|
25
25
|
import {
|
|
26
26
|
resolveCaptureBrowserGpuMode,
|
|
27
27
|
resolveLocalBrowserGpuMode
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-GYYFNAVA.js";
|
|
29
29
|
import "./chunk-ZTZA4UWZ.js";
|
|
30
30
|
import "./chunk-PBN6GBJE.js";
|
|
31
31
|
import {
|
|
32
32
|
assertWebGpuAdapterAvailable,
|
|
33
33
|
compositionRequiresWebGpu
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-QB6OM2BP.js";
|
|
35
|
+
import "./chunk-B25H4M4V.js";
|
|
36
|
+
import "./chunk-UUDQD62L.js";
|
|
37
37
|
import "./chunk-DPVXBVLL.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-X763EUBO.js";
|
|
39
|
+
import "./chunk-YLVI7VL5.js";
|
|
40
40
|
import "./chunk-VC76R6W2.js";
|
|
41
41
|
import "./chunk-OFQWTKPW.js";
|
|
42
42
|
import "./chunk-TWWSYAKJ.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-ONY5CJXS.js";
|
|
44
44
|
import "./chunk-HBBJFK6I.js";
|
|
45
45
|
import "./chunk-PJ3HDUCY.js";
|
|
46
46
|
import "./chunk-TQFG7HTI.js";
|
|
@@ -276,7 +276,7 @@ async function installSeekHelper(page) {
|
|
|
276
276
|
}
|
|
277
277
|
async function openCompositionPage(html, url, executablePath) {
|
|
278
278
|
const puppeteer = await import("puppeteer-core");
|
|
279
|
-
const { buildChromeArgs } = await import("./src-
|
|
279
|
+
const { buildChromeArgs } = await import("./src-6R4DC2YI.js");
|
|
280
280
|
const size = resolveCompositionViewportFromHtml(html);
|
|
281
281
|
const requestedGpuMode = resolveLocalBrowserGpuMode();
|
|
282
282
|
const resolvedGpuMode = await resolveCaptureBrowserGpuMode(requestedGpuMode, executablePath);
|
|
@@ -544,8 +544,8 @@ async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {})
|
|
|
544
544
|
const fit = opts.fit ?? true;
|
|
545
545
|
const camera = parseAngle(opts.angle);
|
|
546
546
|
const { ensureBrowser } = await import("./manager-NEVLEZK3.js");
|
|
547
|
-
const { serveStaticProjectHtml } = await import("./staticProjectServer-
|
|
548
|
-
const { bundleToSingleHtml } = await import("./compiler-
|
|
547
|
+
const { serveStaticProjectHtml } = await import("./staticProjectServer-RXAFGDK7.js");
|
|
548
|
+
const { bundleToSingleHtml } = await import("./compiler-YYOV2BJ7.js");
|
|
549
549
|
const html = await bundleToSingleHtml(projectDir, { entryFile: opts.entryFile });
|
|
550
550
|
const server = await serveStaticProjectHtml(
|
|
551
551
|
projectDir,
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { createRequire as __hf_createRequire } from "node:module";
|
|
2
|
+
import { fileURLToPath as __hf_fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname as __hf_dirname } from "node:path";
|
|
4
|
+
var require = __hf_createRequire(import.meta.url);
|
|
5
|
+
var __filename = __hf_fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = __hf_dirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
DEFAULT_TARGET_LUFS,
|
|
9
|
+
absoluteLoudnessPlan,
|
|
10
|
+
audioNormalizationPlan,
|
|
11
|
+
audioTags,
|
|
12
|
+
loudnessMeasureArgs,
|
|
13
|
+
measureAudio,
|
|
14
|
+
parseEbur128Summary,
|
|
15
|
+
requiredFfmpeg,
|
|
16
|
+
resolveLocalAudioPath,
|
|
17
|
+
updateAudioVolume
|
|
18
|
+
} from "./chunk-5ON5GH3X.js";
|
|
19
|
+
import {
|
|
20
|
+
resolveProject
|
|
21
|
+
} from "./chunk-US7SWKGC.js";
|
|
22
|
+
import "./chunk-IHFUKJOR.js";
|
|
23
|
+
import "./chunk-VBXJSCHR.js";
|
|
24
|
+
import "./chunk-J7XPPADY.js";
|
|
25
|
+
import "./chunk-VWG7OQKU.js";
|
|
26
|
+
import {
|
|
27
|
+
c
|
|
28
|
+
} from "./chunk-ZTZA4UWZ.js";
|
|
29
|
+
import "./chunk-SIVCJJHE.js";
|
|
30
|
+
import "./chunk-AMKC3AXA.js";
|
|
31
|
+
import {
|
|
32
|
+
defineCommand
|
|
33
|
+
} from "./chunk-S3S4TGEH.js";
|
|
34
|
+
import "./chunk-54HJ63Q2.js";
|
|
35
|
+
import {
|
|
36
|
+
failCommand
|
|
37
|
+
} from "./chunk-PBN6GBJE.js";
|
|
38
|
+
import "./chunk-QB6OM2BP.js";
|
|
39
|
+
import "./chunk-B25H4M4V.js";
|
|
40
|
+
import "./chunk-UUDQD62L.js";
|
|
41
|
+
import "./chunk-DPVXBVLL.js";
|
|
42
|
+
import "./chunk-X763EUBO.js";
|
|
43
|
+
import "./chunk-YLVI7VL5.js";
|
|
44
|
+
import "./chunk-VC76R6W2.js";
|
|
45
|
+
import "./chunk-OFQWTKPW.js";
|
|
46
|
+
import "./chunk-TWWSYAKJ.js";
|
|
47
|
+
import "./chunk-ONY5CJXS.js";
|
|
48
|
+
import "./chunk-HBBJFK6I.js";
|
|
49
|
+
import "./chunk-PJ3HDUCY.js";
|
|
50
|
+
import "./chunk-TQFG7HTI.js";
|
|
51
|
+
import "./chunk-GK4AIFIH.js";
|
|
52
|
+
import "./chunk-2PSPARWP.js";
|
|
53
|
+
import "./chunk-K4WIOZFP.js";
|
|
54
|
+
import "./chunk-XUXGIA7H.js";
|
|
55
|
+
import "./chunk-WERLJGIC.js";
|
|
56
|
+
import "./chunk-ISN5GRYI.js";
|
|
57
|
+
import "./chunk-NROJESOK.js";
|
|
58
|
+
import "./chunk-KNU5COPB.js";
|
|
59
|
+
import "./chunk-3GXQPCJC.js";
|
|
60
|
+
import "./chunk-RQVDTPGD.js";
|
|
61
|
+
import "./chunk-PMRBLBUP.js";
|
|
62
|
+
import "./chunk-M2WBOQ2Q.js";
|
|
63
|
+
|
|
64
|
+
// src/commands/normalize-audio.ts
|
|
65
|
+
import { existsSync, readFileSync, renameSync, writeFileSync } from "fs";
|
|
66
|
+
import { relative } from "path";
|
|
67
|
+
var DEFAULT_TOLERANCE_LU = 0.5;
|
|
68
|
+
function fail(message, json, cause) {
|
|
69
|
+
if (json) console.log(JSON.stringify({ ok: false, error: message }, null, 2));
|
|
70
|
+
else console.error(c.error(message));
|
|
71
|
+
failCommand(1, cause);
|
|
72
|
+
}
|
|
73
|
+
function byId(tags, rawId, role) {
|
|
74
|
+
const id = rawId.trim().replace(/^#/, "");
|
|
75
|
+
const tag = tags.find((candidate) => candidate.id === id);
|
|
76
|
+
if (!tag) throw new Error(`${role} audio #${id} was not found`);
|
|
77
|
+
return tag;
|
|
78
|
+
}
|
|
79
|
+
function selectedTags(html, referenceId, targetId) {
|
|
80
|
+
const tags = audioTags(html);
|
|
81
|
+
const referenceTag = byId(tags, referenceId, "Reference");
|
|
82
|
+
const targetTag = byId(tags, targetId, "Target");
|
|
83
|
+
if (referenceTag.id === targetTag.id) {
|
|
84
|
+
throw new Error("Reference and target must be different audio elements");
|
|
85
|
+
}
|
|
86
|
+
return { referenceTag, targetTag };
|
|
87
|
+
}
|
|
88
|
+
function existingAudioFile(projectDir, tag) {
|
|
89
|
+
const file = resolveLocalAudioPath(projectDir, tag.src);
|
|
90
|
+
if (!existsSync(file)) {
|
|
91
|
+
throw new Error(`Audio #${tag.id} file was not found: ${relative(projectDir, file)}`);
|
|
92
|
+
}
|
|
93
|
+
return file;
|
|
94
|
+
}
|
|
95
|
+
async function measuredPlan(projectDir, referenceTag, targetTag) {
|
|
96
|
+
const ffmpegPath = requiredFfmpeg();
|
|
97
|
+
const referenceFile = existingAudioFile(projectDir, referenceTag);
|
|
98
|
+
const targetFile = existingAudioFile(projectDir, targetTag);
|
|
99
|
+
const [referenceMeasurement, targetMeasurement] = await Promise.all([
|
|
100
|
+
measureAudio(ffmpegPath, referenceFile, referenceTag),
|
|
101
|
+
measureAudio(ffmpegPath, targetFile, targetTag)
|
|
102
|
+
]);
|
|
103
|
+
return audioNormalizationPlan(
|
|
104
|
+
{ id: referenceTag.id, volume: referenceTag.volume, ...referenceMeasurement },
|
|
105
|
+
{ id: targetTag.id, volume: targetTag.volume, ...targetMeasurement }
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
function writeAtomically(path, contents) {
|
|
109
|
+
const temporary = `${path}.hf-normalize-${process.pid}.tmp`;
|
|
110
|
+
writeFileSync(temporary, contents);
|
|
111
|
+
renameSync(temporary, path);
|
|
112
|
+
}
|
|
113
|
+
function parsedTolerance(raw) {
|
|
114
|
+
const tolerance = Number(raw);
|
|
115
|
+
if (!Number.isFinite(tolerance) || tolerance < 0) {
|
|
116
|
+
throw new Error("--tolerance must be a non-negative number");
|
|
117
|
+
}
|
|
118
|
+
return tolerance;
|
|
119
|
+
}
|
|
120
|
+
function parsedLufs(raw) {
|
|
121
|
+
const lufs = Number(raw);
|
|
122
|
+
if (!Number.isFinite(lufs) || lufs >= 0) throw new Error("--lufs must be a negative number");
|
|
123
|
+
return lufs;
|
|
124
|
+
}
|
|
125
|
+
async function measuredAbsolutePlan(projectDir, targetTag, targetLufs) {
|
|
126
|
+
const measurement = await measureAudio(
|
|
127
|
+
requiredFfmpeg(),
|
|
128
|
+
existingAudioFile(projectDir, targetTag),
|
|
129
|
+
targetTag
|
|
130
|
+
);
|
|
131
|
+
return absoluteLoudnessPlan(
|
|
132
|
+
{ id: targetTag.id, volume: targetTag.volume, ...measurement },
|
|
133
|
+
targetLufs
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
async function plannedNormalization(projectDir, html, options, tolerance) {
|
|
137
|
+
if (options.reference === void 0) {
|
|
138
|
+
const targetTag2 = byId(audioTags(html), options.target, "Target");
|
|
139
|
+
const plan2 = await measuredAbsolutePlan(projectDir, targetTag2, parsedLufs(options.lufs));
|
|
140
|
+
const withinTolerance2 = Math.abs(plan2.changeDb) <= tolerance;
|
|
141
|
+
return { targetTag: targetTag2, withinTolerance: withinTolerance2, plan: { mode: "absolute", ...plan2 } };
|
|
142
|
+
}
|
|
143
|
+
const { referenceTag, targetTag } = selectedTags(html, options.reference, options.target);
|
|
144
|
+
const plan = await measuredPlan(projectDir, referenceTag, targetTag);
|
|
145
|
+
const withinTolerance = Math.abs(plan.referenceLufs - plan.targetLufs) <= tolerance;
|
|
146
|
+
return { targetTag, withinTolerance, plan: { mode: "reference", ...plan } };
|
|
147
|
+
}
|
|
148
|
+
async function normalizeAudio(options) {
|
|
149
|
+
const project = resolveProject(options.dir);
|
|
150
|
+
const html = readFileSync(project.indexPath, "utf8");
|
|
151
|
+
const tolerance = parsedTolerance(options.tolerance);
|
|
152
|
+
const { targetTag, withinTolerance, plan } = await plannedNormalization(
|
|
153
|
+
project.dir,
|
|
154
|
+
html,
|
|
155
|
+
options,
|
|
156
|
+
tolerance
|
|
157
|
+
);
|
|
158
|
+
const wrote = options.write && !withinTolerance;
|
|
159
|
+
if (wrote) {
|
|
160
|
+
writeAtomically(
|
|
161
|
+
project.indexPath,
|
|
162
|
+
updateAudioVolume(readFileSync(project.indexPath, "utf8"), targetTag.id, plan.volume)
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
return { ok: true, wrote, withinTolerance, tolerance, indexPath: project.indexPath, ...plan };
|
|
166
|
+
}
|
|
167
|
+
var LIMIT_TEXT = {
|
|
168
|
+
"gain-ceiling": "stopped at the +12 dB authoring ceiling",
|
|
169
|
+
"true-peak": "stopped short of -1.5 dBTP"
|
|
170
|
+
};
|
|
171
|
+
function printMeasuredLine(result) {
|
|
172
|
+
if (result.mode === "reference") {
|
|
173
|
+
console.log(
|
|
174
|
+
`${c.bold(`#${result.referenceId}`)} ${result.referenceLufs.toFixed(1)} LUFS \u2192 ${c.bold(`#${result.targetId}`)} ${result.targetLufs.toFixed(1)} LUFS`
|
|
175
|
+
);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const limit = result.limitedBy ? ` (${LIMIT_TEXT[result.limitedBy]})` : "";
|
|
179
|
+
console.log(
|
|
180
|
+
`${c.bold(`#${result.targetId}`)} ${result.sourceLufs.toFixed(1)} LUFS \u2192 ${result.projectedLufs.toFixed(1)} LUFS, target ${result.targetLufs.toFixed(1)}${limit}`
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
function printHumanResult(result) {
|
|
184
|
+
printMeasuredLine(result);
|
|
185
|
+
if (result.withinTolerance) {
|
|
186
|
+
console.log(
|
|
187
|
+
c.success(`Already matched within ${result.tolerance.toFixed(1)} LU; no change needed.`)
|
|
188
|
+
);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
console.log(
|
|
192
|
+
`Set #${result.targetId} data-volume ${result.previousVolume.toFixed(3)} \u2192 ${result.volume.toFixed(6)} (${result.changeDb >= 0 ? "+" : ""}${result.changeDb.toFixed(1)} dB).`
|
|
193
|
+
);
|
|
194
|
+
console.log(
|
|
195
|
+
result.wrote ? c.success(`Updated ${relative(process.cwd(), result.indexPath) || "index.html"}.`) : c.dim("Dry run only. Pass --write to persist this gain.")
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
var examples = [
|
|
199
|
+
[
|
|
200
|
+
"Bring one clip (audio or a video with sound) to -16 LUFS",
|
|
201
|
+
"hyperframes normalize-audio --target voiceover --write"
|
|
202
|
+
],
|
|
203
|
+
[
|
|
204
|
+
"Measure two authored clips and preview the matching gain",
|
|
205
|
+
"hyperframes normalize-audio --reference target-audio --target user-audio"
|
|
206
|
+
],
|
|
207
|
+
[
|
|
208
|
+
"Persist the measured gain into index.html",
|
|
209
|
+
"hyperframes normalize-audio --reference target-audio --target user-audio --write"
|
|
210
|
+
]
|
|
211
|
+
];
|
|
212
|
+
var normalize_audio_default = defineCommand({
|
|
213
|
+
meta: {
|
|
214
|
+
name: "normalize-audio",
|
|
215
|
+
description: "Normalize a clip with sound to an absolute LUFS target, or match it to another clip"
|
|
216
|
+
},
|
|
217
|
+
args: {
|
|
218
|
+
dir: { type: "positional", description: "Project directory", required: false },
|
|
219
|
+
reference: {
|
|
220
|
+
type: "string",
|
|
221
|
+
description: "Audio or video element id whose effective loudness should be preserved (omit to use --lufs)",
|
|
222
|
+
required: false
|
|
223
|
+
},
|
|
224
|
+
target: {
|
|
225
|
+
type: "string",
|
|
226
|
+
description: "Audio or video element id whose data-volume should be set",
|
|
227
|
+
required: true
|
|
228
|
+
},
|
|
229
|
+
lufs: {
|
|
230
|
+
type: "string",
|
|
231
|
+
description: `Absolute integrated loudness target without --reference (default ${DEFAULT_TARGET_LUFS})`,
|
|
232
|
+
default: String(DEFAULT_TARGET_LUFS)
|
|
233
|
+
},
|
|
234
|
+
write: {
|
|
235
|
+
type: "boolean",
|
|
236
|
+
description: "Persist the measured target gain into index.html",
|
|
237
|
+
default: false
|
|
238
|
+
},
|
|
239
|
+
tolerance: {
|
|
240
|
+
type: "string",
|
|
241
|
+
description: `Skip writes within this many LU (default ${DEFAULT_TOLERANCE_LU})`,
|
|
242
|
+
default: String(DEFAULT_TOLERANCE_LU)
|
|
243
|
+
},
|
|
244
|
+
json: { type: "boolean", description: "Print machine-readable output", default: false }
|
|
245
|
+
},
|
|
246
|
+
async run({ args }) {
|
|
247
|
+
try {
|
|
248
|
+
const result = await normalizeAudio({
|
|
249
|
+
dir: args.dir,
|
|
250
|
+
reference: args.reference,
|
|
251
|
+
target: args.target,
|
|
252
|
+
lufs: args.lufs,
|
|
253
|
+
tolerance: args.tolerance,
|
|
254
|
+
write: args.write
|
|
255
|
+
});
|
|
256
|
+
if (args.json) {
|
|
257
|
+
const { indexPath: _, ...jsonResult } = result;
|
|
258
|
+
console.log(JSON.stringify(jsonResult, null, 2));
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
printHumanResult(result);
|
|
262
|
+
} catch (error) {
|
|
263
|
+
fail(error instanceof Error ? error.message : String(error), Boolean(args.json), error);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
export {
|
|
268
|
+
audioNormalizationPlan,
|
|
269
|
+
audioTags,
|
|
270
|
+
normalize_audio_default as default,
|
|
271
|
+
examples,
|
|
272
|
+
loudnessMeasureArgs,
|
|
273
|
+
parseEbur128Summary,
|
|
274
|
+
resolveLocalAudioPath,
|
|
275
|
+
updateAudioVolume
|
|
276
|
+
};
|
|
@@ -14,22 +14,22 @@ import {
|
|
|
14
14
|
render,
|
|
15
15
|
resolveRenderTargets,
|
|
16
16
|
waitForExit
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-KVOWTRD5.js";
|
|
18
18
|
import "./chunk-2EAXUCCE.js";
|
|
19
19
|
import "./chunk-X5HWXQPU.js";
|
|
20
20
|
import "./chunk-TVCRUG2S.js";
|
|
21
21
|
import "./chunk-AMKC3AXA.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-QB6OM2BP.js";
|
|
23
|
+
import "./chunk-B25H4M4V.js";
|
|
24
|
+
import "./chunk-UUDQD62L.js";
|
|
25
25
|
import "./chunk-DPVXBVLL.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-X763EUBO.js";
|
|
27
|
+
import "./chunk-YLVI7VL5.js";
|
|
28
28
|
import "./chunk-VC76R6W2.js";
|
|
29
29
|
import "./chunk-OFQWTKPW.js";
|
|
30
30
|
import "./chunk-LCSMOLGX.js";
|
|
31
31
|
import "./chunk-TWWSYAKJ.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-ONY5CJXS.js";
|
|
33
33
|
import "./chunk-HBBJFK6I.js";
|
|
34
34
|
import "./chunk-PJ3HDUCY.js";
|
|
35
35
|
import "./chunk-TQFG7HTI.js";
|