addClip
addClip: (
trackId: string,
mediaFile: MediaFile,
startTime: number,
duration?: number,
) => void
canPlaceClip
canPlaceClip: (
trackId: string,
startTime: number,
duration: number,
excludeClipId?: string,
) => boolean
clearClipSelection
clearClipSelection: () => void
duplicateClip
duplicateClip: (clipId: string, targetTrackId?: string) => void
getClipAtTime
getClipAtTime: (trackId: string, time: number) => TimelineClip getClipConflicts
getClipConflicts: ( trackId: string, startTime: number, duration: number, excludeClipId?: string,) => TimelineClip[] getClipsInRange
getClipsInRange: (startTime: number, endTime: number) => TimelineClip[] getClipStats
getClipStats: () => { clipsByType: Record<TrackType, number>; selectedCount: number; totalClips: number; totalDuration: number;} isClipSelected
isClipSelected: (clipId: string) => boolean
moveClip
moveClip: (clipId: string, newTrackId: string, newStartTime: number) => void
removeClip
removeClip: (clipId: string) => void
selectClip
selectClip: (clipId: string, addToSelection?: boolean) => void
selectClipsInArea
selectClipsInArea: (
startTime: number,
endTime: number,
trackIds: string[],
) => void
selectMultipleClips
selectMultipleClips: (clipIds: string[]) => void
setClipOpacity
setClipOpacity: (clipId: string, opacity: number) => void
setClipPosition
setClipPosition: (
clipId: string,
position: { height: number; width: number; x: number; y: number },
) => void
setClipSpeed
setClipSpeed: (clipId: string, speed: number) => void
setClipVolume
setClipVolume: (clipId: string, volume: number) => void
splitClip
splitClip: (clipId: string, splitTime: number) => void
toggleClipReverse
toggleClipReverse: (clipId: string) => void
trimClip
trimClip: (clipId: string, newStartTime: number, newDuration: number) => void
updateClip
updateClip: (clipId: string, updates: Partial<TimelineClip>) => void