diff --git a/PARMmenu.xml b/PARMmenu.xml
index c8c3ce57..2b35826b 100644
--- a/PARMmenu.xml
+++ b/PARMmenu.xml
@@ -139,11 +139,22 @@ except:
len(kwargs['parms'])>0 and type(kwargs['parms'][0].parmTemplate()) is hou.FloatParmTemplate
+
+
+
+ len(kwargs['parms'])>0 and type(kwargs['parms'][0].parmTemplate()) is hou.FloatParmTemplate
+
+
+
+
diff --git a/otls/base/apply_xform_ql_SOP.otl b/otls/base/apply_xform_ql_SOP.otl
index 9b5b99eb..ddf88b7e 100644
Binary files a/otls/base/apply_xform_ql_SOP.otl and b/otls/base/apply_xform_ql_SOP.otl differ
diff --git a/otls/future/peak_ql_SOP.otl b/otls/future/peak_ql_SOP.otl
index d0e30eea..8c14488f 100644
Binary files a/otls/future/peak_ql_SOP.otl and b/otls/future/peak_ql_SOP.otl differ
diff --git a/otls/future/volume_retime_ql_SOP.otl b/otls/future/volume_retime_ql_SOP.otl
index 9850a81e..3979e539 100644
Binary files a/otls/future/volume_retime_ql_SOP.otl and b/otls/future/volume_retime_ql_SOP.otl differ
diff --git a/scripts/python/qlibutils.py b/scripts/python/qlibutils.py
index 3241e06b..49769dc6 100644
--- a/scripts/python/qlibutils.py
+++ b/scripts/python/qlibutils.py
@@ -279,7 +279,7 @@ def toggle_abs_rel_path(kwargs):
pass
-def add_parm_value_multiplier(kwargs):
+def add_parm_value_multiplier(kwargs, add_exponent=False):
"""Adds a value/multipler parameter pair to the specified parameter.
(Called from PARMmenu.xml)
"""
@@ -295,8 +295,11 @@ def add_parm_value_multiplier(kwargs):
pl = t.label()
pvn = '%s_value' % pn
pmn = '%s_mult' % pn
+ pxn = '%s_exp' % pn
t = hou.FloatParmTemplate(name=p.name(), label="...", num_components=1)
+ expr = "ch('%s') * ch('%s')" % (pvn, pmn, )
+
if not n.parm(pvn) and not n.parm(pmn):
# value
t.setName(pvn)
@@ -310,10 +313,22 @@ def add_parm_value_multiplier(kwargs):
t.setMaxValue(2.0)
t.setDefaultValue( (1.0, ) )
g.insertAfter(pvn, t)
+
+ if add_exponent and not n.parm(pxn):
+ # exp
+ t.setName(pxn)
+ t.setLabel('%s (exp)' % pl)
+ t.setMinValue(0.001)
+ t.setMaxValue(4.0)
+ t.setDefaultValue( (2.0, ) )
+ g.insertAfter(pmn, t)
+
+ expr = "ch('%s') * pow(ch('%s'), ch('%s'))" % (pvn, pmn, pxn, )
+
# add parms
n.setParmTemplateGroup(g)
- p.setExpression("ch('%s') * ch('%s')" % (pvn, pmn, ) )
+ p.setExpression(expr)
else:
hou.ui.setStatusMessage("Value/multiplier params already exist for %s" % p.path(),
severity=hou.severityType.Warning)