|
|
@ -1,6 +1,6 @@ |
|
|
|
import { api } from "./api.js" |
|
|
|
import { api } from "./api.js" |
|
|
|
|
|
|
|
|
|
|
|
function getNumberDefaults(inputData, defaultStep) { |
|
|
|
function getNumberDefaults(inputData, defaultStep, app) { |
|
|
|
let defaultVal = inputData[1]["default"]; |
|
|
|
let defaultVal = inputData[1]["default"]; |
|
|
|
let { min, max, step, round} = inputData[1]; |
|
|
|
let { min, max, step, round} = inputData[1]; |
|
|
|
|
|
|
|
|
|
|
@ -8,12 +8,14 @@ function getNumberDefaults(inputData, defaultStep) { |
|
|
|
if (min == undefined) min = 0; |
|
|
|
if (min == undefined) min = 0; |
|
|
|
if (max == undefined) max = 2048; |
|
|
|
if (max == undefined) max = 2048; |
|
|
|
if (step == undefined) step = defaultStep; |
|
|
|
if (step == undefined) step = defaultStep; |
|
|
|
|
|
|
|
|
|
|
|
// precision is the number of decimal places to show.
|
|
|
|
// precision is the number of decimal places to show.
|
|
|
|
// by default, display the the smallest number of decimal places such that changes of size step are visible.
|
|
|
|
// by default, display the the smallest number of decimal places such that changes of size step are visible.
|
|
|
|
let precision = Math.max(-Math.floor(Math.log10(step)),0); |
|
|
|
let precision = Math.max(-Math.floor(Math.log10(step)),0); |
|
|
|
|
|
|
|
if (app.ui.settings.getSettingValue("Comfy.FloatRoundingPrecision") > 0) { |
|
|
|
|
|
|
|
precision = app.ui.settings.getSettingValue("Comfy.FloatRoundingPrecision"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (round == undefined || round === true) { |
|
|
|
if (!app.ui.settings.getSettingValue("Comfy.DisableFloatRounding") && (round == undefined || round === true)) { |
|
|
|
// by default, round the value to those decimal places shown.
|
|
|
|
// by default, round the value to those decimal places shown.
|
|
|
|
round = Math.round(1000000*Math.pow(0.1,precision))/1000000; |
|
|
|
round = Math.round(1000000*Math.pow(0.1,precision))/1000000; |
|
|
|
} |
|
|
|
} |
|
|
@ -273,7 +275,7 @@ export const ComfyWidgets = { |
|
|
|
"INT:noise_seed": seedWidget, |
|
|
|
"INT:noise_seed": seedWidget, |
|
|
|
FLOAT(node, inputName, inputData, app) { |
|
|
|
FLOAT(node, inputName, inputData, app) { |
|
|
|
let widgetType = isSlider(inputData[1]["display"], app); |
|
|
|
let widgetType = isSlider(inputData[1]["display"], app); |
|
|
|
const { val, config } = getNumberDefaults(inputData, 0.5); |
|
|
|
const { val, config } = getNumberDefaults(inputData, 0.5, app); |
|
|
|
return { widget: node.addWidget(widgetType, inputName, val,
|
|
|
|
return { widget: node.addWidget(widgetType, inputName, val,
|
|
|
|
function (v) { |
|
|
|
function (v) { |
|
|
|
if (config.round) { |
|
|
|
if (config.round) { |
|
|
@ -285,7 +287,7 @@ export const ComfyWidgets = { |
|
|
|
}, |
|
|
|
}, |
|
|
|
INT(node, inputName, inputData, app) { |
|
|
|
INT(node, inputName, inputData, app) { |
|
|
|
let widgetType = isSlider(inputData[1]["display"], app); |
|
|
|
let widgetType = isSlider(inputData[1]["display"], app); |
|
|
|
const { val, config } = getNumberDefaults(inputData, 1); |
|
|
|
const { val, config } = getNumberDefaults(inputData, 1, app); |
|
|
|
Object.assign(config, { precision: 0 }); |
|
|
|
Object.assign(config, { precision: 0 }); |
|
|
|
return { |
|
|
|
return { |
|
|
|
widget: node.addWidget( |
|
|
|
widget: node.addWidget( |
|
|
|