<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    I just don't see the value of trying to make it compatible with
    broken code in Max.<br>
    <br>
    Joel<br>
    <br>
    <div class="moz-cite-prefix">On 06/19/2015 08:47 PM, Alexandre
      Torres Porres wrote:<br>
    </div>
    <blockquote
cite="mid:CAEAsFmhqR-GQwK8L9ErzoONXy_ZCTcicBx3CBL2N8OXMyXARgQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">yeah, I see all that, but the problem is trying to
        clone it as it is in Max for the sake of compatibility.
        <div><br>
        </div>
        <div>I wouldn't say that the classic mode is "wrong", it may be
          not good for the purpose, but it's an arbitrary mathematical
          formula, so it is what it is.</div>
        <div><br>
        </div>
        <div>The problem is that I'm not being able to get the result
          the object spits out with the formula given in the reference.</div>
        <div><br>
        </div>
        <div>So my question is just making it sure that the given
          formula is wrong, and that it doesn't give what the object
          actually does.</div>
        <div><br>
        </div>
        <div>moreover, the idea is to keep compatibility, at first, with
          Max5. In Max7 the scale object will still give the same
          results (as default, by the way), so even if it was for the
          sake of making it compatible with Max7, we'd still need to
          make it work. But the thing is that the new "not classic" mode
          was introduced only in Max6. So, for the actual purpose, we're
          only caring about the classic mode compatibility.</div>
        <div><br>
        </div>
        <div>did you check if the formula in the reference is actually
          wrong, in the sense it won't give the results given by the
          object? Were you able to spot a parenthesis out of place or
          something that, if changed, would give the expected result?</div>
        <div><br>
        </div>
        <div>thanks</div>
        <div><br>
        </div>
        <div>cheers</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2015-06-19 22:25 GMT-03:00 Joel Matthys
          <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:jwmatthys@gmail.com" target="_blank">jwmatthys@gmail.com</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF"> You're using the
              [scale] formula from @classic_mode in Max7, which exists
              for compatibility with IRCAM, but it's clearly wrong.
              (There's no way mapping 13.3 from 0-127 to -1 to 1 should
              result in something so close to -1. Just try a few
              different exponents and you'll see that there's a bug in
              the Max code. And there are lots of bug reports out there
              about it.)<br>
              <br>
              That's why they introduced an alternate mode for [scale]
              in Max, which can be switch in the Inspector.<br>
              <br>
              For non-classic (modern) mode, the documentation gives you
              this equation:<br>
              <br>
              <span
style="color:rgb(51,51,51);font-family:Lato,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:18.5714302062988px;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;display:inline!important;float:none;background-color:rgb(255,255,255)">((x-in_low)/(in_high-in_low)

                == 0) ? out_low : (((x-in_low)/(in_high-in_low)) > 0)
                ? (out_low + (out_high-out_low) *
                ((x-in_low)/(in_high-in_low))^exp) : ( out_low +
                (out_high-out_low) *
                -((((-x+in_low)/(in_high-in_low)))^(exp)))</span><br>
              <br>
              Translated to expr as:<br>
              <br>
              [expr if ((($f1-in_low)/(in_high-in_low)==0), out_low, if
              ((($f1-in_low)/(in_high-in_low)>0),
              out_low+(out_high-out_low)*pow(($f1-in_low)/(in_high-in_low),
              power),
              out_low+(out_high-out_low)*-1*pow((-1*$f1+in_low)/(in_high-in_low),
              power)))]<br>
              <br>
              Switch off classic mode in the inspector in Max7, and you
              get the same result as expr above, the very sensible
              -0.817072.<span class="HOEnZb"><font color="#888888"><br>
                  <br>
                  Joel</font></span>
              <div>
                <div class="h5"><br>
                  <br>
                  <div>On 06/19/2015 05:39 PM, Alexandre Torres Porres
                    wrote:<br>
                  </div>
                </div>
              </div>
              <blockquote type="cite">
                <div>
                  <div class="h5">
                    <div dir="ltr">
                      <p style="margin:0px 0px 6px">Howdy, so I'm
                        cloning the scale object from Max, to make an
                        object and include in the cyclone library. It
                        converts range input (low_in / high_in) to a
                        range output (low_out / high_out). It has a
                        logarithmic curve for rescaling according to a
                        fifth argument/inlet. I did copy into expr the
                        formula described in the reference of Max6/7
                        (max's 5 was just wrong, copied from
                        [linedrive]) - well, it didn't work! Would
                        anyone know if I'm doing something wrong or if
                        the reference is not telling the truth?</p>
                      <p style="margin:6px 0px">The formula, as
                        described in the reference is: (out_low + (out_<span
                          style="display:inline">high-out_low) * (
                          (out_high - out_low) * exp(-1 *
                          (in_high-in_low) * log(power)) * exp(x *
                          log(power)) ))</span></p>
                      <p style="margin:6px 0px"><span
                          style="display:inline"><br>
                        </span></p>
                      <div style="display:inline">
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px">Here's

                          my patch with that formula into expr. The
                          output with the parameters I have should be
                          -0.997347 - as that's the output I get in Max.
                          But instead, it's giving -0.994694...</p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px"><br>
                        </p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px">thanks</p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px"><br>
                        </p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px"><br>
                        </p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px"><br>
                        </p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px">=================</p>
                        <p style="margin:0px 0px
6px;color:rgb(20,24,35);font-family:helvetica,arial,sans-serif;font-size:14px;line-height:15.4559993743896px"><br>
                        </p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#N

                              canvas 24 23 488 340 10;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 215 154 v out_low;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 233 132 v out_high;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 288 110 v power;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 152 130 v in_high;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 115 153 v in_low;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              floatatom 58 248 0 0 0 0 - - -;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 58 197 expr (out_low +
                              (out_high-out_low) * ( (out_high -
                              out_low)</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">*
                              exp(-1*(in_high-in_low)*log(power)) *
                              exp($f1*log(power)) ));</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              msg 115 102 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              msg 152 102 127;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              msg 215 99 -1;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              msg 249 97 1;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              msg 288 86 1.06;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 90 31 loadbang;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              obj 90 60 t b b;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              msg 58 107 13.3;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 6 0 5 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 7 0 4 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 8 0 3 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 9 0 0 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 10 0 1 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 11 0 2 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 12 0 13 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 13 0 14 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 13 1 11 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 13 1 10 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 13 1 9 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 13 1 8 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 13 1 7 0;</span></font></p>
                        <p style="margin:0px 0px 6px"><font
                            color="#141823" face="helvetica, arial,
                            sans-serif"><span
                              style="font-size:14px;line-height:15.456000328064px">#X

                              connect 14 0 6 0;</span></font></p>
                        <div><br>
                        </div>
                      </div>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                  </div>
                </div>
                <span class="">
                  <pre>_______________________________________________
<a moz-do-not-send="true" href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list
UNSUBSCRIBE and account-management -> <a moz-do-not-send="true" href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a>
</pre>
                </span></blockquote>
              <br>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>