diff options
Diffstat (limited to 'apps/web/src/lib/timeline/group-move/track-placement.ts')
| -rw-r--r-- | apps/web/src/lib/timeline/group-move/track-placement.ts | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/apps/web/src/lib/timeline/group-move/track-placement.ts b/apps/web/src/lib/timeline/group-move/track-placement.ts deleted file mode 100644 index d301e5ef..00000000 --- a/apps/web/src/lib/timeline/group-move/track-placement.ts +++ /dev/null @@ -1,83 +0,0 @@ -import type { SceneTracks, TimelineTrack } from "@/lib/timeline"; -import type { GroupTrackSection } from "./types"; - -export interface TrackPlacement { - trackId: string; - trackType: TimelineTrack["type"]; - section: GroupTrackSection; - sectionIndex: number; - displayIndex: number; -} - -export function getDisplayTracks({ - tracks, -}: { - tracks: SceneTracks; -}): TimelineTrack[] { - return [...tracks.overlay, tracks.main, ...tracks.audio]; -} - -export function getTrackPlacementById({ - tracks, - trackId, -}: { - tracks: SceneTracks; - trackId: string; -}): TrackPlacement | null { - if (tracks.main.id === trackId) { - return { - trackId, - trackType: tracks.main.type, - section: "main", - sectionIndex: -1, - displayIndex: tracks.overlay.length, - }; - } - - const overlayTrackIndex = tracks.overlay.findIndex( - (track) => track.id === trackId, - ); - if (overlayTrackIndex >= 0) { - return { - trackId, - trackType: tracks.overlay[overlayTrackIndex].type, - section: "overlay", - sectionIndex: overlayTrackIndex, - displayIndex: overlayTrackIndex, - }; - } - - const audioTrackIndex = tracks.audio.findIndex( - (track) => track.id === trackId, - ); - if (audioTrackIndex >= 0) { - return { - trackId, - trackType: tracks.audio[audioTrackIndex].type, - section: "audio", - sectionIndex: audioTrackIndex, - displayIndex: tracks.overlay.length + 1 + audioTrackIndex, - }; - } - - return null; -} - -export function getTrackPlacementByDisplayIndex({ - tracks, - displayIndex, -}: { - tracks: SceneTracks; - displayIndex: number; -}): TrackPlacement | null { - const displayTracks = getDisplayTracks({ tracks }); - const track = displayTracks[displayIndex]; - if (!track) { - return null; - } - - return getTrackPlacementById({ - tracks, - trackId: track.id, - }); -} |
