diff --git a/src/converters/assimp.ts b/src/converters/assimp.ts index b0c9241..aa87811 100644 --- a/src/converters/assimp.ts +++ b/src/converters/assimp.ts @@ -1,143 +1,144 @@ -import { exec } from "node:child_process"; - -// This could be done dynamically by running `ffmpeg -formats` and parsing the output -export const properties = { - from: { - muxer: [ - "3d", - "3ds", - "3mf", - "ac", - "ac3d", - "acc", - "amf", - "ase", - "ask", - "assbin", - "b3d", - "blend", - "bsp", - "bvh", - "cob", - "csm", - "dae", - "dxf", - "enff", - "fbx", - "glb", - "gltf", - "hmp", - "ifc", - "ifczip", - "iqm", - "irr", - "irrmesh", - "lwo", - "lws", - "lxo", - "md2", - "md3", - "md5anim", - "md5camera", - "md5mesh", - "mdc", - "mdl", - "mesh.xml", - "mesh", - "mot", - "ms3d", - "ndo", - "nff", - "obj", - "off", - "ogex", - "pk3", - "ply", - "pmx", - "prj", - "q3o", - "q3s", - "raw", - "scn", - "sib", - "smd", - "step", - "stl", - "stp", - "ter", - "uc", - "usd", - "usda", - "usdc", - "usdz", - "vta", - "x", - "x3d", - "x3db", - "xgl", - "xml", - "zae", - "zgl", - ], - }, - to: { - muxer: [ - "3ds", - "3mf", - "assbin", - "assjson", - "assxml", - "collada", - "dae", - "fbx", - "fbxa", - "glb", - "glb2", - "gltf", - "gltf2", - "m3d", - "m3da", - "obj", - "objnomtl", - "pbrt", - "ply", - "plyb", - "stl", - "stlb", - "stp", - "x", - "x3d", - ], - }, -}; - -export async function convert( - filePath: string, - fileType: string, - convertTo: string, - targetPath: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - options?: unknown, -): Promise { - // let command = "ffmpeg"; - - const command = `assimp export "${filePath}" "${targetPath}"`; - - return new Promise((resolve, reject) => { - exec(command, (error, stdout, stderr) => { - if (error) { - reject(`error: ${error}`); - } - - if (stdout) { - console.log(`stdout: ${stdout}`); - } - - if (stderr) { - console.error(`stderr: ${stderr}`); - } - - resolve("Done"); - }); - }); -} +import { exec } from "node:child_process"; + +// This could be done dynamically by running `ffmpeg -formats` and parsing the output +export const properties = { + from: { + muxer: [ + "3d", + "3ds", + "3mf", + "ac", + "ac3d", + "acc", + "amf", + "amj", + "ase", + "ask", + "assbin", + "b3d", + "blend", + "bsp", + "bvh", + "cob", + "csm", + "dae", + "dxf", + "enff", + "fbx", + "glb", + "gltf", + "hmb", + "hmp", + "ifc", + "ifczip", + "iqm", + "irr", + "irrmesh", + "lwo", + "lws", + "lxo", + "m3d", + "md2", + "md3", + "md5anim", + "md5camera", + "md5mesh", + "mdc", + "mdl", + "mesh.xml", + "mesh", + "mot", + "ms3d", + "ndo", + "nff", + "obj", + "off", + "ogex", + "pk3", + "ply", + "pmx", + "prj", + "q3o", + "q3s", + "raw", + "scn", + "sib", + "smd", + "step", + "stl", + "stp", + "ter", + "uc", + "usd", + "usda", + "usdc", + "usdz", + "vta", + "x", + "x3d", + "x3db", + "xgl", + "xml", + "zae", + "zgl", + ], + }, + to: { + muxer: [ + "3ds", + "3mf", + "assbin", + "assjson", + "assxml", + "collada", + "dae", + "fbx", + "fbxa", + "glb", + "glb2", + "gltf", + "gltf2", + "json", + "obj", + "objnomtl", + "pbrt", + "ply", + "plyb", + "stl", + "stlb", + "stp", + "x", + ], + }, +}; + +export async function convert( + filePath: string, + fileType: string, + convertTo: string, + targetPath: string, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + options?: unknown, +): Promise { + // let command = "ffmpeg"; + + const command = `assimp export "${filePath}" "${targetPath}"`; + + return new Promise((resolve, reject) => { + exec(command, (error, stdout, stderr) => { + if (error) { + reject(`error: ${error}`); + } + + if (stdout) { + console.log(`stdout: ${stdout}`); + } + + if (stderr) { + console.error(`stderr: ${stderr}`); + } + + resolve("Done"); + }); + }); +}