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 <jancs...@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 < > por...@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 <reduz...@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@iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > > > _______________________________________________ > Pd-list@iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > >
log.pd
Description: Binary data
_______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list