Merge remote-tracking branch 'origin/main' into feature-Pruna-p-video
This commit is contained in:
+3
-1
@@ -1,6 +1,6 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js";
|
||||
import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, saveTextHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, textModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, videoInferenceSpeechInputToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, imageUpscalerSettingsToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, textInferenceSettingsToggleHandler, videoSettingsToggleHandler, videoInferenceSettingsTtsToggleHandler, videoInferenceSettingsActiveSpeakerDetectionToggleHandler, videoInferenceSettingsActiveSpeakerBoundingBoxesToggleHandler, videoInferenceSettingsSegmentsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, threeDInferenceSettingsMeshClusterToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, outpaintSettingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, imageInferenceSettingsMoodboardsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler, audioInferenceReferenceVoiceToggleHandler, audioInferenceSpeechVoicesToggleHandler, videoInputsFrameToggleHandler, referenceVideosToggleHandler } from "./utils.js";
|
||||
import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, saveTextHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, textModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, videoInferenceSpeechInputToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, imageUpscalerSettingsToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, textInferenceSettingsToggleHandler, videoSettingsToggleHandler, videoInferenceSettingsTtsToggleHandler, videoInferenceSettingsActiveSpeakerDetectionToggleHandler, videoInferenceSettingsActiveSpeakerBoundingBoxesToggleHandler, videoInferenceSettingsSegmentsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, threeDInferenceSettingsMeshClusterToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, outpaintSettingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, imageInferenceSettingsMoodboardsToggleHandler, imageInferenceSettingsStructuredPromptToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler, audioInferenceReferenceVoiceToggleHandler, audioInferenceSpeechVoicesToggleHandler, videoInputsFrameToggleHandler, referenceVideosToggleHandler } from "./utils.js";
|
||||
import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js";
|
||||
|
||||
const nodeInitList = [];
|
||||
@@ -153,6 +153,8 @@ app.registerExtension({
|
||||
imageInferenceSettingsColorPaletteToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSMOODBOARDS) {
|
||||
imageInferenceSettingsMoodboardsToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSSTRUCTUREDPROMPT) {
|
||||
imageInferenceSettingsStructuredPromptToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.AUDIOINPUT) {
|
||||
audioInputToggleHandler(node);
|
||||
} else if(nodeClass === RUNWARE_NODE_TYPES.SPEECHINPUT) {
|
||||
|
||||
@@ -159,6 +159,7 @@ const RUNWARE_NODE_TYPES = {
|
||||
SETTINGS: "Runware Settings",
|
||||
IMAGEINFERENCESETTINGSCOLORPALETTE: "Runware Image Inference Settings Color Palette",
|
||||
IMAGEINFERENCESETTINGSMOODBOARDS: "Runware Image Inference Settings Moodboards",
|
||||
IMAGEINFERENCESETTINGSSTRUCTUREDPROMPT: "Runware Image Inference Settings Structured Prompt",
|
||||
VIDEOADVANCEDFEATUREINPUTS: "Runware Video Advanced Feature Inputs",
|
||||
WANANIMATEADVANCEDFEATURESETTINGS: "Runware Wan Animate Advanced Feature Settings",
|
||||
SAVEIMAGE: "Runware Save Image",
|
||||
@@ -632,6 +633,10 @@ const RUNWARE_NODE_PROPS = {
|
||||
bgColor: DEFAULT_BGCOLOR,
|
||||
colorModeOnly: true,
|
||||
},
|
||||
[RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSSTRUCTUREDPROMPT]: {
|
||||
bgColor: DEFAULT_BGCOLOR,
|
||||
colorModeOnly: true,
|
||||
},
|
||||
[RUNWARE_NODE_TYPES.VIDEOADVANCEDFEATUREINPUTS]: {
|
||||
bgColor: DEFAULT_BGCOLOR,
|
||||
colorModeOnly: true,
|
||||
|
||||
@@ -5258,6 +5258,7 @@ export {
|
||||
safetyInputsToggleHandler,
|
||||
imageInferenceSettingsColorPaletteToggleHandler,
|
||||
imageInferenceSettingsMoodboardsToggleHandler,
|
||||
imageInferenceSettingsStructuredPromptToggleHandler,
|
||||
audioInputToggleHandler,
|
||||
speechInputToggleHandler,
|
||||
briaProviderMaskToggleHandler,
|
||||
@@ -5677,6 +5678,96 @@ function imageInferenceSettingsMoodboardsToggleHandler(moodboardsNode) {
|
||||
setTimeout(toggleStrengthState, 100);
|
||||
}
|
||||
|
||||
function imageInferenceSettingsStructuredPromptToggleHandler(node) {
|
||||
if (!node?.widgets) return;
|
||||
|
||||
function applyParamState(useWidget, paramWidget, paramName) {
|
||||
if (!useWidget || !paramWidget) return;
|
||||
const enabled = useWidget.value === true;
|
||||
if (paramWidget.inputEl) {
|
||||
paramWidget.inputEl.disabled = !enabled;
|
||||
paramWidget.inputEl.style.opacity = enabled ? "1" : "0.5";
|
||||
paramWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed";
|
||||
paramWidget.inputEl.readOnly = !enabled;
|
||||
}
|
||||
paramWidget.disabled = !enabled;
|
||||
if (!paramWidget.inputEl) {
|
||||
const nodeElement = node.htmlElements?.widgetsContainer || node.htmlElements;
|
||||
if (nodeElement) {
|
||||
const input = nodeElement.querySelector(
|
||||
`input[name="${paramName}"], textarea[name="${paramName}"], select[name="${paramName}"]`
|
||||
);
|
||||
if (input) {
|
||||
input.disabled = !enabled;
|
||||
input.style.opacity = enabled ? "1" : "0.5";
|
||||
input.style.cursor = enabled ? "text" : "not-allowed";
|
||||
input.readOnly = !enabled;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toggleWidgetState(useWidget, paramWidget, paramName) {
|
||||
if (!useWidget || !paramWidget) return;
|
||||
function toggleEnabled() {
|
||||
applyParamState(useWidget, paramWidget, paramName);
|
||||
node.setDirtyCanvas(true);
|
||||
}
|
||||
appendWidgetCB(useWidget, () => setTimeout(toggleEnabled, 50));
|
||||
setTimeout(toggleEnabled, 100);
|
||||
}
|
||||
|
||||
const useStyleDescriptionWidget = node.widgets.find((w) => w && w.name === "useStyleDescription");
|
||||
const styleDescriptionWidget = node.widgets.find((w) => w && w.name === "style_description");
|
||||
if (useStyleDescriptionWidget && styleDescriptionWidget) {
|
||||
toggleWidgetState(useStyleDescriptionWidget, styleDescriptionWidget, "style_description");
|
||||
}
|
||||
|
||||
const useElementsJsonWidget = node.widgets.find((w) => w && w.name === "useElementsJson");
|
||||
const elementsJsonWidget = node.widgets.find((w) => w && w.name === "elementsJson");
|
||||
const elementSlotRefreshers = [];
|
||||
if (useElementsJsonWidget && elementsJsonWidget) {
|
||||
toggleWidgetState(useElementsJsonWidget, elementsJsonWidget, "elementsJson");
|
||||
}
|
||||
|
||||
function bindElementSlot(i) {
|
||||
const useW = node.widgets.find((w) => w && w.name === `use_element_${i}`);
|
||||
const typeW = node.widgets.find((w) => w && w.name === `element_type_${i}`);
|
||||
const descW = node.widgets.find((w) => w && w.name === `element_desc_${i}`);
|
||||
const textW = node.widgets.find((w) => w && w.name === `element_text_${i}`);
|
||||
const bboxW = node.widgets.find((w) => w && w.name === `element_bbox_${i}`);
|
||||
const paletteW = node.widgets.find((w) => w && w.name === `element_color_palette_${i}`);
|
||||
if (!useW) return;
|
||||
|
||||
function toggleSlot() {
|
||||
const jsonMode = useElementsJsonWidget?.value === true;
|
||||
toggleWidgetEnabled(useW, !jsonMode, node);
|
||||
const enabled = !jsonMode && useW.value === true;
|
||||
[typeW, descW, textW, bboxW, paletteW].forEach((w) => {
|
||||
if (w) toggleWidgetEnabled(w, enabled, node);
|
||||
});
|
||||
node.setDirtyCanvas(true);
|
||||
}
|
||||
|
||||
elementSlotRefreshers.push(toggleSlot);
|
||||
appendWidgetCB(useW, () => setTimeout(toggleSlot, 50));
|
||||
setTimeout(toggleSlot, 100);
|
||||
}
|
||||
|
||||
for (let i = 1; i <= 8; i++) {
|
||||
bindElementSlot(i);
|
||||
}
|
||||
|
||||
if (useElementsJsonWidget) {
|
||||
function refreshElementSlotsForJsonMode() {
|
||||
elementSlotRefreshers.forEach((refresh) => refresh());
|
||||
node.setDirtyCanvas(true);
|
||||
}
|
||||
appendWidgetCB(useElementsJsonWidget, () => setTimeout(refreshElementSlotsForJsonMode, 50));
|
||||
setTimeout(refreshElementSlotsForJsonMode, 100);
|
||||
}
|
||||
}
|
||||
|
||||
function syncProviderSettingsToggleHandler(syncNode) {
|
||||
// Find all "use" parameter widgets for Sync Provider Settings
|
||||
const useEditRegionWidget = syncNode.widgets.find(w => w.name === "useEditRegion");
|
||||
|
||||
Reference in New Issue
Block a user