MCPcopy
hub / github.com/midrender/revideo / render

Function render

packages/renderer/client/render.ts:19–79  ·  view source on GitHub ↗
(
  project: Project,
  workerId: number,
  totalNumOfWorkers: number,
  hiddenFolderId: string,
  overwriteRenderSettings: RenderVideoUserProjectSettings,
)

Source from the content-addressed store, hash-verified

17 * Render the project.
18 */
19export const render = async (
20 project: Project,
21 workerId: number,
22 totalNumOfWorkers: number,
23 hiddenFolderId: string,
24 overwriteRenderSettings: RenderVideoUserProjectSettings,
25) => {
26 try {
27 const renderer = new Renderer(project);
28
29 // Range calculation
30 const range =
31 overwriteRenderSettings.range ?? project.settings.shared.range;
32
33 const {firstGlobalFrame, lastGlobalFrame} =
34 await getGlobalFirstAndLastFrame(project, renderer, range[0], range[1]);
35
36 const {firstWorkerFrame, lastWorkerFrame} =
37 await getWorkerFirstAndLastFrame(
38 firstGlobalFrame,
39 lastGlobalFrame,
40 workerId,
41 totalNumOfWorkers,
42 );
43
44 const renderSettingsFromProject = getFullRenderingSettings(project);
45
46 // Overwrite settings with user provided settings
47 let background = renderSettingsFromProject.background;
48 if (overwriteRenderSettings.background) {
49 background = new Color(overwriteRenderSettings.background);
50 }
51
52 let size = renderSettingsFromProject.size;
53 if (overwriteRenderSettings.size) {
54 size = new Vector2(
55 overwriteRenderSettings.size.x,
56 overwriteRenderSettings.size.y,
57 );
58 }
59
60 // Combine settings
61 const combinedSettings = {
62 ...renderSettingsFromProject,
63 name: project.name,
64 hiddenFolderId: hiddenFolderId,
65 ...overwriteRenderSettings,
66 background,
67 size,
68 range: [
69 renderer.frameToTime(firstWorkerFrame),
70 renderer.frameToTime(lastWorkerFrame),
71 ] as [number, number],
72 };
73
74 await renderer.render(combinedSettings);
75 window.onRenderComplete();
76 } catch (e: any) {

Callers

nothing calls this directly

Calls 5

frameToTimeMethod · 0.95
renderMethod · 0.95
getFullRenderingSettingsFunction · 0.90

Tested by

no test coverage detected