const { contextBridge, ipcRenderer } = require("electron"); contextBridge.exposeInMainWorld("api", { select_blend_file: () => { return ipcRenderer.invoke("select-blend-file"); }, get_cameras: (str_path) => { return ipcRenderer.invoke("get-cameras", str_path); }, start_render: (obj_config) => { return ipcRenderer.invoke("start-render", obj_config); }, check_queue: (obj_config) => { return ipcRenderer.invoke("check-queue", obj_config); }, pause_render: () => { return ipcRenderer.invoke("pause-render"); }, stop_render: () => { return ipcRenderer.invoke("stop-render"); }, save_config: (obj_config) => { return ipcRenderer.invoke("save-config", obj_config); }, load_config: () => { return ipcRenderer.invoke("load-config"); }, select_output_folder: () => { return ipcRenderer.invoke("select-output-folder"); }, read_image: (str_path) => { return ipcRenderer.invoke("read-image", str_path); }, show_item_in_folder: (str_path) => { return ipcRenderer.invoke("show-item-in-folder", str_path); }, open_file_default: (str_path) => { return ipcRenderer.invoke("open-file-default", str_path); }, delete_rendered_file: (str_path) => { return ipcRenderer.invoke("delete-rendered-file", str_path); }, delete_rendered_files: (list_paths) => { return ipcRenderer.invoke("delete-rendered-files", list_paths); }, get_file_info: (str_path) => { return ipcRenderer.invoke("get-file-info", str_path); }, copy_image_to_clipboard: (str_path) => { return ipcRenderer.invoke("copy-image-to-clipboard", str_path); }, generate_preview_video: (obj_params) => { return ipcRenderer.invoke("generate-preview-video", obj_params); }, on_render_progress: (fn_callback) => { ipcRenderer.on("render-progress", (event, obj_data) => { fn_callback(obj_data); }); }, on_render_complete: (fn_callback) => { ipcRenderer.on("render-complete", (event, obj_data) => { fn_callback(obj_data); }); }, on_render_error: (fn_callback) => { ipcRenderer.on("render-error", (event, obj_data) => { fn_callback(obj_data); }); }, on_preview_update: (fn_callback) => { ipcRenderer.on("preview-update", (event, str_image_path) => { fn_callback(str_image_path); }); }, on_log: (fn_callback) => { ipcRenderer.on("log", (event, str_message) => { fn_callback(str_message); }); }, get_blender_path: () => { return ipcRenderer.invoke("get-blender-path"); }, set_blender_path: (str_path) => { return ipcRenderer.invoke("set-blender-path", str_path); }, select_blender_exe: () => { return ipcRenderer.invoke("select-blender-exe"); }, on_blender_path_status: (fn_callback) => { ipcRenderer.on("blender-path-status", (event, obj_data) => { fn_callback(obj_data); }); }, get_ffmpeg_path: () => { return ipcRenderer.invoke("get-ffmpeg-path"); }, set_ffmpeg_path: (str_path) => { return ipcRenderer.invoke("set-ffmpeg-path", str_path); }, select_ffmpeg_exe: () => { return ipcRenderer.invoke("select-ffmpeg-exe"); }, on_ffmpeg_path_status: (fn_callback) => { ipcRenderer.on("ffmpeg-path-status", (event, obj_data) => { fn_callback(obj_data); }); }, get_notification_config: () => { return ipcRenderer.invoke("get-notification-config"); }, set_notification_config: (obj_config) => { return ipcRenderer.invoke("set-notification-config", obj_config); }, get_email_config: () => { return ipcRenderer.invoke("get-email-config"); }, set_email_config: (obj_config) => { return ipcRenderer.invoke("set-email-config", obj_config); }, test_email: (obj_config) => { return ipcRenderer.invoke("test-email", obj_config); }, check_for_updates: () => { return ipcRenderer.invoke("check-for-updates"); }, apply_update: (str_tag_name) => { return ipcRenderer.invoke("apply-update", str_tag_name); }, on_update_available: (fn_callback) => { ipcRenderer.on("update-available", (event, obj_data) => { fn_callback(obj_data); }); }, on_update_progress: (fn_callback) => { ipcRenderer.on("update-progress", (event, obj_data) => { fn_callback(obj_data); }); }, on_update_error: (fn_callback) => { ipcRenderer.on("update-error", (event, obj_data) => { fn_callback(obj_data); }); }, });