Merge pull request #4 from dmarx/dev

refactor
This commit is contained in:
David Marx
2023-12-08 13:22:41 -08:00
committed by GitHub
3 changed files with 255 additions and 237 deletions
+3
View File
@@ -3,6 +3,7 @@ from .core import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
from .debug import NODE_CLASS_MAPPINGS as ncm0, NODE_DISPLAY_NAME_MAPPINGS as ndnm0
from .entangled import NODE_CLASS_MAPPINGS as ncm1, NODE_DISPLAY_NAME_MAPPINGS as ndnm1
from .schedule import NODE_CLASS_MAPPINGS as ncm2, NODE_DISPLAY_NAME_MAPPINGS as ndnm2
from .sinusoidal import NODE_CLASS_MAPPINGS as ncm3, NODE_DISPLAY_NAME_MAPPINGS as ndnm3
# there's probably a cleaner, more-dummy-proof way to do this.
@@ -10,9 +11,11 @@ from .schedule import NODE_CLASS_MAPPINGS as ncm2, NODE_DISPLAY_NAME_MAPPINGS as
NODE_CLASS_MAPPINGS.update(ncm0)
NODE_CLASS_MAPPINGS.update(ncm1)
NODE_CLASS_MAPPINGS.update(ncm2)
NODE_CLASS_MAPPINGS.update(ncm3)
NODE_DISPLAY_NAME_MAPPINGS.update(ndnm0)
NODE_DISPLAY_NAME_MAPPINGS.update(ndnm1)
NODE_DISPLAY_NAME_MAPPINGS.update(ndnm2)
NODE_DISPLAY_NAME_MAPPINGS.update(ndnm3)
__all__ =["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]
+1 -237
View File
@@ -372,233 +372,6 @@ class KfCurveConstant:
##################################################################
### Sinusoidal
class KfSinusoidalWithFrequency:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"frequency": ("FLOAT",{
"default": 1/12,
"step": 0.01,
}),
"phase": ("FLOAT", {
"default": 0.0,
#"min": 0.0,
#"max": 6.28318530718, # 2*pi
"step": 0.1308996939, # pi/24
}),
"amplitude": ("FLOAT",{
"default": 1,
"step": 0.01,
}),
},
}
def main(self, frequency, phase, amplitude):
curve = kf.SinusoidalCurve(frequency=frequency, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalWithWavelength:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"wavelength": ("FLOAT",{
"default": 12,
"step": 0.5,
}),
"phase": ("FLOAT", {
"default": 0.0,
#"min": 0.0,
#"max": 6.28318530718, # 2*pi
"step": 0.1308996939, # pi/24
}),
"amplitude": ("FLOAT",{
"default": 1,
"step": 0.01,
}),
},
}
def main(self, wavelength, phase, amplitude):
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
### # ### # ### # ### # ### # ### # ### # ### # ### #
### # ### # ### # ### # ### # ### # ### # ### # ### #
class KfSinusoidalAdjustWavelength:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT",{
"default": 0.0,
"step": 0.5,
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
wavelength += adjustment
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalAdjustPhase:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT", {
"default": 0.0,
"step": 0.1308996939, # pi/24
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
phase += adjustment
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalAdjustFrequency:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT",{
"default": 0,
"step": 0.01,
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
frequency = 1/wavelength
frequency += adjustment
wavelength = 1/frequency
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalAdjustAmplitude:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT",{
"default": 0,
"step": 0.01,
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
amplitude += adjustment
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
### # ### # ### # ### # ### # ### # ### # ### # ### #
class KfSinusoidalGetWavelength:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (curve.wavelength,)
class KfSinusoidalGetFrequency:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (1/curve.wavelength,)
class KfSinusoidalGetPhase:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (curve.phase,)
class KfSinusoidalGetAmplitude:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (curve.amplitude,)
##################################################################
@@ -639,16 +412,7 @@ NODE_CLASS_MAPPINGS = {
"KfCurvesDivide": KfCurvesDivide,
"KfCurveConstant": KfCurveConstant,
#########################
"KfSinusoidalWithFrequency": KfSinusoidalWithFrequency,
"KfSinusoidalWithWavelength": KfSinusoidalWithWavelength,
"KfSinusoidalAdjustWavelength": KfSinusoidalAdjustWavelength,
"KfSinusoidalAdjustPhase": KfSinusoidalAdjustPhase,
"KfSinusoidalAdjustFrequency": KfSinusoidalAdjustFrequency,
"KfSinusoidalAdjustAmplitude": KfSinusoidalAdjustAmplitude,
"KfSinusoidalGetWavelength": KfSinusoidalGetWavelength,
"KfSinusoidalGetPhase": KfSinusoidalGetPhase,
"KfSinusoidalGetAmplitude": KfSinusoidalGetAmplitude,
"KfSinusoidalGetFrequency": KfSinusoidalGetFrequency,
}
# A dictionary that contains the friendly/humanly readable titles for the nodes
+251
View File
@@ -0,0 +1,251 @@
from .core import CATEGORY as ROOT_CATEGORY
import keyframed as kf
CATEGORY = ROOT_CATEGORY + "/sinusoidal"
### Sinusoidal
class KfSinusoidalWithFrequency:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"frequency": ("FLOAT",{
"default": 1/12,
"step": 0.01,
}),
"phase": ("FLOAT", {
"default": 0.0,
#"min": 0.0,
#"max": 6.28318530718, # 2*pi
"step": 0.1308996939, # pi/24
}),
"amplitude": ("FLOAT",{
"default": 1,
"step": 0.01,
}),
},
}
def main(self, frequency, phase, amplitude):
curve = kf.SinusoidalCurve(frequency=frequency, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalWithWavelength:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"wavelength": ("FLOAT",{
"default": 12,
"step": 0.5,
}),
"phase": ("FLOAT", {
"default": 0.0,
#"min": 0.0,
#"max": 6.28318530718, # 2*pi
"step": 0.1308996939, # pi/24
}),
"amplitude": ("FLOAT",{
"default": 1,
"step": 0.01,
}),
},
}
def main(self, wavelength, phase, amplitude):
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
### # ### # ### # ### # ### # ### # ### # ### # ### #
### # ### # ### # ### # ### # ### # ### # ### # ### #
class KfSinusoidalAdjustWavelength:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT",{
"default": 0.0,
"step": 0.5,
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
wavelength += adjustment
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalAdjustPhase:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT", {
"default": 0.0,
"step": 0.1308996939, # pi/24
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
phase += adjustment
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalAdjustFrequency:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT",{
"default": 0,
"step": 0.01,
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
frequency = 1/wavelength
frequency += adjustment
wavelength = 1/frequency
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
class KfSinusoidalAdjustAmplitude:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE", "SINUSOIDAL_CURVE")
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
"adjustment": ("FLOAT",{
"default": 0,
"step": 0.01,
}),
}}
def main(self, curve, adjustment):
wavelength, phase, amplitude = curve.wavelength, curve.phase, curve.amplitude
amplitude += adjustment
curve = kf.SinusoidalCurve(wavelength=wavelength, phase=phase, amplitude=amplitude)
return (curve, curve)
### # ### # ### # ### # ### # ### # ### # ### # ### #
class KfSinusoidalGetWavelength:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (curve.wavelength,)
class KfSinusoidalGetFrequency:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (1/curve.wavelength,)
class KfSinusoidalGetPhase:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (curve.phase,)
class KfSinusoidalGetAmplitude:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("FLOAT",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve": ("SINUSOIDAL_CURVE",{"forceInput": True,}),
}}
def main(self, curve):
return (curve.amplitude,)
NODE_CLASS_MAPPINGS = {
"KfSinusoidalWithFrequency": KfSinusoidalWithFrequency,
"KfSinusoidalWithWavelength": KfSinusoidalWithWavelength,
"KfSinusoidalAdjustWavelength": KfSinusoidalAdjustWavelength,
"KfSinusoidalAdjustPhase": KfSinusoidalAdjustPhase,
"KfSinusoidalAdjustFrequency": KfSinusoidalAdjustFrequency,
"KfSinusoidalAdjustAmplitude": KfSinusoidalAdjustAmplitude,
"KfSinusoidalGetWavelength": KfSinusoidalGetWavelength,
"KfSinusoidalGetPhase": KfSinusoidalGetPhase,
"KfSinusoidalGetAmplitude": KfSinusoidalGetAmplitude,
"KfSinusoidalGetFrequency": KfSinusoidalGetFrequency,
}
NODE_DISPLAY_NAME_MAPPINGS = {}