1
0
Fork 0
muzika-gromche/Frontend/src/components/timeline/clip/index.ts

31 lines
765 B
TypeScript

import type { TimelineClipData, TimelineTrackData } from "@/lib/Timeline";
import type { Component } from "vue";
import { Default, FadeOut, Lyrics, Palette } from "./impl";
export interface ClipContentViewProps {
track: TimelineTrackData;
clip: TimelineClipData;
width: number;
}
export type ClipContentViewComponent = Component<ClipContentViewProps>;
export function getComponentFor(track: TimelineTrackData): ClipContentViewComponent {
switch (track.contentViewType) {
case "audio":
return Default;
case "event":
return Default;
case "fadeout":
return FadeOut;
case "palette":
return Palette;
case "text":
return Lyrics;
case "curve":
return Default;
default:
return Default;
}
}