tav-media
Version:
Cross platform media editing framework
65 lines (64 loc) • 1.82 kB
TypeScript
import { TAVObject } from '../types/tav-object';
import { tav } from '../tav';
import { Composition } from './tav-composition';
/**
* A timed audiovisual resource which provides audio or video outputs.
* @hideconstructor
* @category Clips
*/
export declare class Clip extends TAVObject {
/**
* Returns the type of this output.
*/
readonly type: string;
/**
* @ignore
*/
parent?: Clip;
protected _nativeObject?: tav.Clip;
protected _contentStartTime?: number;
protected _contentTimeInvalid: boolean;
protected _contentDuration?: number;
private _startTime;
private _duration;
/**
* Build the native clip object from assets and other properties set on the clip.
* This method is web only.
* @returns The native clip object.
*/
build(): Promise<tav.Clip> | undefined;
/**
* @ignore
*/
hasFakeClipNativeInvalidated(): boolean;
/**
* Release the native clip object.
* This method is web only.
*/
release(): void;
/**
* @ignore
*/
clone(): Clip;
protected attachToParent(parent?: Composition): void;
protected detachFromParent(): void;
protected removeFromParent(): void;
protected createClip(): Promise<tav.Clip> | undefined;
protected updateClip(clip: tav.Clip): Promise<void>;
protected invalidated(): void;
/**
* Get the native clip object.
*/
get nativeClip(): tav.Clip | null;
set nativeClip(clip: tav.Clip | null);
/**
* Get or set the duration of this clip in the composition's timeline.
*/
get duration(): number;
set duration(time: number);
/**
* Get or set the start time of this clip in the composition's timeline
*/
get startTime(): number;
set startTime(time: number);
}