Vector parameter Power convert


#1

I was wondering if I can convert a vector parameter to something similar to Power or like Scale but raising to a power instead of multiplying.

I need this to apply a scale value to a bunch of transformation parameter, while Scale works for offset and angle, the transform scale needs to be raised to a power rather than multiplied.

(I hope in my explanation there is no confusion by the transform vector parameter scale and the Scale convert type)


#2

If I understand you correctly, you just convert the desired vector to ‘Scale’ first and then convert ‘Scalar’ parameter to ‘Power’.


#3

hmm, it almost works.
So I’ve done like you said and connected the exponent to a library value.

The result is that it raises the base of the Power by its exponent but I need the x and y of the transform scale to have different base values


#4

No problem. In this case convert the needed vector to ‘Composite’ instead of ‘Scale’. You will get two parameters called ‘X-Axis’ and ‘Y-axis’. From this point you can directly convert them to ‘Power’ and set their values separately.


#5

if the That does seem the way to make it work, though it triggers what a believe is a bug in synfig
when The Power value is 0 synfig crashes with

synfig-core/src/synfig/value.h:382 integer get_func == NULL
synfigstudio: synfig-core/src/synfig/value.h:384: const typename T::AliasedType& synfig::ValueBase::_get(const T&) const [with T = synfig::TypeAlias<double>; typename T::AliasedType = double]: Assertion `func != NULL' failed.
Aborted (core dumped)

Gonna try to debug it


#6

heh for now I’ve worked around it by adding and Add with a very small value