Spaces:
Running
on
Zero
Running
on
Zero
import { app } from "/scripts/app.js"; | |
import { api } from "/scripts/api.js" | |
import { ExtendedComfyWidgets,showVideoOutput } from "./extended_widgets.js"; | |
const MultilineSymbol = Symbol(); | |
const MultilineResizeSymbol = Symbol(); | |
async function uploadFile(file, updateNode, node, pasted = false) { | |
const videoWidget = node.widgets.find((w) => w.name === "video"); | |
try { | |
// Wrap file in formdata so it includes filename | |
const body = new FormData(); | |
body.append("image", file); | |
if (pasted) { | |
body.append("subfolder", "pasted"); | |
} | |
else { | |
body.append("subfolder", "n-suite"); | |
} | |
const resp = await api.fetchApi("/upload/image", { | |
method: "POST", | |
body, | |
}); | |
if (resp.status === 200) { | |
const data = await resp.json(); | |
// Add the file to the dropdown list and update the widget value | |
let path = data.name; | |
if (!videoWidget.options.values.includes(path)) { | |
videoWidget.options.values.push(path); | |
} | |
if (updateNode) { | |
// showVideo(path,node); | |
videoWidget.value = path; | |
if (data.subfolder) path = data.subfolder + "/" + path; | |
showVideo(path,node); | |
} | |
} else { | |
alert(resp.status + " - " + resp.statusText); | |
} | |
} catch (error) { | |
alert(error); | |
} | |
} | |
let uploadWidget = ""; | |
app.registerExtension({ | |
name: "Comfy.VideoSave", | |
async beforeRegisterNodeDef(nodeType, nodeData, app) { | |
const onExecuted = nodeType.prototype.onExecuted; | |
const onAdded = nodeType.prototype.onAdded; | |
if (nodeData.name === "SaveVideo [n-suite]") { | |
nodeType.prototype.onAdded = function () { | |
ExtendedComfyWidgets["VIDEO"](this, "videoOutWidget", ["STRING"], "", app,"output"); | |
}; | |
nodeType.prototype.onExecuted = function (message) { | |
onExecuted?.apply(this, arguments); | |
console.log(nodeData) | |
let full_path=""; | |
for (const list of message.text) { | |
full_path = list; | |
} | |
let fullweb= showVideoOutput(full_path,this) | |
} | |
}; | |
}, | |
}); | |