diff --git a/src/converters/ffmpeg.ts b/src/converters/ffmpeg.ts index bbc2e41..8f26385 100644 --- a/src/converters/ffmpeg.ts +++ b/src/converters/ffmpeg.ts @@ -699,47 +699,6 @@ export async function convert( let extraArgs: string[] = []; let message = "Done"; - const audioFormatsWithCover = ["m4a", "mp3", "flac", "ogg"]; - const audioFormatsNoCover = ["wav", "aac"]; - - const audioInputFormats = [ - "aac", - "ac3", - "ac4", - "aiff", - "alac", - "amr", - "ape", - "au", - "caf", - "dts", - "eac3", - "flac", - "m4a", - "m4b", - "mka", - "mp2", - "mp3", - "mpc", - "ogg", - "oga", - "opus", - "ra", - "voc", - "wav", - "wma", - "wv", - ]; - - if ( - audioFormatsWithCover.includes(convertTo) && - audioInputFormats.includes(fileType.toLowerCase()) - ) { - extraArgs.push("-c:v", "copy", "-disposition:v", "attached_pic"); - } else if (audioFormatsNoCover.includes(convertTo) || audioFormatsWithCover.includes(convertTo)) { - extraArgs.push("-vn"); - } - if (convertTo === "ico") { // Make sure image is 256x256 or smaller extraArgs = [ diff --git a/src/converters/libreoffice.ts b/src/converters/libreoffice.ts index 9bc8e69..f9a06c3 100644 --- a/src/converters/libreoffice.ts +++ b/src/converters/libreoffice.ts @@ -6,7 +6,6 @@ export const properties = { text: [ "602", "abw", - "csv", "cwk", "doc", "docm", @@ -35,7 +34,6 @@ export const properties = { "stw", "sxw", "tab", - "tsv", "txt", "wn", "wpd", @@ -46,10 +44,10 @@ export const properties = { "xml", "zabw", ], + calc: ["csv", "ods", "tsv", "xls", "xlsx"], }, to: { text: [ - "csv", "doc", "docm", "docx", @@ -65,13 +63,13 @@ export const properties = { "pdf", "rtf", "tab", - "tsv", "txt", "wps", "wpt", "xhtml", "xml", ], + calc: ["csv", "ods", "pdf", "tsv", "xls", "xlsx", "ots", "xlsm", "xlt", "xltm"], }, }; @@ -117,7 +115,7 @@ const filters: Record> = { // filter makes soffice reject a genuine Works document with "source file // could not be loaded", even though it converts the same file fine with // no --infilter at all (LibreOffice auto-detects it correctly). - // + // null is deliberate for BOTH directions here, not just the import side: // this map feeds both --infilter (import) and the --convert-to suffix // (export). On import, null lets LibreOffice auto-detect - its Works @@ -133,7 +131,18 @@ const filters: Record> = { xml: "OpenDocument Text Flat XML", zabw: "AbiWord", }, - calc: {}, + calc: { + csv: "Text - txt - csv (StarCalc)", + ods: "calc8", + ots: "calc8_template", + pdf: "calc_pdf_Export", + tsv: "Text - txt - csv (StarCalc)", + xls: "MS Excel 97", + xlsx: "Calc MS Excel 2007 XML", + xlsm: "Calc MS Excel 2007 XML VBA", + xlt: "MS Excel 97 Vorlage", + xltm: "Calc MS Excel 2007 XML Template", + }, }; const getFilters = (fileType: string, converto: string) => {