[PD] Expr V0.5-alpha

Alexandre Torres Porres porres at gmail.com
Mon Feb 15 01:25:00 CET 2016


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 <porres at gmail.com>:

> 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 <sdy at ucsd.edu>:
>
>> 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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20160214/24cf449e/attachment.html>


More information about the Pd-list mailing list