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