120 lines
3.3 KiB
Python
120 lines
3.3 KiB
Python
from sys import float_info
|
|
from nodes import MAX_RESOLUTION
|
|
|
|
class SeedGenerator:
|
|
RETURN_TYPES = ("INT",)
|
|
OUTPUT_TOOLTIPS = ("seed (INT)",)
|
|
FUNCTION = "get_seed"
|
|
|
|
CATEGORY = "ImageSaver/utils"
|
|
DESCRIPTION = "Provides seed as integer"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff, "control_after_generate": True, "tooltip": "The random seed used for creating the noise."}),
|
|
"increment": ("INT", {"default": 0, "min": -0xffffffffffffffff, "max": 0xffffffffffffffff, "tooltip": "number to add to the final seed value"}),
|
|
}
|
|
}
|
|
|
|
def get_seed(self, seed, increment):
|
|
return (seed + increment,)
|
|
|
|
class StringLiteral:
|
|
RETURN_TYPES = ("STRING",)
|
|
OUTPUT_TOOLTIPS = ("string (STRING)",)
|
|
FUNCTION = "get_string"
|
|
|
|
CATEGORY = "ImageSaver/utils"
|
|
DESCRIPTION = "Provides a string"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"string": ("STRING", {"default": "", "multiline": True, "tooltip": "string"}),
|
|
}
|
|
}
|
|
|
|
def get_string(self, string):
|
|
return (string,)
|
|
|
|
class SizeLiteral:
|
|
RETURN_TYPES = ("INT",)
|
|
RETURN_NAMES = ("size",)
|
|
OUTPUT_TOOLTIPS = ("size (INT)",)
|
|
FUNCTION = "get_int"
|
|
|
|
CATEGORY = "ImageSaver/utils"
|
|
DESCRIPTION = f"Provides integer number between 0 and {MAX_RESOLUTION} (step=8)"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"int": ("INT", {"default": 512, "min": 0, "max": MAX_RESOLUTION, "step": 8, "tooltip": "size as integer (in steps of 8)"}),
|
|
}
|
|
}
|
|
|
|
def get_int(self, int):
|
|
return (int,)
|
|
|
|
class IntLiteral:
|
|
RETURN_TYPES = ("INT",)
|
|
OUTPUT_TOOLTIPS = ("int (INT)",)
|
|
FUNCTION = "get_int"
|
|
|
|
CATEGORY = "ImageSaver/utils"
|
|
DESCRIPTION = "Provides integer number between 0 and 1000000"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"int": ("INT", {"default": 0, "min": 0, "max": 1000000, "tooltip": "integer number"}),
|
|
}
|
|
}
|
|
|
|
def get_int(self, int):
|
|
return (int,)
|
|
|
|
class FloatLiteral:
|
|
RETURN_TYPES = ("FLOAT",)
|
|
OUTPUT_TOOLTIPS = ("float (FLOAT)",)
|
|
FUNCTION = "get_float"
|
|
|
|
CATEGORY = "ImageSaver/utils"
|
|
DESCRIPTION = f"Provides a floating point number between {float_info.min} and {float_info.max} (step=0.01)"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"float": ("FLOAT", {"default": 1.0, "min": float_info.min, "max": float_info.max, "step": 0.01, "tooltip": "floating point number"}),
|
|
}
|
|
}
|
|
|
|
def get_float(self, float):
|
|
return (float,)
|
|
|
|
class CfgLiteral:
|
|
RETURN_TYPES = ("FLOAT",)
|
|
RETURN_NAMES = ("value",)
|
|
OUTPUT_TOOLTIPS = ("cfg (FLOAT)",)
|
|
FUNCTION = "get_float"
|
|
|
|
CATEGORY = "ImageSaver/utils"
|
|
DESCRIPTION = "Provides CFG value between 0.0 and 100.0"
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"float": ("FLOAT", {"default": 7.0, "min": 0.0, "max": 100.0, "tooltip": "CFG as a floating point number"}),
|
|
}
|
|
}
|
|
|
|
def get_float(self, float):
|
|
return (float,)
|