# [PD] log function in slider

Alexandre Torres Porres porres at gmail.com
Tue Mar 18 21:20:11 CET 2014

```just be sure to click the message, should have put a loadbang there, sorry

2014-03-18 17:16 GMT-03:00 Alexandre Torres Porres <porres at gmail.com>:

> but when we use the slider with the log function, we're actually doing an
> inversion of this graphs I just posted. In other words, what we do is the
> first formula that is actually from the code. So using that formula was
> actually right to begin with.
>
> Check my patch attached now
>
>
> 2014-03-18 17:05 GMT-03:00 Alexandre Torres Porres <porres at gmail.com>:
>
> and as I was checking before, not too far from raising to the power of
>> 0.25 (thicker line in the graph from the picture attached)
>>
>>
>> 2014-03-18 16:48 GMT-03:00 Alexandre Torres Porres <porres at gmail.com>:
>>
>> the solution is as I thought, to just invert the given formula in the
>>> code. Someone helped me with the math, is something like
>>>
>>> expr ln(\$f1 / 1.27) / (((log(127 / 1.27) / 1.27)) * 0.01)
>>>
>>> here's a patch attached
>>>
>>> I'm finally gonna check what kind of curve this thing gives :)
>>>
>>> Thanks everyone
>>>
>>> Cheers
>>>
>>>
>>> 2014-03-18 5:13 GMT-03:00 Jonathan Wilkes <jancsika at yahoo.com>:
>>>
>>>  No, the code I ported is from vslider_set and vslider_draw_update
>>>> (might be different in Vanilla).
>>>>
>>>> In vslider_bang, math is done to output the proper value.  Without
>>>> looking at the code I would have guessed vslider_bang simply outputs a
>>>> stored value like [float] does.  Then just do math to set the slider
>>>> position or calculate a new stored value from mouse input.
>>>>
>>>> -Jonathan
>>>>
>>>>
>>>>    On Monday, March 17, 2014 1:21 AM, Alexandre Torres Porres <
>>>> porres at gmail.com> wrote:
>>>>   Hi Roman. This is turning out trickier than I thought. A friend
>>>> explained the code to me and got to the following equation, with min/max
>>>> values as 0.01 and 1 respectively.
>>>>
>>>> [expr 0.01 * exp((log(1 / 0.01) / 0.01) * \$f1 * 0.01)]
>>>>
>>>> For what I've checked, it seems to behave like your patch. But it
>>>> doesn't do the trick I'm looking for yet. I sent a patch earlier, and I'm
>>>> sending it back again.
>>>>
>>>> The goal is to connect a linear slider to an [expr] (with this so
>>>> called "log" function) and then to another linear slider. The idea then is
>>>> that this second slider behaves as one that was set as being "log".
>>>>
>>>> In the patch attached I was able to emulate it poorly with [pow 0.25],
>>>> but that was before reaching the list. See that if I use this expr function
>>>> from the code or your patch it presents quite a different behavior.
>>>>
>>>> maybe it is some sort of inversion of this equation, not sure.
>>>> Apparently this code converts the "log" function values to linear and I'm
>>>> hoping to get the exact opposite. Got it?
>>>>
>>>> Thanks for looking into this
>>>>
>>>>
>>>> 2014-03-12 4:38 GMT-03:00 Roman Haefeli <reduzent at gmail.com>:
>>>>
>>>> On Don, 2014-03-06 at 21:37 -0300, Alexandre Torres Porres wrote:
>>>> > hi folks, out of curiosity, what's the exact log function used in the
>>>> > slider? I'd like to emulate it.
>>>>
>>>> I am not sure, if this is what you want. It converts the incoming linear
>>>> range between 0 and 1 to a logarithmic range specified by \$1 and \$2,
>>>> respectively by the second and third inlet. They behave like the lower
>>>> and upper bound specified in the [vslider]/[hslider] classes.
>>>>
>>>> https://raw.github.com/reduzent/netpd2-patches/master/abs/rh_scalelog.pd
>>>>
>>>>
>>>> Roman
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-list at iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> http://lists.puredata.info/listinfo/pd-list
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pd-list at iem.at mailing list
>>>> UNSUBSCRIBE and account-management ->
>>>> http://lists.puredata.info/listinfo/pd-list
>>>>
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140318/edbdef5e/attachment-0001.htm>
```