[PD] log function in slider

Alexandre Torres Porres porres at gmail.com
Tue Mar 18 20:48:19 CET 2014


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/847ebc09/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log.pd
Type: application/octet-stream
Size: 423 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140318/847ebc09/attachment-0001.obj>


More information about the Pd-list mailing list