Skip to content
saugns v0.3.10. Timing fixes. Rework timing modifiers.

Changes of a few main varieties:
 1. Fix compound step syntax used with nesting.
 2. Fix some smaller timing-related bugs.
 3. Rework timing modifiers, replace 's' (silence) parameter.
 4. A few smaller syntax removals, and an addition.

Fix a bug (design flaw) from 2011, which limited use
of ';' for timing in a nested structure in a script.

Previously, while scripts with "Osin p+[Osin; ...]"
worked, scripts with "Osin p+[Osin; ... Osin; ...]"
didn't. The bug affected timing, when more than one
object (oscillator) used ';' combined with nesting,
inside or after nesting rather than before nesting.
Now that limitation is gone.

New 'devtests/compnest.sau' script works now but not
with earlier versions. (Note: The fix was backported
all the way down to new "Debug compound..." commit.)

Fixes for '-p' option duration
reporting, and related things.

This is the 3rd year in a row where timing bugs have
been fixed in December-January, for whatever reason.

Syntax changes:
 * Rename timing modifier '\' to '/',
   (reverses change from 2011-07-01).
 * Replace the old silent time padding 's' parameter
   with the new subshift '\' timing modifier, also a
   new feature (add delay only for a next sub-step).
 * Make '|' reset delay to add next step to duration
   rather than add it to delay from prior '/' usage.
 * Remove "default length time" ("t*", literal '*'),
   a so-far never-useful 2011 feature.
 * Remove "delay by previous time" (used to be "\t",
   literal 't'), another 2011 feature.
 * Add phase named constant 'G' for golden angle, scaled
   to cycle percentage, for use in e.g. "p(G*4)" for the
   4th leaf-around-a-stem angle.

Some smaller design changes without change in features.

Make nicer README (now 'README.md'), also clear in plaintext.
Also, rewrite various parts of 'doc/README.SAU', for clarity.

When adjusting scripts to use '\' instead of 's'
(after renaming every '\' to '/') make sure that
the '\' is always before any old 't' that is for
the same (sub-)step. Placement is now important.

As for old '\' followed by '|', swap and write a
'|' before the new '/', to get the old behavior.