Spaces:
Running
Running
File size: 1,951 Bytes
6b85c8b 926fa9d 8dd5bba f077067 6b85c8b 8dd5bba 08b8660 8dd5bba f077067 6b85c8b 256845f 6b85c8b 926fa9d 6b85c8b 926fa9d 6b85c8b 51570c3 6b85c8b 256845f 6b85c8b 51570c3 6b85c8b 51570c3 6b85c8b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import _ from 'lodash'
import fs from 'fs'
import { SplitRenderPlugin } from './split-render.js';
import { FramesPlugin } from './frames.js';
import { CaptionPlugin } from './generate-captions.js';
import { FlattenPathsPlugin } from './flatten-paths.js';
import { SpeedPlugin } from './speed.js';
const pluginRegistry = {
'split-media-render': SplitRenderPlugin,
'frames': FramesPlugin,
'generate-captions': CaptionPlugin,
'flatten-paths': FlattenPathsPlugin,
'speed': SpeedPlugin,
};
export async function applyPluginsPrerender(plugins, originalManuscript, originalManuscriptPath, jobId) {
for (let pluginInfo of plugins) {
let pluginName = pluginInfo.name;
let options = pluginInfo || {};
_.set(originalManuscript, 'meta.plugins', plugins)
console.log(`Applying plugin: ${pluginName} with options:`, options)
if (pluginRegistry[pluginName]) {
let pluginInstance = new pluginRegistry[pluginName](pluginName, options);
await pluginInstance.applyPrerender(originalManuscript, jobId);
} else {
console.warn(`Plugin ${pluginName} not found in registry.`);
}
fs.writeFileSync(originalManuscriptPath, JSON.stringify(originalManuscript, null, 2))
}
}
export async function applyPluginsPostrender(plugins, originalManuscript, originalManuscriptPath, jobId, outFiles) {
for (let pluginInfo of plugins) {
let pluginName = pluginInfo.name;
let options = pluginInfo || {};
console.log(`Applying post-render plugin: ${pluginName} with options:`, options)
if (pluginRegistry[pluginName]) {
let pluginInstance = new pluginRegistry[pluginName](pluginName, options);
await pluginInstance.applyPostrender(originalManuscript, jobId, outFiles);
} else {
console.warn(`Plugin ${pluginName} not found in registry.`);
}
}
fs.writeFileSync(originalManuscriptPath, JSON.stringify(originalManuscript, null, 2))
} |