aivee 0.1.0-alpha.0 → 0.1.0-dev.d34a6ba
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/LICENSE +21 -21
- package/README.md +120 -118
- package/docs/architecture.md +401 -401
- package/docs/aspect-ratio-presets.md +72 -72
- package/docs/releasing.md +19 -19
- package/docs/usage.md +1193 -1193
- package/package.json +52 -52
- package/requirements-otio.txt +1 -1
- package/src/capabilities.mjs +307 -307
- package/src/cli.mjs +646 -646
- package/src/doctor.mjs +133 -133
- package/src/edits/analysis-to-edl.mjs +43 -43
- package/src/edits/detect-silence.mjs +51 -51
- package/src/edits/find-mistake-candidates.mjs +42 -42
- package/src/edits/plan-shot-placements.mjs +105 -105
- package/src/edits/plan-silence-cuts.mjs +49 -49
- package/src/edits/retime-transcript.mjs +105 -105
- package/src/files.mjs +80 -80
- package/src/index.mjs +44 -44
- package/src/interchange/otio.mjs +204 -204
- package/src/interchange/otio_bridge.py +521 -521
- package/src/media/analysis-provider.mjs +75 -75
- package/src/media/compatibility.mjs +45 -45
- package/src/media/ffmpeg-capabilities.mjs +129 -129
- package/src/media/frame-rate.mjs +58 -58
- package/src/media/frame-time.mjs +22 -22
- package/src/media/preview-assets.mjs +350 -350
- package/src/media/probe.mjs +149 -149
- package/src/media/render-cuts.mjs +90 -90
- package/src/media/scene-detection.mjs +107 -107
- package/src/media/scene-review.mjs +205 -205
- package/src/project/assets.mjs +1194 -1194
- package/src/project/create.mjs +100 -100
- package/src/project/presets.mjs +44 -44
- package/src/render/checkpoints.mjs +192 -192
- package/src/render/formats.mjs +163 -163
- package/src/render/hyperframes.mjs +590 -590
- package/src/render/process.mjs +111 -111
- package/src/render/progress.mjs +46 -46
- package/src/render/timeline-control.mjs +53 -53
- package/src/timeline/assemble.mjs +119 -119
- package/src/timeline/audio-effects.mjs +75 -75
- package/src/timeline/audio-mastering.mjs +236 -236
- package/src/timeline/audio-mix.mjs +105 -105
- package/src/timeline/audio-track-effects.mjs +139 -139
- package/src/timeline/audio-volume.mjs +63 -63
- package/src/timeline/background.mjs +8 -8
- package/src/timeline/blend-mode.mjs +34 -34
- package/src/timeline/caption-layouts.mjs +62 -61
- package/src/timeline/captions.mjs +80 -80
- package/src/timeline/edit.mjs +965 -965
- package/src/timeline/fingerprint.mjs +6 -6
- package/src/timeline/from-edl.mjs +31 -31
- package/src/timeline/history-store.mjs +281 -281
- package/src/timeline/history.mjs +69 -69
- package/src/timeline/inspect.mjs +117 -117
- package/src/timeline/keyframes.mjs +158 -158
- package/src/timeline/layers.mjs +18 -18
- package/src/timeline/mask.mjs +53 -53
- package/src/timeline/project.mjs +52 -52
- package/src/timeline/render.mjs +759 -759
- package/src/timeline/sidechain-render.mjs +209 -209
- package/src/timeline/source-fit.mjs +15 -15
- package/src/timeline/speech-bubble.mjs +26 -26
- package/src/timeline/speed-ramp.mjs +188 -188
- package/src/timeline/track-state.mjs +22 -22
- package/src/timeline/transition.mjs +34 -34
- package/src/timeline/validate.mjs +322 -322
- package/src/transcript/corrections.mjs +21 -21
- package/src/transcript/normalize.mjs +17 -17
- package/src/transcript/provider.mjs +42 -42
- package/src/transcript/subtitles.mjs +57 -57
- package/src/transcript/validate.mjs +39 -39
package/src/media/frame-time.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { frameRateNumber } from './frame-rate.mjs';
|
|
2
|
-
|
|
3
|
-
export function secondsToFrame(seconds, fps, rounding = 'nearest') {
|
|
4
|
-
if (!Number.isFinite(seconds) || seconds < 0) throw new TypeError('Time in seconds must be a non-negative finite number.');
|
|
5
|
-
const rate = frameRateNumber(fps);
|
|
6
|
-
const position = seconds * rate;
|
|
7
|
-
const frame = rounding === 'nearest' ? Math.round(position)
|
|
8
|
-
: rounding === 'floor' ? Math.floor(position)
|
|
9
|
-
: rounding === 'ceil' ? Math.ceil(position)
|
|
10
|
-
: NaN;
|
|
11
|
-
if (!Number.isSafeInteger(frame)) throw new TypeError('Frame rounding must be nearest, floor, or ceil.');
|
|
12
|
-
return frame;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export function frameToSeconds(frame, fps) {
|
|
16
|
-
if (!Number.isSafeInteger(frame) || frame < 0) throw new TypeError('Frame must be a non-negative safe integer.');
|
|
17
|
-
return frame / frameRateNumber(fps);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function snapTimeToFrame(seconds, fps, rounding = 'nearest') {
|
|
21
|
-
return frameToSeconds(secondsToFrame(seconds, fps, rounding), fps);
|
|
22
|
-
}
|
|
1
|
+
import { frameRateNumber } from './frame-rate.mjs';
|
|
2
|
+
|
|
3
|
+
export function secondsToFrame(seconds, fps, rounding = 'nearest') {
|
|
4
|
+
if (!Number.isFinite(seconds) || seconds < 0) throw new TypeError('Time in seconds must be a non-negative finite number.');
|
|
5
|
+
const rate = frameRateNumber(fps);
|
|
6
|
+
const position = seconds * rate;
|
|
7
|
+
const frame = rounding === 'nearest' ? Math.round(position)
|
|
8
|
+
: rounding === 'floor' ? Math.floor(position)
|
|
9
|
+
: rounding === 'ceil' ? Math.ceil(position)
|
|
10
|
+
: NaN;
|
|
11
|
+
if (!Number.isSafeInteger(frame)) throw new TypeError('Frame rounding must be nearest, floor, or ceil.');
|
|
12
|
+
return frame;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function frameToSeconds(frame, fps) {
|
|
16
|
+
if (!Number.isSafeInteger(frame) || frame < 0) throw new TypeError('Frame must be a non-negative safe integer.');
|
|
17
|
+
return frame / frameRateNumber(fps);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function snapTimeToFrame(seconds, fps, rounding = 'nearest') {
|
|
21
|
+
return frameToSeconds(secondsToFrame(seconds, fps, rounding), fps);
|
|
22
|
+
}
|