forked from nikita/muzika-gromche
31 lines
765 B
TypeScript
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;
|
|
}
|
|
}
|