Dear all,
We just did a beta release of Antescofo and AscoGraph version 0.51. This version has a lot of new features and changes that we will reveal step by step until the official release (in November). In this post, I attempt to briefly describe some differences between this version and 0.4x versions as some syntaxes have changed.
One of our main concerns in preparing v0.51 has been full backward compatibility of your scores. This is respected up to 95% and the remaining 5% is there to bring in new features. I start this post by first describing what is NOT compatible and will explain major differences between the two version where your scores will remain compatible.
What is NOT compatible
The only element which remains incompatible to our knowledge is when you use Mathematic Operations inside a symbol. This is because you can now do real-time math operations inside a score which was not possible in v0.4. In version 0.4, a message like ‘4+3’ would be sent to its receiver as ‘4+3’ (a symbol) whereas in version 0.5+ it will be sent as ‘7’ UNLESS wrapped around double quotes or ‘“4+3”’ which will let Antescofo know it is a symbol.
While this sounds normal, some people might have tendencies in defining message content symbols using slashes or dashes which are mathematically speaking division and minus math operations! To avoid this confusion, you can wrap those symbols in double quotes. The two buttons below will show two short Antescofo actions where one would lead to a parsing error and the other compiled correctly:
<div class="alert alert-block">
<button type="button" class="close" data-dismiss="alert">×</button>
<h4>Important!</h4>
Everytime there's a syntax problem with your score, Antescofo will print a message in MAX/Pd windows with the line number where the error is occuring. So watch the Max/Pd consoles regularly. Alternatively, AscoGraph also shows errors with line numbers in its main window if there's a problem with a score.
In any case, use slashes and dashes with care and (ab)use them for dynamic real-time evaluations!
What is compatible / Syntax changes
Everything else in scores done for version 0.4x should be compatible with 0.5x. If not just post a message to this Forum!
However, while we kept old syntaxes we created new aliases for the Action language which will make your life easier and address some issues brought by users (Igor Poliakov and Marco Stroppa). Basically a GFWD is now called group, LFWD called loop, and KILL can be called as abort. The only differences between the old and new syntax is that whereas for GFWD, LFWD, and KILL the delays had to be declared AFTER the keyword, with group, loop and abort they are declared BEFORE the keyword!
Why does this make life easier? Well because group for example has now THE SAME SYNTAX as a basic action. This avoids confusions (expressed by users) and also make the language attractive if you use Macros and Processes (for composing programs). Note again that old scores with GFWD etc. will continue to work.
The following code blocks represent the same scores comparing the old and new syntax. All of them work but one group is more attractive:
These are not the only new features in v0.5+! We now have variables, processes, live string evaluation for live coding, tables, maps and useful new syntaxes such as whenever. We’ll reveal all these in other posts. Meanwhile, do not hesitate to respond to this message if you see any problem or have any suggestions.