mcut
@mcut/timeline

getMulticamAudioSource

Generated TypeScript API reference for the public mcut SDK.

mcut SDK


mcut SDK / timeline/src / getMulticamAudioSource

Function: getMulticamAudioSource()

function getMulticamAudioSource(element):
  | {
  assetId: `a-${string}`;
  key: string;
  trimStartMs: number;
}
  | null;

Defined in: packages/timeline/src/multicam.ts:81

The source whose audio plays (explicit key, else nothing).

Parameters

element

angles

object[] = ...

angleTransition?

{ durationMs: number; type: string; } = ...

Uniform transition blended at EVERY angle cut (omit = hard jump cuts). One setting standardizes the whole switch list; the window is centered on each cut and clamped so neighboring windows never overlap.

angleTransition.durationMs

number = ...

Total blend window, centered on the cut.

angleTransition.type

string = transitionTypeSchema

audioSource?

string = ...

Key of the source whose audio plays (omit to mute all sources).

blendMode?

| "color" | "normal" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "hue" | "saturation" | "luminosity" = ...

Compositing blend mode against the layers below. Absent = normal.

durationMs

number = ...

effects?

Effect[] = ...

Ordered effect stack, compiled to a canvas filter. See effects.ts.

fadeInMs?

number = ...

Audio fade-in length from the clip's start (ms). Absent = none.

fadeOutMs?

number = ...

Audio fade-out length before the clip's end (ms). Absent = none.

groupId?

`g-${string}` = ...

Elements sharing a groupId are one editable timeline item made from multiple clips. This is separate from linkId, which remains audio/link-pair semantics.

id

`e-${string}` = elementIdSchema

keyframes?

Partial<Record< | "blur" | "rotation" | "position.x" | "position.y" | "scale.x" | "scale.y" | "opacity" | "volume" | "letterSpacing", object[]>> = ...

Armed fixed-effect properties (Premiere stopwatch on): per-property keyframe tracks, sorted and unique by element-local timeMs.

linkId?

string = ...

Elements sharing a linkId are linked (e.g. video + its detached audio): UIs select and move them together. The engine stores the linkage; it does not enforce cascading edits.

motionBlur?

{ enabled: boolean; shutterAngle: number; } = ...

Sub-frame motion blur on keyframed transform motion. Absent = off. See effects.ts.

motionBlur.enabled

boolean = ...

motionBlur.shutterAngle

number = ...

Shutter angle in degrees: 360° exposes the full frame interval, 180° (the default) is the film-camera look — half the interval.

muted

boolean = ...

opacity

number = ...

sources

object[] = ...

startMs

number = ...

timeMap?

object[] = ...

Time remap (speed) for the whole multicam; see speed.ts.

transform

{ rotation: number; scaleX: number; scaleY: number; x: number; y: number; } = transformSchema

transform.rotation

number = ...

transform.scaleX

number = ...

transform.scaleY

number = ...

transform.x

number = ...

transform.y

number = ...

transition?

{ durationMs: number; type: string; } = ...

Transition INTO the next exactly-adjacent clip on the same track; this element is the left side of the pair. See transitions.ts.

transition.durationMs

number = ...

Total blend window, centered on the cut.

transition.type

string = transitionTypeSchema

type

"multicam" = ...

volume

number = ...

Returns

Type Literal

{
  assetId: `a-${string}`;
  key: string;
  trimStartMs: number;
}

assetId

assetId: `a-${string}` = assetIdSchema;

key

key: string;

Role key referenced by layout slots ('screen', 'camera', ...).

trimStartMs

trimStartMs: number;

Where this source's media starts at the multicam's start (also the sync nudge).


null

On this page