saugns/sau
Joel K. Pettersson 86879ecca0 Allow "[X][Y]" to "[X Y]" concat. Flense in parser.
Language changes:
 * Modulator list syntax. Writing two or more lists in
   direct succession now concatenates their contents.

Change log:
 * 2023-09-05: parser: Use PL close_c to test
       for expected closing symbol. Reuse new
       code for "{...}" support, pruning old.
 * 2023-09-06: "[A...][B...]" -> "[A...B...]"
       concat, by changing an "if" to a loop.
 * 2023-09-08: Make current line per-PL, make
       a later "[...]" sweep work after mods.
2023-09-08 14:24:05 +02:00
..
doc Allow "[X][Y]" to "[X Y]" concat. Flense in parser. 2023-09-08 14:24:05 +02:00
generator Add 'R' 'm' flag 'h' for half-shape waveforms. 2023-08-29 10:21:19 +02:00
COPYING Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
COPYING.LESSER Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
Makefile Add Makefile in examples/ for rendering all. 2023-08-29 10:21:19 +02:00
README.md Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
arrtype.c Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
arrtype.h Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
common.h Rework and extend 'W' wave type collection. 2023-08-29 10:21:19 +02:00
error.c Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
file.c Add 'R' 'm' flag 'h' for half-shape waveforms. 2023-08-29 10:21:19 +02:00
file.h Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
generator.c Unify sweep syntax with reworked modulator list. 2023-09-08 13:34:42 +02:00
generator.h Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
help.c Add 'R' 'm' flag 'h' for half-shape waveforms. 2023-08-29 10:21:19 +02:00
help.h Add 'R' 'm' flag 'h' for half-shape waveforms. 2023-08-29 10:21:19 +02:00
lexer.c Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
lexer.h Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
line.c Add 'sqe' and 'cub' line types. More drum scripts. 2023-08-29 10:21:19 +02:00
line.h Add 'sqe' and 'cub' line types. More drum scripts. 2023-08-29 10:21:19 +02:00
math.c Add 'R' 'm' flag 'h' for half-shape waveforms. 2023-08-29 10:21:19 +02:00
math.h Add 'R' 'm' flag 'h' for half-shape waveforms. 2023-08-29 10:21:19 +02:00
mempool.c Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
mempool.h Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
parseconv.c Unify sweep syntax with reworked modulator list. 2023-09-08 13:34:42 +02:00
parser.c Allow "[X][Y]" to "[X Y]" concat. Flense in parser. 2023-09-08 14:24:05 +02:00
program.h Unify sweep syntax with reworked modulator list. 2023-09-08 13:34:42 +02:00
scanner.c Add num. variable assignment context letter. 2023-08-29 10:21:19 +02:00
scanner.h Add num. variable assignment context letter. 2023-08-29 10:21:19 +02:00
script.h Unify sweep syntax with reworked modulator list. 2023-09-08 13:34:42 +02:00
symtab.c Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
symtab.h Renaming in code, document libsau under sau/ better. 2023-08-29 10:21:19 +02:00
wave.c Rework and extend 'W' wave type collection. 2023-08-29 10:21:19 +02:00
wave.h Rework and extend 'W' wave type collection. 2023-08-29 10:21:19 +02:00

README.md

libsau -- the SAU (Scriptable AUdio) library

This is the static C library that comes with the 'saugns' program, and which implements support for the SAU audio scripting language. The project website has more on all this.

There's Makefile targets for installing and uninstalling it, by default under /usr/local/. This is not done by 'saugns' which just links to it and has its own Makefile. However, it can be used for other software which doesn't include it all.

Licensing

The SAU library is Copyright (c) 2011-2014, 2017-2023 Joel K. Pettersson. As a whole it is distributed under the terms of the GNU Lesser General Public License (LGPL), version 3 or later. See the files COPYING.LESSER and COPYING for details, or https://www.gnu.org/licenses/lgpl-3.0.en.html.

Some files are licensed under more permissive terms, such as the ISC license (2-clause-BSD-equivalent), or the 0BSD license (public-domain-equivalent shorter version); see the heading comment text of source files.

Permissive licensing is mainly used for general utility and supporting portability code. You can however also request it for smaller key parts of audio and other components, for use in your permissively licensed non-profit software projects.

Documentation

Included documentation files (this and others placed under doc/) are written by Joel K. Pettersson and licensed under Creative Commons Attribution-ShareAlike 4.0. These files are maintained and provided in parallel with the website.