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