@diffusionstudio/core-v4
Version:
2D motion graphics and video rendering engine
88 lines (87 loc) • 3.3 kB
TypeScript
import { AudioSource } from '../../sources';
import { FillOptions, Renderer } from '../../renderer';
import { Timestamp } from '../../models';
import { AudioClip } from '../audio';
import { Layer } from '../../layer';
import { WaveformClipAnimationOptions, WaveformClipProps, WaveformBar } from './interfaces';
import { MediaInput } from '../../types';
declare const WaveformClip_base: {
new (...args: any[]): {
source?: {
height: number;
width: number;
aspectRatio: number;
} | undefined;
_position: {
x: number;
y: number;
};
_layoutCache: import('../..').Size;
_height?: number;
_width?: number;
_aspectRatio?: number;
_keepAspectRatio: boolean;
_mask?: import('../..').Mask;
constraints: import('..').Constraints;
anchorX: number;
anchorY: number;
scaleX: number;
scaleY: number;
translateX: number;
translateY: number;
rotation: number;
opacity: number;
filter?: string;
blendMode?: import('../..').BlendMode;
get x(): number;
set x(value: number | import('../..').Percent);
get y(): number;
set y(value: number | import('../..').Percent);
get translate(): import('../..').Point;
set translate(value: import('../..').Point | number);
get anchor(): import('../..').Point;
set anchor(value: import('../..').Point | number);
get scale(): import('../..').Point;
set scale(value: import('../..').Point | number);
mask: import('../..').Mask | undefined;
keepAspectRatio: boolean;
get aspectRatio(): number;
set aspectRatio(value: number | undefined);
get height(): number;
set height(value: import('../..').Percent | number | undefined);
get width(): number;
set width(value: import('../..').Percent | number | undefined);
get position(): import('../..').Point;
set position(value: import('../..').RelativePoint | "center");
animate(time: Timestamp): /*elided*/ any;
layout(next: import('../..').Size): void;
readonly size: import('../..').Size;
readonly bounds: [import('../..').Point, import('../..').Point, import('../..').Point, import('../..').Point];
animations: import('..').ClipAnimationOptions;
start: Timestamp;
stop: Timestamp;
toJSON(exclude?: string[]): unknown;
fromJSON<K = {}>(obj: K extends string ? never : K): /*elided*/ any;
};
readonly VISUAL_MIXIN: symbol;
} & typeof AudioClip;
export declare class WaveformClip extends WaveformClip_base {
readonly type = "WAVE";
layer?: Layer<AudioClip>;
animations: WaveformClipAnimationOptions;
readonly sampleRate = 8000;
fill: FillOptions;
bar: WaveformBar;
smoothing: number;
magnitude: number;
private barHeights;
private channelData?;
private time;
constructor(input?: MediaInput | AudioSource, props?: WaveformClipProps);
init(): Promise<void>;
enter(): Promise<void>;
update(audio: Renderer): Promise<void>;
render(renderer: Renderer): Promise<void>;
private updateBarHeights;
}
export {};