@remotion/media-utils 4.0.0-fastlambda.8 → 4.0.0-july8th.12
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/fft/max-value-cached.d.ts +1 -1
- package/dist/get-audio-data.d.ts +1 -1
- package/dist/get-audio-data.d.ts.map +1 -1
- package/dist/get-audio-data.js +3 -0
- package/dist/get-audio-data.js.map +1 -1
- package/dist/get-audio-duration-in-seconds.d.ts +11 -0
- package/dist/get-audio-duration-in-seconds.js +49 -0
- package/dist/get-audio-duration.d.ts.map +1 -1
- package/dist/get-audio-duration.js +3 -0
- package/dist/get-audio-duration.js.map +1 -1
- package/dist/get-video-metadata.d.ts +1 -1
- package/dist/get-video-metadata.d.ts.map +1 -1
- package/dist/get-video-metadata.js +8 -0
- package/dist/get-video-metadata.js.map +1 -1
- package/dist/get-waveform-portion.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/use-audio-data.d.ts +1 -1
- package/dist/use-audio-metadata.d.ts +3 -0
- package/dist/use-audio-metadata.d.ts.map +1 -0
- package/dist/use-audio-metadata.js +34 -0
- package/dist/use-audio-metadata.js.map +1 -0
- package/dist/visualize-audio.d.ts +1 -1
- package/dist/visualize-audio.js +1 -1
- package/package.json +5 -5
- package/dist/audio-buffer/audio-buffer-to-wav.d.ts.map +0 -1
- package/dist/audio-buffer/audio-buffer-to-wav.js.map +0 -1
- package/dist/audio-buffer/audio-url-helpers.d.ts.map +0 -1
- package/dist/audio-buffer/audio-url-helpers.js.map +0 -1
- package/dist/p-limit.d.ts.map +0 -1
- package/dist/p-limit.js.map +0 -1
- package/dist/use-audio-data.d.ts.map +0 -1
- package/dist/use-audio-data.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AudioData } from '
|
|
1
|
+
import type { AudioData } from '../types';
|
|
2
2
|
export declare const getMaxPossibleMagnitude: (metadata: AudioData) => number;
|
package/dist/get-audio-data.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AudioData } from './types';
|
|
1
|
+
import type { AudioData } from './types';
|
|
2
2
|
export declare const getAudioData: (src: string) => Promise<AudioData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-audio-data.d.ts","sourceRoot":"","sources":["../src/get-audio-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-audio-data.d.ts","sourceRoot":"","sources":["../src/get-audio-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAIlC,eAAO,MAAM,YAAY,QAAe,MAAM,KAAG,QAAQ,SAAS,CA4BjE,CAAC"}
|
package/dist/get-audio-data.js
CHANGED
|
@@ -28,6 +28,9 @@ const fn = async (src) => {
|
|
|
28
28
|
if (metadataCache[src]) {
|
|
29
29
|
return metadataCache[src];
|
|
30
30
|
}
|
|
31
|
+
if (typeof document === 'undefined') {
|
|
32
|
+
throw new Error('getAudioData() is only available in the browser.');
|
|
33
|
+
}
|
|
31
34
|
const audioContext = new AudioContext();
|
|
32
35
|
const response = await fetchWithCorsCatch(src);
|
|
33
36
|
const arrayBuffer = await response.arrayBuffer();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-audio-data.js","sourceRoot":"","sources":["../src/get-audio-data.ts"],"names":[],"mappings":";;;AAAA,uDAAgD;
|
|
1
|
+
{"version":3,"file":"get-audio-data.js","sourceRoot":"","sources":["../src/get-audio-data.ts"],"names":[],"mappings":";;;AAAA,uDAAgD;AAGhD,MAAM,aAAa,GAA+B,EAAE,CAAC;AAE9C,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAsB,EAAE;IACrE,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEjD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;SACvD,IAAI,CAAC,IAAI,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAc;QAC3B,gBAAgB;QAChB,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;QAChC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,QAAQ,EAAE,IAAA,+BAAa,EAAC,GAAG,CAAC;KAC5B,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC9B,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AA5BW,QAAA,YAAY,gBA4BvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the audio file passed in parameter duration in seconds
|
|
3
|
+
* @async
|
|
4
|
+
* @param src path to the audio file
|
|
5
|
+
* @return {number} duration of the audio file in seconds
|
|
6
|
+
*/
|
|
7
|
+
export declare const getAudioDurationInSeconds: (src: string) => Promise<number>;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Renamed to `getAudioDurationInSeconds`
|
|
10
|
+
*/
|
|
11
|
+
export declare const getAudioDuration: (src: string) => Promise<number>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAudioDuration = exports.getAudioDurationInSeconds = void 0;
|
|
4
|
+
const p_limit_1 = require("./p-limit");
|
|
5
|
+
const limit = (0, p_limit_1.pLimit)(3);
|
|
6
|
+
const metadataCache = {};
|
|
7
|
+
const fn = (src) => {
|
|
8
|
+
if (metadataCache[src]) {
|
|
9
|
+
return Promise.resolve(metadataCache[src]);
|
|
10
|
+
}
|
|
11
|
+
if (typeof document === 'undefined') {
|
|
12
|
+
throw new Error('getAudioDuration() is only available in the browser.');
|
|
13
|
+
}
|
|
14
|
+
const audio = document.createElement('audio');
|
|
15
|
+
audio.src = src;
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
const onError = () => {
|
|
18
|
+
reject(audio.error);
|
|
19
|
+
cleanup();
|
|
20
|
+
};
|
|
21
|
+
const onLoadedMetadata = () => {
|
|
22
|
+
metadataCache[src] = audio.duration;
|
|
23
|
+
resolve(audio.duration);
|
|
24
|
+
cleanup();
|
|
25
|
+
};
|
|
26
|
+
const cleanup = () => {
|
|
27
|
+
audio.removeEventListener('loadedmetadata', onLoadedMetadata);
|
|
28
|
+
audio.removeEventListener('error', onError);
|
|
29
|
+
audio.remove();
|
|
30
|
+
};
|
|
31
|
+
audio.addEventListener('loadedmetadata', onLoadedMetadata, { once: true });
|
|
32
|
+
audio.addEventListener('error', onError, { once: true });
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Get the audio file passed in parameter duration in seconds
|
|
37
|
+
* @async
|
|
38
|
+
* @param src path to the audio file
|
|
39
|
+
* @return {number} duration of the audio file in seconds
|
|
40
|
+
*/
|
|
41
|
+
const getAudioDurationInSeconds = (src) => {
|
|
42
|
+
return limit(fn, src);
|
|
43
|
+
};
|
|
44
|
+
exports.getAudioDurationInSeconds = getAudioDurationInSeconds;
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Renamed to `getAudioDurationInSeconds`
|
|
47
|
+
*/
|
|
48
|
+
const getAudioDuration = (src) => (0, exports.getAudioDurationInSeconds)(src);
|
|
49
|
+
exports.getAudioDuration = getAudioDuration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-audio-duration.d.ts","sourceRoot":"","sources":["../src/get-audio-duration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-audio-duration.d.ts","sourceRoot":"","sources":["../src/get-audio-duration.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,QAAQ,MAAM,CAsB5D,CAAC"}
|
|
@@ -8,6 +8,9 @@ const fn = (src) => {
|
|
|
8
8
|
if (metadataCache[src]) {
|
|
9
9
|
return Promise.resolve(metadataCache[src]);
|
|
10
10
|
}
|
|
11
|
+
if (typeof document === 'undefined') {
|
|
12
|
+
throw new Error('getAudioDuration() is only available in the browser.');
|
|
13
|
+
}
|
|
11
14
|
const audio = document.createElement('audio');
|
|
12
15
|
audio.src = src;
|
|
13
16
|
return new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-audio-duration.js","sourceRoot":"","sources":["../src/get-audio-duration.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"get-audio-duration.js","sourceRoot":"","sources":["../src/get-audio-duration.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAmB,EAAE;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC9D,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACzE,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,gBAAgB,oBAsB3B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { VideoMetadata } from './types';
|
|
1
|
+
import type { VideoMetadata } from './types';
|
|
2
2
|
export declare const getVideoMetadata: (src: string) => Promise<VideoMetadata>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-video-metadata.d.ts","sourceRoot":"","sources":["../src/get-video-metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-video-metadata.d.ts","sourceRoot":"","sources":["../src/get-video-metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAItC,eAAO,MAAM,gBAAgB,QAAe,MAAM,KAAG,QAAQ,aAAa,CAmCzE,CAAC"}
|
|
@@ -9,6 +9,9 @@ const fn = (src) => {
|
|
|
9
9
|
if (cache[src]) {
|
|
10
10
|
return Promise.resolve(cache[src]);
|
|
11
11
|
}
|
|
12
|
+
if (typeof document === 'undefined') {
|
|
13
|
+
throw new Error('getVideoMetadata() is only available in the browser.');
|
|
14
|
+
}
|
|
12
15
|
const video = document.createElement('video');
|
|
13
16
|
video.src = src;
|
|
14
17
|
return new Promise((resolve, reject) => {
|
|
@@ -17,6 +20,11 @@ const fn = (src) => {
|
|
|
17
20
|
cleanup();
|
|
18
21
|
};
|
|
19
22
|
const onLoadedMetadata = () => {
|
|
23
|
+
const pixels = video.videoHeight * video.videoWidth;
|
|
24
|
+
if (pixels === 0) {
|
|
25
|
+
reject(new Error('Unable to determine video metadata'));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
20
28
|
const metadata = {
|
|
21
29
|
durationInSeconds: video.duration,
|
|
22
30
|
width: video.videoWidth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-video-metadata.js","sourceRoot":"","sources":["../src/get-video-metadata.ts"],"names":[],"mappings":";;;AAAA,uDAAgD;
|
|
1
|
+
{"version":3,"file":"get-video-metadata.js","sourceRoot":"","sources":["../src/get-video-metadata.ts"],"names":[],"mappings":";;;AAAA,uDAAgD;AAGhD,MAAM,KAAK,GAAmC,EAAE,CAAC;AAE1C,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;IAC7E,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;QACf,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;KAClB;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC7B,MAAM,QAAQ,GAAkB;gBAC/B,iBAAiB,EAAE,KAAK,CAAC,QAAQ;gBACjC,KAAK,EAAE,KAAK,CAAC,UAAU;gBACvB,MAAM,EAAE,KAAK,CAAC,WAAW;gBACzB,WAAW,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW;gBACjD,QAAQ,EAAE,IAAA,+BAAa,EAAC,GAAG,CAAC;aAC5B,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAEtB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC9D,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACzE,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,gBAAgB,oBAmC3B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { audioBufferToDataUrl } from './audio-buffer/audio-url-helpers';
|
|
2
2
|
export { getAudioData } from './get-audio-data';
|
|
3
|
-
export { getAudioDuration, getAudioDurationInSeconds, } from './get-audio-duration';
|
|
3
|
+
export { getAudioDuration, getAudioDurationInSeconds, } from './get-audio-duration-in-seconds';
|
|
4
4
|
export { getVideoMetadata } from './get-video-metadata';
|
|
5
5
|
export { getWaveformPortion } from './get-waveform-portion';
|
|
6
6
|
export * from './types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC1D,cAAc,SAAS,CAAC;AACxB,YAAY,EAAC,SAAS,EAAE,aAAa,IAAI,SAAS,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -15,9 +19,9 @@ var audio_url_helpers_1 = require("./audio-buffer/audio-url-helpers");
|
|
|
15
19
|
Object.defineProperty(exports, "audioBufferToDataUrl", { enumerable: true, get: function () { return audio_url_helpers_1.audioBufferToDataUrl; } });
|
|
16
20
|
var get_audio_data_1 = require("./get-audio-data");
|
|
17
21
|
Object.defineProperty(exports, "getAudioData", { enumerable: true, get: function () { return get_audio_data_1.getAudioData; } });
|
|
18
|
-
var
|
|
19
|
-
Object.defineProperty(exports, "getAudioDuration", { enumerable: true, get: function () { return
|
|
20
|
-
Object.defineProperty(exports, "getAudioDurationInSeconds", { enumerable: true, get: function () { return
|
|
22
|
+
var get_audio_duration_in_seconds_1 = require("./get-audio-duration-in-seconds");
|
|
23
|
+
Object.defineProperty(exports, "getAudioDuration", { enumerable: true, get: function () { return get_audio_duration_in_seconds_1.getAudioDuration; } });
|
|
24
|
+
Object.defineProperty(exports, "getAudioDurationInSeconds", { enumerable: true, get: function () { return get_audio_duration_in_seconds_1.getAudioDurationInSeconds; } });
|
|
21
25
|
var get_video_metadata_1 = require("./get-video-metadata");
|
|
22
26
|
Object.defineProperty(exports, "getVideoMetadata", { enumerable: true, get: function () { return get_video_metadata_1.getVideoMetadata; } });
|
|
23
27
|
var get_waveform_portion_1 = require("./get-waveform-portion");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAA8C;AAAtC,8GAAA,YAAY,OAAA;AACpB,2DAAsD;AAA9C,sHAAA,gBAAgB,OAAA;AACxB,2DAAsD;AAA9C,sHAAA,gBAAgB,OAAA;AACxB,+DAA0D;AAAlD,0HAAA,kBAAkB,OAAA;AAC1B,0CAAwB;AAExB,2DAAkD;AAA1C,kHAAA,YAAY,OAAA;AACpB,qDAAiD;AAAzC,iHAAA,cAAc,OAAA"}
|
package/dist/use-audio-data.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { AudioData } from './types';
|
|
1
|
+
import type { AudioData } from './types';
|
|
2
2
|
export declare const useAudioData: (src: string) => AudioData | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-audio-metadata.d.ts","sourceRoot":"","sources":["../src/use-audio-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,SAAS,GAAG,IAgCtD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useAudioData = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const remotion_1 = require("remotion");
|
|
6
|
+
const get_audio_data_1 = require("./get-audio-data");
|
|
7
|
+
const useAudioData = (src) => {
|
|
8
|
+
if (!src) {
|
|
9
|
+
throw new TypeError("useAudioMetadata requires a 'src' parameter");
|
|
10
|
+
}
|
|
11
|
+
const mountState = (0, react_1.useRef)({ isMounted: true });
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
const { current } = mountState;
|
|
14
|
+
current.isMounted = true;
|
|
15
|
+
return () => {
|
|
16
|
+
current.isMounted = false;
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
const [metadata, setMetadata] = (0, react_1.useState)(null);
|
|
20
|
+
const fetchMetadata = (0, react_1.useCallback)(async () => {
|
|
21
|
+
const handle = (0, remotion_1.delayRender)();
|
|
22
|
+
const data = await (0, get_audio_data_1.getAudioData)(src);
|
|
23
|
+
if (mountState.current.isMounted) {
|
|
24
|
+
setMetadata(data);
|
|
25
|
+
}
|
|
26
|
+
(0, remotion_1.continueRender)(handle);
|
|
27
|
+
}, [src]);
|
|
28
|
+
(0, react_1.useEffect)(() => {
|
|
29
|
+
fetchMetadata();
|
|
30
|
+
}, [fetchMetadata]);
|
|
31
|
+
return metadata;
|
|
32
|
+
};
|
|
33
|
+
exports.useAudioData = useAudioData;
|
|
34
|
+
//# sourceMappingURL=use-audio-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-audio-metadata.js","sourceRoot":"","sources":["../src/use-audio-metadata.ts"],"names":[],"mappings":";;;AAAA,iCAA+D;AAC/D,uCAAqD;AACrD,qDAA8C;AAGvC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAoB,EAAE;IAC7D,IAAI,CAAC,GAAG,EAAE;QACT,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACnE;IAED,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,MAAM,EAAC,OAAO,EAAC,GAAG,UAAU,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAmB,IAAI,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAA,sBAAW,GAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE;YACjC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,aAAa,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAhCW,QAAA,YAAY,gBAgCvB"}
|
package/dist/visualize-audio.js
CHANGED
|
@@ -31,7 +31,7 @@ const visualizeAudio = ({ smoothing = true, ...parameters }) => {
|
|
|
31
31
|
const all = toSmooth.map((s) => {
|
|
32
32
|
return visualizeAudioFrame({ ...parameters, frame: s });
|
|
33
33
|
});
|
|
34
|
-
return new Array(parameters.numberOfSamples).fill(true).map((
|
|
34
|
+
return new Array(parameters.numberOfSamples).fill(true).map((_x, i) => {
|
|
35
35
|
return (new Array(toSmooth.length)
|
|
36
36
|
.fill(true)
|
|
37
37
|
.map((_, j) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/media-utils",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-july8th.12+bef202c99",
|
|
4
4
|
"description": "Utility functions for audio and video",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -18,20 +18,20 @@
|
|
|
18
18
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"remotion": "4.0.0-
|
|
21
|
+
"remotion": "4.0.0-july8th.12+bef202c99"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
25
25
|
"react-dom": ">=16.8.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@jonny/eslint-config": "3.0.
|
|
28
|
+
"@jonny/eslint-config": "3.0.266",
|
|
29
29
|
"@types/node": "^16.7.5",
|
|
30
30
|
"@types/react": "18.0.1",
|
|
31
31
|
"eslint": "8.13.0",
|
|
32
32
|
"prettier": "^2.0.5",
|
|
33
33
|
"prettier-plugin-organize-imports": "^2.3.4",
|
|
34
|
-
"typescript": "^4.
|
|
34
|
+
"typescript": "^4.7.0"
|
|
35
35
|
},
|
|
36
36
|
"keywords": [
|
|
37
37
|
"remotion",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "bef202c99a0d59c7e73fdaa39ece9190b01644c9"
|
|
48
48
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audio-buffer-to-wav.d.ts","sourceRoot":"","sources":["../../src/audio-buffer/audio-buffer-to-wav.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE;IACJ,OAAO,EAAE,OAAO,CAAC;CACjB,eAqBD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audio-buffer-to-wav.js","sourceRoot":"","sources":["../../src/audio-buffer/audio-buffer-to-wav.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audio-url-helpers.d.ts","sourceRoot":"","sources":["../../src/audio-buffer/audio-url-helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,WAAY,WAAW,WAYvD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audio-url-helpers.js","sourceRoot":"","sources":["../../src/audio-buffer/audio-url-helpers.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AAEhD,MAAM,oBAAoB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC3D,MAAM,gBAAgB,GAAG,IAAA,sCAAgB,EAAC,MAAM,EAAE;QACjD,OAAO,EAAE,IAAI;KACb,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACxC;IAED,OAAO,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B"}
|
package/dist/p-limit.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-limit.d.ts","sourceRoot":"","sources":["../src/p-limit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,gBAAiB,MAAM,yKA0EzC,CAAC"}
|
package/dist/p-limit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-limit.js","sourceRoot":"","sources":["../src/p-limit.ts"],"names":[],"mappings":";;;AAAO,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,GAAG,EAAE;;QACjB,WAAW,EAAE,CAAC;QAEd,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAA,KAAK,CAAC,KAAK,EAAE,2CAAI,CAAC;SAClB;IACF,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,KAAK,EAChB,EAAsE,EACtE,OAA2C,EAC3C,GAAG,IAAe,EACjB,EAAE;QACH,WAAW,EAAE,CAAC;QAEd,yCAAyC;QACzC,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;QAE3C,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI;YACH,MAAM,MAAM,CAAC;SACb;QAAC,WAAM,GAAE;QAEV,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CACf,EAAsE,EACtE,OAA2C,EAC3C,GAAG,IAAe,EACjB,EAAE;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAE5C,CAAC,KAAK,IAAI,EAAE;;YACX,wEAAwE;YACxE,kFAAkF;YAClF,mFAAmF;YACnF,uFAAuF;YACvF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAExB,IAAI,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,MAAA,KAAK,CAAC,KAAK,EAAE,2CAAI,CAAC;aAClB;QACF,CAAC,CAAC,EAAE,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CACjB,EAAsE,EACtE,GAAG,IAAe,EACjB,EAAE,CACH,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,EAAE;QACnC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;QAClC,WAAW,EAAE;YACZ,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW;SACtB;QACD,YAAY,EAAE;YACb,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM;SACvB;QACD,UAAU,EAAE;YACX,KAAK,EAAE,GAAG,EAAE;gBACX,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAClB,CAAC;SACD;KACD,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AA1EW,QAAA,MAAM,UA0EjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-audio-data.d.ts","sourceRoot":"","sources":["../src/use-audio-data.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAElC,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,SAAS,GAAG,IAkCtD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-audio-data.js","sourceRoot":"","sources":["../src/use-audio-data.ts"],"names":[],"mappings":";;;AAAA,iCAA+D;AAC/D,uCAAqD;AACrD,qDAA8C;AAGvC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAoB,EAAE;IAC7D,IAAI,CAAC,GAAG,EAAE;QACT,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;KAC/D;IAED,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,MAAM,EAAC,OAAO,EAAC,GAAG,UAAU,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAmB,IAAI,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAA,sBAAW,EACzB,wCAAwC,GAAG,gBAAgB,CAC3D,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE;YACjC,WAAW,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,aAAa,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
|