[PD] log function in slider
Jonathan Wilkes
jancsika at yahoo.com
Tue Mar 18 22:32:42 CET 2014
On 03/18/2014 04:05 PM, Alexandre Torres Porres wrote:
> 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)
Btw-- here's what that patch looks like in Pd-l2ork (attached).
The array rectangle is orange because it's selected. I also changed the
size of the garray by click-dragging with the mouse.
-Jonathan
>
>
> 2014-03-18 16:48 GMT-03:00 Alexandre Torres Porres <porres at gmail.com
> <mailto: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
> <mailto: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 <mailto: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/06888725/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pd-l2ork.png
Type: image/png
Size: 55289 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140318/06888725/attachment-0001.png>
More information about the Pd-list
mailing list