File: Version_6.13.md

package info (click to toggle)
csound 1%3A6.18.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 62,416 kB
  • sloc: ansic: 192,636; cpp: 14,151; javascript: 9,654; objc: 9,181; java: 3,337; python: 3,333; sh: 1,783; yacc: 1,255; xml: 985; perl: 635; lisp: 411; tcl: 341; lex: 217; makefile: 126
file content (226 lines) | stat: -rw-r--r-- 5,667 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<!---

To maintain this document use the following markdown:

# First level heading
## Second level heading
### Third level heading

- First level bullet point
 - Second level bullet point
  - Third level bullet point

`inline code`

``` pre-formatted text etc.  ```

[hyperlink](url for the hyperlink)

Any valid HTML can also be used.

 --->

# CSOUND VERSION 6.13 RELEASE NOTES

Not many new opcodes but there are a significant number of opcodes being
extended to use arrays in a variety of ways, widening the options for
users.  There have been many fixes to the core code as well as opcodes.
-- The Developers

## USER-LEVEL CHANGES

### New opcodes

- string2array is a variant of fillarray with the data coming from a
  string of space separated values.

- nstrstr returns the name string of an instrument number or an empty
  string if the number does not refer to a named instrument.

- ntof converts notename to frequency at i- and k-time.

- ampmidicurve is a new opcode that maps an input MIDI velocity number to an
  output gain factor with a maximum value of 1, modifying the output gain by
  a dynamic range and a shaping exponent.

### New Gen and Macros

### Orchestra

- The consistency of kr, sr and ksmps reworked especially when there
  is overriding.

- corrected default 0bdfs usage.

- Resolving the path for #include files reworked to be more liberal.

- reading and writing to multidimensional arrays was very wrong.  This
  is now correct.

- Better checking for unknown array types (issue #1124)

- In all array operations the size of an array is determined at init time and no 
  allocation happens at perf time.
  
- array arithmetic now respects --sample-accurate.

### Score

- The characters n and m could erroneously get ignored in scores.

- Resolving the path for #include files reworked to be more liberal.

- After an error the backtrace of files and macros incorrectly read
  the information for orchestra rather than scores; fixed.

- The end of an r (repeated) section was not always correct.

- Nested {} parts of a score could lead to errors.

- After an s statement a newline was required; no longer needed.

- The {} score loops have been reworked to allow macros and expressions
  in the loop count.
  
### Options

- The new option --use-system-sr set the sample rate to the hardware/system value.

### Modified Opcodes and Gens

- Sending failure in OSC is now a warning rather than an error.

- passign can now have an array as the target.

- version of bpf/bpfcos added to allow points defined via arrays.

- grain can now use tables of any size, which was only a power of 2.

- Changing colours in FL widgets now works (it previously did not redraw
  the colour).

- fillarray can read from a file of values overcoming the argument
  limit.

- sumarray now works for audio arrays as well as for scalar values.

- assignment of an audio value to an audio array now works.

- monitor was broken in the array form.

- gendyc now respects sample-accurate mode.

- mtof and ftom now have array versions.

- sc_lag and sc_lagud now use the first k- or a-rate input when no
  initial value is given.

- printarray now works for string arrays.

- changed2 now works for strings.

- diskgrain, syncgrain and syncloop now can do sample rate scaling.

- GEN01 correctly reads raw audio files when requested.

- ftaudio can now take two additional optional argument`s for the start
  and end of the table data being written to file.

- sensekey recoded in the 'key down' mode.

- loscilx can return an audio array.

- schedule opcode reports undefined instruments in all cases.

- event_i now accepts tagged instrument numbers.

- printarray treats %d correctly.

- beadsynt now works with i arrays as well as k arrays as in the manual.

### Utilities

- hetro had a number of fixes and improvements.


### Frontends

- Belacsound:

- CsoundQt:

### General Usage

- There have been a number of improvements in the semantics for multicore;
  most of these are corrections with a few efficiency gains.

- There is a maximum number of arguments for an opcode which was
  neither explicit nor policed.  Attempts to use too many arguments
  now gives a syntax error.


## Bugs Fixed

- FLgetsnap fixed.

- directory fixed regarding file extensions.

- FLsetText reused a string incorrectly which led to incorrect values.

- fmb3 failed to initialise the lfo rate in some cases.

- ftaudio at i-rate was totally broken.

- following a reinit printks could be skipped; fixed

- printks fixed so it prints at correct times.

- tabrowlin and getrowlin would calculate wrong size under certain conditions.

# SYSTEM LEVEL CHANGES

- Hash Table implementation modified to expand on load for better performance
  when map contains large number of entries

### System Changes

- plugin GEN functions can have a zero length, but the code must check
  for this and act accordingly.  This allows for deferred allocations.

- schedule reports undefined instr numbers/names and continues, rather than 
  causing an error.
  
- allow multiple calls to midi out controls.

### Translations

### API

- find_opcode_new and find_opcode_exact now exposed in API.

- After a reset a default message string callback handle is configured.

- New function csoundSystemSr added to the API to read hardware-imposed sample rate.

### Platform Specific

- WebAudio: libsndfile now compiled with FLAC and OGG support.

- iOS

- Android

- Windows
 - In both orchestra and score the path tracking of #include expects a \ separator.

- MacOS

- GNU/Linux

- Haiku port now available.

- Bela
 - allow analog in and out with different channel numbers.

==END==