Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import { ClapSegment } from "@aitube/clap" | |
import { LayoutName } from "@/app/layouts" | |
import { layouts } from "@/app/layouts/settings" | |
import { getImageDimension } from "./getImageDimension" | |
export async function parseLayoutFromStoryboards(storyboards: ClapSegment[]): Promise<LayoutName> { | |
let bestCandidate: LayoutName = "Layout0" | |
for (const [layoutName, layoutPanels] of Object.entries(layouts)) { | |
let nbMatchingStoryboards = 0 | |
let i = 0 | |
for (const { panel, orientation, width, height } of layoutPanels) { | |
const storyboard = storyboards[i] | |
if (!storyboard) { continue } | |
if (!storyboard?.assetUrl) { continue } | |
const imgDimension = await getImageDimension(storyboard.assetUrl) | |
if (orientation === imgDimension.orientation) { | |
nbMatchingStoryboards++ | |
} | |
i++ | |
} | |
if (nbMatchingStoryboards === 4) { | |
bestCandidate = layoutName as LayoutName | |
} | |
} | |
return bestCandidate | |
} |