2 summary:: A summary of news in SC 3.6
5 SECTION:: Language-side news
7 subsection:: More informative syntax errors
8 The parser now posts the details of syntax errors, example:
13 Posts the following error message:
15 ERROR: syntax error, unexpected BINOP, expecting ']'
16 in file 'selected text'
22 -----------------------------------
23 ERROR: Command line parse failed
26 subsection:: Remove old syntax
27 code::#(a:1):: was valid syntax, but yielded nonsense results. This will now result in a syntax error instead.
29 subsection:: YAML/JSON parser
30 link::Classes/String#-parseYAML:: and link::Classes/String#-parseYAMLFile:: can be used to parse YAML or JSON.
32 subsection:: SynthDef optimizations for additive terms
34 When the SynthDef is compiled, separate additive ugens are combined via the new link::Classes/Sum3:: and
35 link::Classes/Sum4:: ugens.
37 subsection:: Basic dead code elimination for SynthDefs
39 The process of building synthdefs how performs a simple dead code elimination pass, which removes all
40 link::Classes/PureUGen:: instaces without successor.
42 subsection:: Case sensitive String comparision
43 String comparision operators (teletype::==, !=, <=, >=, >, <::) are now case sensitive.
45 "Foo" == "fOo"; // false
48 subsection:: SplayAz Bug Fix
49 Positioning of SplayAz was broken. The semantics of the TELETYPE::spread:: and TELETYPE::center:: arguments has
50 been changed in order to fix the behavior.
52 subsection:: Array primitives respect mutability
53 The array primitives now respect object mutability: writing to an immutable object now fails and changing an
54 immutable object with TELETYPE::add::, TELETYPE::addAll::, TELETYPE::insert::, TELETYPE::extend::,
55 TELETYPE::growClear:: and TELETYPE::overwrite:: will return a newly allocated object.
57 SECTION:: Server-side news
59 subsection:: SynthDef2 fileformat
61 subsection:: C++ base class for Unit Generators
63 A new C++ base class has been introduces, which extends the plain c-style Unit struct by a moden C++ interface.