the wrap function could be called just that: "wrap" [expr~ wrap($f1, 10, 100)]
2016-02-14 22:25 GMT-02:00 Alexandre Torres Porres <[email protected]>: > ok, so I hit a mysterious shortcut that sent the message when I was trying > to type the "~" sign. Please allow me to continue. > > ============== > > request 2: > > A wrap function like [pong~] or [zexy/wrap]. > > I'm actually frustrated that "fmod" behaves in way that you cannot loop > between a specified range when you feed it negative values. > > For example sending -3.1 to [expr fmod($f1, 10)] gives -3.1, and I wanted > 6.9 > > 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. > > This is more like the behaviour of the [mod] object in vanilla, send -3 to > [mod 10] and you get 7 > > 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). > > 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... > > cheers > > 2016-02-14 22:03 GMT-02:00 Alexandre Torres Porres <[email protected]>: > >> Ok, I don't think I was able to get the new version working, anybody else >> did? >> >> This might be too late in the game, I know, but if you're including >> features, I have some requests. >> >> 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. >> >> You can now set just about any previous samples, but no current. >> >> 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) >> >> I really need this for some applications where I'm using fexpr~ as signal >> accumulators/counters >> >> ========= >> >> A wrap function like [pong] >> >> 2016-02-05 23:36 GMT-02:00 Shahrokh Yadegari <[email protected]>: >> >>> Dear All, >>> >>> 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. >>> >>> 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. >>> >>> 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' >>> >>> "value count" >>> >>> "expr count = count + 1" >>> >>> will implement a counter, raising the value of count with every "bang" >>> >>> You can also change values of arrays through the usual syntax. >>> >>> "expr array1[5] = $f1" >>> >>> will set the sixth value (counting zero based) of the array "array1" to >>> the incoming float value on inlet 1. >>> >>> 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. >>> >>> 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.) >>> >>> cheers, >>> Shahrokh >>> >>> >> >
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
