<div dir="ltr">ok, so I hit a mysterious shortcut that sent the message when I was trying to type the "~" sign. Please allow me to continue.<div><br></div><div>==============</div><div><br></div><div>request 2:</div><div><br></div><div><span style="font-size:12.8px">A wrap function like [pong~] or [zexy/wrap]. </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I'm actually frustrated that "fmod" behaves in way that you cannot loop between a specified range when you feed it negative values.</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">For example sending -3.1 to [expr fmod($f1, 10)] gives -3.1, and I wanted 6.9</span></div><div><br></div><div><span style="font-size:12.8px">I have been using fmod in a few patches for this purpose, but I need to do things like [expr if($f1 < 0, 100 + $f1, fmod($f1, 100))] - not the most elegant thing.<br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">This is more like the behaviour of the [mod] object in vanilla, send -3 to [mod 10] and you get 7</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">This way you get an actual "loop" behaviour. I'd really be happy for an alternative to fmod that would work that way, but we could go further and have a new function where you specify the minimum and maximum values, like [pong~] or [zexy/wrap]. So it would take 3 arguments, (input, minumum boundary, maximum boundary).</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I think it is important to maintain the expr family of objects and even expand it now that Pd Extended is not in the picture anymore. I believe this raises the importance to add new features to Pd Vanilla, not to mention things like libpd...</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">cheers</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-14 22:03 GMT-02:00 Alexandre Torres Porres <span dir="ltr"><<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ok, I don't think I was able to get the new version working, anybody else did?<div><br></div><div>This might be too late in the game, I know, but if you're including features, I have some requests.</div><div><br></div><div>In [fexpr~], I find it would be good to set a starting value for the current sample input, you could set this via a set message and that would overwrite the signal input for that sample. </div><div><br></div><div>You can now set just about any previous samples, but no current.</div><div><br></div><div>I see you'd need to create a new syntax for this, something like "set in1 0.4" (to set x1[0] to 0.4)</div><div><br></div><div>I really need this for some applications where I'm using fexpr~ as signal accumulators/counters</div><div><br></div><div>=========</div><div><br></div><div>A wrap function like [pong]</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-02-05 23:36 GMT-02:00 Shahrokh Yadegari <span dir="ltr"><<a href="mailto:sdy@ucsd.edu" target="_blank">sdy@ucsd.edu</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><div>Dear All,</div><div><br></div><div>Attached is a pre-release of Expr 0.5 compiled for Mac os x (compiled on 10.9) and Linux (compiled on an older Cent OS). I have also attached Alexandre's big pd patch which listed the issues, with my comments.</div><div><br></div><div>Hopefully I have addressed most of the issues that were brought up and now I am working on a more complete documentation of Expr objects. One open issue is that expr still supports no more than 10 expressions.</div><div><br></div><div>I have provided a mechanism for local variables and abstraction substitutions ($0 and $1, $2, etc.) to work. Also, one hopefully useful new feature in V0.5 is the assign  '='  operator. Now you can use expr to assign to "value"s and into arrays. So if you have a variable called 'count'</div><div><br></div><div>"value count"</div><div><br></div><div>"expr count = count + 1"</div><div><br></div><div>will implement a counter, raising the value of count with every "bang"</div><div><br></div><div>You can also change values of arrays through the usual syntax.</div><div><br></div><div>"expr array1[5] = $f1"</div><div><br></div><div>will set the sixth value (counting zero based) of the array "array1" to the incoming float value on inlet 1.</div><div><br></div><div>I will write a more informative and comprehensive release notes along with the documentation when I pass the sources to Miller. However, I have made a few changes to the parser and I am looking for alpha-testers who can run the code and let me know if any bugs are found, specially in parsing of complex expressions. </div></div><div><br></div><div>I look forward to hearing from whoever uses these objects. Please let me know if you find any bugs. (NOTE: you need to create the links for expr and fexpr~ to get the new version for those as well.)</div><div><br></div><div>cheers,</div><div>Shahrokh</div><div><br></div>
</div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>