fix: 🐛 fit number regression

closes #120
This commit is contained in:
melMass
2023-11-04 16:10:52 +01:00
parent 403903798a
commit c8658dfbdd
4 changed files with 21 additions and 17 deletions
File diff suppressed because one or more lines are too long
+3 -1
View File
@@ -1,6 +1,6 @@
import logging import logging
import re
import os import os
import re
base_log_level = logging.DEBUG if os.environ.get("MTB_DEBUG") else logging.INFO base_log_level = logging.DEBUG if os.environ.get("MTB_DEBUG") else logging.INFO
@@ -75,5 +75,7 @@ def cyan_text(text):
def get_label(label): def get_label(label):
if label.startswith("MTB_"):
label = label[4:]
words = re.findall(r"(?:^|[A-Z])[a-z]*", label) words = re.findall(r"(?:^|[A-Z])[a-z]*", label)
return " ".join(words).strip() return " ".join(words).strip()
+17 -12
View File
@@ -179,10 +179,10 @@ class FitNumber:
"required": { "required": {
"value": ("FLOAT", {"default": 0, "forceInput": True}), "value": ("FLOAT", {"default": 0, "forceInput": True}),
"clamp": ("BOOLEAN", {"default": False}), "clamp": ("BOOLEAN", {"default": False}),
"source_min": ("FLOAT", {"default": 0.0}), "source_min": ("FLOAT", {"default": 0.0, "step": 0.01}),
"source_max": ("FLOAT", {"default": 1.0}), "source_max": ("FLOAT", {"default": 1.0, "step": 0.01}),
"target_min": ("FLOAT", {"default": 0.0}), "target_min": ("FLOAT", {"default": 0.0, "step": 0.01}),
"target_max": ("FLOAT", {"default": 1.0}), "target_max": ("FLOAT", {"default": 1.0, "step": 0.01}),
"easing": ( "easing": (
[ [
"Linear", "Linear",
@@ -228,19 +228,18 @@ class FitNumber:
target_max: float, target_max: float,
easing: str, easing: str,
): ):
normalized_value = (value - source_min) / (source_max - source_min) if source_min == source_max:
normalized_value = 0
else:
normalized_value = (value - source_min) / (source_max - source_min)
if clamp:
normalized_value = max(min(normalized_value, 1), 0)
eased_value = apply_easing(normalized_value, easing) eased_value = apply_easing(normalized_value, easing)
# - Convert the eased value to the target range # - Convert the eased value to the target range
res = target_min + (target_max - target_min) * eased_value res = target_min + (target_max - target_min) * eased_value
if clamp:
if target_min > target_max:
res = max(min(res, target_min), target_max)
else:
res = max(min(res, target_max), target_min)
return (res,) return (res,)
@@ -271,4 +270,10 @@ class ConcatImages:
return (concatenated,) return (concatenated,)
__nodes__ = [StringReplace, FitNumber, GetBatchFromHistory, AnyToString, ConcatImages] __nodes__ = [
StringReplace,
FitNumber,
GetBatchFromHistory,
AnyToString,
ConcatImages,
]
-3
View File
@@ -585,9 +585,6 @@ def create_uv_map_tensor(width=512, height=512):
# region ANIMATION Utilities # region ANIMATION Utilities
def apply_easing(value, easing_type): def apply_easing(value, easing_type):
if value < 0 or value > 1:
raise ValueError(f"The value should be between 0 and 1. (value is {value})")
if easing_type == "Linear": if easing_type == "Linear":
return value return value