<div dir="ltr"><div>Nice! :) I'm pulling this over into my testing branch now and if it works for me, I will include it in the next OBS preview build!</div><div><br></div><div>Thanks,</div><div>Albert</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 25, 2020 at 8:51 PM Ivica Ico Bukvic <<a href="mailto:ico@vt.edu">ico@vt.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">That feeling when you spend 40 work hours trying to resuscitate and old, <br>
broken, and horribly coded Pd-L2Ork GUI knob external, spend a majority <br>
of that time on producing the following snippet, and then finally get it <br>
done right...<br>
<br>
On a side-note, if you ever have any questions about logarithms, I now <br>
likely know the answers by heart... And yes, the new flatgui/knob is <br>
going to kick some serious butt...<br>
<br>
if (x->x_lin0_log1)<br>
{<br>
     t_float norm_val = (x->x_pos - x->x_min) / (x->x_max - x->x_min);<br>
     if (x->x_gui.x_reverse)<br>
     {<br>
         x->x_val = x->x_max - (exp((1 - norm_val) * <br>
log(100))/exp(log(100)) - 0.01) / 0.99 * (x->x_max-x->x_min);<br>
     }<br>
     else<br>
     {<br>
         x->x_val = (exp(norm_val * log(100))/exp(log(100)) - 0.01) / <br>
0.99 * (abs(x->x_max-x->x_min)) + x->x_min;<br>
     }<br>
}<br>
...<br>
t_float norm_val = (x->x_val - x->x_min) / (x->x_max - x->x_min);<br>
if (x->x_gui.x_reverse)<br>
{<br>
     t_float log_norm_val = log(100 - (norm_val * 99))/(log(100));<br>
     x->x_pos = log_norm_val * (abs(x->x_max-x->x_min)) + x->x_max;<br>
}<br>
else<br>
{<br>
     t_float log_norm_val = log(1 + (norm_val * 99))/(log(100));<br>
     x->x_pos = log_norm_val * (abs(x->x_max-x->x_min)) + x->x_min;<br>
}<br>
<br>
-- <br>
Ivica Ico Bukvic, D.M.A.<br>
Director, Creativity + Innovation<br>
Co-Director, Human Centered Design iPhD<br>
Institute for Creativity, Arts, and Technology<br>
<br>
Virginia Tech<br>
Creative Technologies in Music<br>
School of Performing Arts – 0141<br>
Blacksburg, VA 24061<br>
(540) 231-6139<br>
<a href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a><br>
<br>
<a href="http://www.icat.vt.edu" rel="noreferrer" target="_blank">www.icat.vt.edu</a><br>
<a href="http://www.performingarts.vt.edu" rel="noreferrer" target="_blank">www.performingarts.vt.edu</a><br>
<a href="http://l2ork.icat.vt.edu" rel="noreferrer" target="_blank">l2ork.icat.vt.edu</a><br>
<a href="http://ico.bukvic.net" rel="noreferrer" target="_blank">ico.bukvic.net</a><br>
<br>
_______________________________________________<br>
L2Ork-dev mailing list<br>
<a href="mailto:L2Ork-dev@disis.music.vt.edu" target="_blank">L2Ork-dev@disis.music.vt.edu</a><br>
<a href="https://disis.music.vt.edu/listinfo/l2ork-dev" rel="noreferrer" target="_blank">https://disis.music.vt.edu/listinfo/l2ork-dev</a></blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dr. Albert Gr"af<br>Computer Music Research Group, JGU Mainz, Germany<br>Email: <a href="mailto:aggraef@gmail.com" target="_blank">aggraef@gmail.com</a>, web: <a href="https://agraef.github.io/" target="_blank">https://agraef.github.io/</a></div></div></div></div></div></div>