summaryrefslogtreecommitdiff
path: root/preface
diff options
context:
space:
mode:
authorFelipe Sateler <fsateler@debian.org>2016-07-16 16:40:22 -0400
committerFelipe Sateler <fsateler@debian.org>2016-07-16 16:40:22 -0400
commit9ed440b868c38b05db0f1997170c231db103c850 (patch)
tree253db08579441893803bd57ac0054ff66b3b2465 /preface
parentbcf06a42deb371baf3deb9f4addb474b08273120 (diff)
Imported Upstream version 6.07.0~dfsg
Diffstat (limited to 'preface')
-rw-r--r--preface/whatsnew.xml1927
1 files changed, 1921 insertions, 6 deletions
diff --git a/preface/whatsnew.xml b/preface/whatsnew.xml
index 5a75f4e..e1a9f3d 100644
--- a/preface/whatsnew.xml
+++ b/preface/whatsnew.xml
@@ -1,5 +1,6 @@
<section id="PrefaceWhatsNew"><title>What's new in Csound &csoundversion;</title>
-<!-- <bridgehead>NRelease Notes for Csound 6.XX ()</bridgehead> --><!-- <para>
+<!-- <bridgehead>Release Notes for Csound 6.XX ()</bridgehead>
+ <para>
<itemizedlist>
<listitem>
<para>New opcodes:
@@ -64,6 +65,1920 @@
</listitem>
</itemizedlist>
</para>-->
+
+ <bridgehead>Release Notes for Csound 6.07 (2016 March)</bridgehead>
+ <para>
+ A large number of bug fixes, some quite major, some internal are
+ included, as well as some new facilities and extensions. As ever there
+ are coding improvements as well.
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>New opcodes:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <link linkend="compress2"><citetitle>compress2</citetitle></link>:
+ like compress but using a more normal use of dB (0.0 for full
+ scale).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ (Experimental, source code-only) New cuda opcodes: cudasynth2
+ and cudanal2.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="directory"><citetitle>directory</citetitle></link>
+ opcode: reads a directory and outputs to a string array a list
+ of file names.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="ftsamplebank"><citetitle>ftsamplebank</citetitle></link>:
+ to load a sample library from a directory.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="mvclpf1"><citetitle>mvclpf1</citetitle></link>,
+ <link linkend="mvclpf2"><citetitle>mvclpf2</citetitle></link>,
+ <link linkend="mvclpf3"><citetitle>mvclpf3</citetitle></link>,
+ <link linkend="mvclpf4"><citetitle>mvclpf4</citetitle></link>,
+ <link linkend="mvchpf"><citetitle>mvchpf</citetitle></link>:
+ Moog voltage-controlled filter emulations from Fons Andriaensen.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="ops"><citetitle>S()</citetitle></link>
+ converter from k-rate and i-time number to a string.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="cepsinv"><citetitle>cepsinv</citetitle></link>
+ opcode to calculate the inverse cepstrum of an array.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="moogladder2"><citetitle>moogladder2</citetitle></link>,
+ is a faster, less accurate implementation of moogladder.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="paulstretch"><citetitle>paulstretch</citetitle></link>
+ opcode is a lightweight implementation of the PaulStretch
+ time-stretching algorithm by Nasca Octavian Paul. It is ideal
+ for timestretching a signal by very large amounts.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="mp3scal"><citetitle>mp3scal</citetitle></link>
+ implements phase-locked vocoder processing from mp3-format disk
+ files, resampling if necessary.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="filescal"><citetitle>filescal</citetitle></link>
+ implements phase-locked vocoder processing from disk files,
+ resampling if necessary.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Orchestra:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ The boolean ? .. : .. construction can now have string results,
+ while previously it only allowed numbers.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ The line number reported when an error is detected at the end
+ of a line is now correct. Also more improvements in line numbers
+ for complex syntax.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="while"><citetitle>while</citetitle></link> loop
+ improved/fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Better and consistent reading of comments.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Continuation lines handled better, especially respecting line
+ numbers.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ opcode: <link linkend="ops"><citetitle>S(.)</citetitle></link>
+ syntax now allowed.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Score:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ The list of tempo points in score opcode
+ <link linkend="t"><citetitle>t</citetitle></link> is now
+ arbitrarily long.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ A stupidity in <link linkend="r"><citetitle>r</citetitle></link>
+ and <link linkend="leftbrace"><citetitle>{</citetitle></link>
+ opcodes fixed.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Options:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ The <link linkend="FlagsCatMinusLowerZ"><citetitle>-z</citetitle></link>
+ option now suppresses deprecated opcodes, unless given
+ a 2 or 3 argument.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ The new option --fftlib controls which real fft library to
+ use internally (FFTLIB = 0, PFFFT = 1, vDSP = 2)
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Modified Opcodes and Gens:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ In <link linkend="OSC"><citetitle>OSC</citetitle></link>
+ opcodes it is now possible to send and receive arrays,
+ tables and audio.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Better diagnostic if
+ <link linkend="diskin2"><citetitle>diskin2</citetitle></link>
+ fails.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="rezzy"><citetitle>rezzy</citetitle></link>
+ now checks for unstable filter and modifies to close
+ stable version.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="adsr"><citetitle>adsr</citetitle></link>
+ rewritten so it gives an error if the segments are
+ longer than p3.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Use of <link
+ linkend="diskin"><citetitle>diskin</citetitle></link> to an
+ array now resizes the output array if necessary.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="chnget"><citetitle>chnget</citetitle></link>
+ now checks for a change in channel name as well as data.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="interp"><citetitle>interp</citetitle></link>
+ can take an optional extra argument to give an initial value.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="oscilikts"><citetitle>oscilikts</citetitle></link>
+ uses a more liberal table lookup.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ opcode <link linkend="in"><citetitle>in</citetitle></link> can
+ read mono or stereo, obviating the <link
+ linkend="in"><citetitle>in</citetitle></link>/<link
+ linkend="ins"><citetitle>ins</citetitle></link> distinction.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="sensekey"><citetitle>sensekey</citetitle></link>
+ rewritten to provide better diagnostics and fixes a minor bug.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Fix to a case of defining a macro with arguments.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="sockrecv"><citetitle>sockrecv</citetitle></link>
+ now works at a and k rate.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="GEN49"><citetitle>GEN49</citetitle></link> now
+ works from <link linkend="ftgen"><citetitle>ftgen</citetitle></link>
+ calls.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="GEN34"><citetitle>GEN34</citetitle></link>
+ liberalised in tables it accepts.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="chnget"><citetitle>chnget</citetitle></link>
+ now allows channel names to be changed at perf time.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ iceps has been renamed cepsinv to avoid name clashes.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ mp3 support improved in a number of minor ways.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ A minor fix to allow a ladspa plugin to be re-loaded by the host.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Frontends:
+ <itemizedlist>
+ <listitem>
+ <simpara>csdebugger:</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Some memory issues fixed.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>HTML5:</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ CsoundQT has its own notes at
+ <ulink url="https://github.com/CsoundQt/CsoundQt/blob/develop/release_notes/Release%20Notes%200.9.2.1.md">
+ <citetitle>https://github.com/CsoundQt/CsoundQt/blob/develop/release_notes/Release%20Notes%200.9.2.1.md</citetitle></ulink>.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>General usage:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ The multicore options somewhat improved.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ When replacing instruments the new version inherits <link
+ linkend="maxalloc"><citetitle>maxalloc</citetitle></link>
+ and active flags.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Multicore code now works with midi instruments.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ MIDI operations now available via a new rtmidi jack module
+ (-+rtmidi=jack).
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Bugs fixed:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ Fix to <link
+ linkend="trigseq"><citetitle>trigseq</citetitle></link>.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Major error in <link
+ linkend="rezzy"><citetitle>rezzy</citetitle></link> fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="p"><citetitle>p()</citetitle></link> fixed for
+ high numbers of p-arguments.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="p"><citetitle>p()</citetitle></link> now works
+ from MIDI events.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ The 31-bit random number generator could give a very short
+ loop if seeded with zero; fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Macros in .orc files now work.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ A long-standing bug in display of graphs fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Fixes to the envelope opcodes
+ <link linkend="linen"><citetitle></citetitle>linen</link>,
+ <link linkend="expsegr"><citetitle></citetitle>expsegr</link>,
+ <link linkend="linsegr"><citetitle></citetitle>linsegr</link>,
+ <link linkend="cossegr"><citetitle></citetitle>cossegr</link>,
+ <link linkend="transegr"><citetitle></citetitle>transegr</link>,
+ <link linkend="envlpx"><citetitle></citetitle>envlpx</link>,
+ including new warnings.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Many fixes in string opcodes
+ (<link linkend="strsub"><citetitle></citetitle>strsub</link>,
+ <link linkend="strcpy"><citetitle></citetitle>strcpy</link>
+ and others).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Fixed bugs in print formats
+ (<link linkend="sprintf"><citetitle></citetitle>sprintf</link>,
+ <link linkend="printf"><citetitle></citetitle>printf</link>,
+ <link linkend="prints"><citetitle></citetitle>prints</link>).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="pvsmooth"><citetitle></citetitle>pvsmooth</link>
+ had a missing initialisation.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Array initialisation now robust.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Bug in <link
+ linkend="copya2ftab"><citetitle></citetitle>copya2ftab</link>
+ fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Fix in cudapvsanal (EXPERIMENTAL).
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="partikkel"><citetitle>partikkel</citetitle></link>
+ fix to subsample grain placement.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Opcodes that require an odd number of arguments are now
+ properly checked.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ pvswrite now takes proper notice of 0dbfs.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="GEN34"><citetitle>GEN34</citetitle></link>
+ now allowing non-power-of-two source tables.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ vst4cs will now work on 64bit architecture.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="strcat"><citetitle>strcat</citetitle></link>
+ mended.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="nstance"><citetitle>nstance</citetitle></link>
+ mended.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ fixed small issues in rtauhal module.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Windows installer for 64 bit CPU architecture now sets
+ environment variables on system level as it should.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ transeg at k-rate with itype non-zero had an initial delay if
+ one cycle.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ log function on arrays fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Rescaling of named GENs fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ A fencepost error in reading ATS files believed fixed; it
+ generated spurious errors about file finishing early.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Initialisation error in pvbandp fixed.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ readfi string allocation fixed.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>System changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ Extensive use made of in-memory files. Orc and sco are always
+ thus, as are .csound6rc. This simplifies much internally.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Nested longjmps fixed which affected some API use.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ If a non-existent .csd file is presented Csound no longer
+ crashes.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ The kcounter value is now consistently an unsigned 64bit
+ value, allowing for long performances.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>API:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ csoundCompileCsdText: New function to compile a CSD from a
+ string of text.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ The function call csound->GetKcounter(csound) now returns an
+ unsigned 64 bit integer. Previously it returned a long which is
+ unclear.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ ctcsound.py is a new wrapper file to the Csound API for the
+ Python language. It is a pure Python file using the FFI
+ (Foreign Function Interface) module ctypes. It does not depend
+ on Swig, and it works with Python2 and Python3 as well. It uses
+ numpy for its data structures, numpy being the fundamental
+ package for scientific computing with Python.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Platform Specific:
+ <itemizedlist>
+ <listitem>
+ <simpara>Windows.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ The Windows installer for Csound now contains all executables
+ built for 64 bit CPU architecture.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ The Windows installer for 64 bit CPU architecture now
+ provides NW.js "out of the box." It runs all features of
+ Csound, as well as all features of HTML5, in a browser-like
+ runtime with JavaScript scripting, and includes a Csound
+ editor implemented in HTML. The editor will run pieces
+ either as .csd files with embedded &lt;html&gt; or as .html
+ files calling the csound object, and includes JavaScript
+ debugging.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ A new simplified build system has been implemented in the
+ csound/mingw64 directory for building Csound using the
+ MSYS2/mingw64 toolchain.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Linking to pthreads and other libraries now static.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Some limited support for non-ASCII characters in file names.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>OSX.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Installer fixed for link names for _csnd6 and _CsoundAC.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>GNU/Linux.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <link linkend="date"><citetitle>date</citetitle></link>
+ opcode more accurate.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <bridgehead>Release Notes for Csound 6.06 (2015 September)</bridgehead>
+ <para>A number of bug fixes, some quite major, are included, as well as some
+ new facilities and extensions.</para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>New opcodes:
+ <itemizedlist>
+ <listitem>
+ <simpara>getseed reads the state of the PRN generator;
+ opposite of seed opcode.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>tabifd — Instantaneous Frequency Distribution, magnitude
+ and phase analysis.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>websocket — Read and write signals and arrays using a
+ websocket connection.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>framebuffer — Read audio signals into 1 dimensional
+ k-rate arrays and vice-versa with a specified buffer size.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>olabuffer — Sum overlapping frames of audio as k-rate
+ arrays and read as an audio signal</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Orchestra:
+ <itemizedlist>
+ <listitem>
+ <simpara>Labels are allowed in instrument 0.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Score:
+ <itemizedlist>
+ <listitem>
+ <simpara>Maximum string length in scores increased to 1024.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Modified Opcodes and Gens:
+ <itemizedlist>
+ <listitem>
+ <simpara>diskin2 array version uses array size to give number
+ of channels in raw file form.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>diskin2 now has the kpitch parameter defaulting to 1 for
+ simple use.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Vibrato f-table in wgflute and wgcar optional,
+ defaulting to sine wave.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>schedule now accept string arguments.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>urandom now available on OSX platforms.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>GEN18 had fencepost problem; largely rewritten.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>In poscil family of opcodes it is possible to skip
+ initialisation of phase.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>svfilter now can skip initialisation.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>When opening an input file nchncls_i is used rather
+ than nchnls. This is a change that should have followed the
+ existence of nchnls_i</simpara>
+ </listitem>
+ <listitem>
+ <simpara>rtjack module now reports the sampling rate.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>The opcodes rfft, rifft, fft, fftinv, r2c and c2r now
+ have i-rate array versions.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>New optional threshhold parameter in opcodes tradsyn,
+ sinsyn and resyn.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>New thresholding option for partials.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Utilities:
+ <itemizedlist>
+ <listitem>
+ <simpara>extract fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>src_conv improved and integrated with -U options.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>fixes in atsa, and heti.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Frontends:
+ <itemizedlist>
+ <listitem>
+ <simpara>pnacl:</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Support for 48000 sample rate fixed.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>csound~:</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Changes to the threading system. String channel
+ initialisation fixed. A number of other bugs were
+ fixed.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>Emscripten:</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Csound Javascript object can now receive data
+ from the outvalue opcode.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>HTML5:</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Integrate HTML, JavaScript, and other features of
+ HTML5 with Csound, either by embedding a Web page as an
+ &lt;html&gt; element in the CSD file for CsoundQt or Csound
+ for Android, or by hosting Csound in the JavaScript context
+ of a standalone Web browser (Emscripten, PNaCl) or embedded
+ Web browser (csound.node).</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>General usage:
+ <itemizedlist>
+ <listitem>
+ <simpara>Ill-formatted macros in the orchestra now trapped.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Bugs fixed:
+ <itemizedlist>
+ <listitem>
+ <simpara>Use of Windows-style environments for INCDIR etc now
+ works with device numbers.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>vibrato opcode fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Clicking in real-time sample accurate case fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Copying of strings now correct; did confuse memory
+ sometimes.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Bug in pvstanal fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Rounding error in cpspch fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Removed crash on recompiling a named instrument.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fix interpolation bug in tablexkt.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fix to plltrack when ksmps is 1.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>System changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>The "error" message from STK plugin is now a warning.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>API:
+ <itemizedlist>
+ <listitem>
+ <simpara>Redefinition of opcodes and UDOs fixed.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Platform Specific:
+ <itemizedlist>
+ <listitem>
+ <simpara>OSX.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>csnd6.jar link installed in the correct location.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Java JNI linking issues solved.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>fixed link name for libpng in libfltk_image.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <bridgehead>Release Notes for Csound 6.05 (2015 April)</bridgehead>
+ <para>As ever there are new facilities and numerous bug-fixes. A major part of
+ this release is the removal of a number of memory leaks and over use
+ of memory. Naturally these changes are all but invisible, just a
+ smaller memory foot-print.
+
+ Note that we track bugs and requests for enhancements via the github
+ issues system, and these had a significant affect on this release.</para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>Opcodes :
+ <itemizedlist>
+ <listitem>
+ <simpara>The opcode sndload is now deprecated.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>New Gen and Macros:
+ <itemizedlist>
+ <listitem>
+ <simpara>Paul Octavian Nasca's padsynth algorithm implemented as a gen.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Score:
+ <itemizedlist>
+ <listitem>
+ <simpara>Fixed string location calculation bug when processing score
+ lines [fixes #443]</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Options:
+ <itemizedlist>
+ <listitem>
+ <simpara>A short-format copyright option is available, with a fixed
+ number of well-known licences (CC, etc)</simpara>
+ </listitem>
+ <listitem>
+ <simpara>New command-line option to report MIDI devices in simple
+ format</simpara>
+ </listitem>
+ <listitem>
+ <simpara>New command-line option to set ksmps</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Modified Opcodes and Gens:
+ <itemizedlist>
+ <listitem>
+ <simpara><emphasis>adsynt</emphasis> handles amplitude changes
+ better</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>sfont</emphasis> has better checking for
+ corruptions</simpara>
+ </listitem>
+ <listitem>
+ <simpara>better checking in physical models for out-of-range
+ frequencies</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>ftgenonce</emphasis> and others allows string
+ parameters</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>gausstrig</emphasis> reworked and extended with new
+ features</simpara>
+ </listitem>
+ <listitem>
+ <simpara>use of <emphasis>p()</emphasis> function no longer
+ complains overrides the pcnt warning</simpara>
+ </listitem>
+ <listitem>
+ <simpara>fix to <emphasis>midirecv</emphasis></simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>OSCsend</emphasis> cleans up after use
+ improved</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>fillarray</emphasis> is limited to 1 or 2
+ dimensional arrays; in fact it failed silently previously for 3D
+ and higher.</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>oscbnk</emphasis> now works when the equaliser
+ is used.</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>mp3in</emphasis> now works with both mono and
+ stereo input files</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>flooper</emphasis> &amp; <emphasis>flooper2</emphasis>
+ now allow stereo tables</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Release phase of <emphasis>expsegr</emphasis> fixed</simpara>
+ </listitem>
+ <listitem>
+ <simpara>f-tables created by a large number of arguments could
+ overwrite memory, now fixed</simpara>
+ </listitem>
+ <listitem>
+ <simpara>performance of <emphasis>plltrack</emphasis> improved
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>init of arrays clarified and checked</simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>gen23</emphasis> corrected to stop an infinite
+ loop</simpara>
+ </listitem>
+ <listitem>
+ <simpara>alwayson now starts from score offset; this is part of
+ a fix to the long-standing problem with alwayson in CsoundVST</simpara>
+ </listitem>
+ <listitem>
+ <simpara>invalue now checks for output string size and reallocates
+ memory if smaller than default string size (set at 256 bytes
+ for backwards compatibility)</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Utilities:
+ <itemizedlist>
+ <listitem>
+ <simpara>The srconv utility has been improved but it does not
+ work well, with groups of noise in otherwise good output. We
+ recommend the use of Erik de Castro Lopo's Secret Rabbit Code
+ (aka libsamplerate) as providing sample rate conversion at high
+ quality. srconv will be removed shortly possibly to be replaced
+ by an SRC-based utility.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Frontends:
+ <itemizedlist>
+ <listitem>
+ <simpara>pnacl</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Added interface to allow the use of Csound's MIDI input
+ system.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fixed audio input to conform to the latest Pepper API
+ spec.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Bugs fixed:
+ <itemizedlist>
+ <listitem>
+ <simpara>bugs in fastabi,oscktp, phasorbnk, adsr, xadsr, hrtfer fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>bugs in the harmon. harmon2, harmon3 and harmon4 fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Csound could crash after a parsing error, a case now removed.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ System changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>There are now checks that xin/xout types match those defined
+ as part of UDO definition.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>jack now has a timeout.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal Changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>Many defects indicated by coverity fixed or code changed.
+ Should make csound more robust in edge cases.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Parser-related changes simplifies allocation of temporary
+ variables, with some new optimisations.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>code for multi-thread rendering improved and stablised
+ vis-a-vis redefinition of instruments.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Platform Specific:
+ <itemizedlist>
+ <listitem>
+ <simpara>iOS.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Fixed audio callback to work correctly with lightning
+ output and Apple TV.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>Android.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>New experimental audio IO mode: csoundPerformKsmps()
+ is called from the OpenSL ES output callback. This mode can
+ be optionally enabled by passing a value of "false" to a new
+ second parameter to the CsoundObj constructor (bool isAsync).
+ The default constructor and the one-parameter sets this to
+ "true" (keeping backwards compatibility with existing
+ code).</simpara>
+ </listitem>
+ <listitem>
+ <simpara>The OSC opcodes are included in distribution.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Android app</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>There are new file open and save dialogs that
+ permit the user to access the SD card on the device, if
+ there is one, in addition to internal storage.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>There is a new "Save as..." button that permits
+ the user to save the csd as a new file with a new name.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Many of the examples in the archive of Android
+ examples are now built into the app and can be run from the
+ app's menu.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Includes now the exciter opcode.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>OSX.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Installation now places csladspa.so rather than
+ csladspa.dylib on disk.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>Linux.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>Linux is now build without FLTK threads. This removes
+ system hangs and is in line with other builds.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+<bridgehead>Release Notes for Csound 6.04 (2014 November)</bridgehead>
+ <para>This new version has many extensions and fixes; many new opcodes
+ and significant numbers of internal reworking. There is a new
+ frontend and iOS and Android version have seen many improvements.</para>
+ <para>As ever we track bugs and requests for enhancements via the github
+ issues system. Already proposals for the next release are being
+ made but the volume of changes require a release now.</para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>New opcodes:
+ <itemizedlist>
+ <listitem>
+ <simpara><link linkend="pinker"><citetitle>pinker</citetitle></link>
+ generates high quality pink noise.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>power opcode ^ now works with array arguments.</simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="exciter"><citetitle>exciter</citetitle></link>
+ opcode, modelled on the calf plugin.</simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="vactrol"><citetitle>vactrol</citetitle></link>
+ opcode simulates an analog envelope follower.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>family of hdf5 opcodes to handle hdf5 format files.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>(experimental undocumented) buchla opcode models the lowgate
+ filter of Buchla.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>New k-rate opcodes acting on arrays:
+ <itemizedlist>
+ <listitem>transforms: rfft, rifft, fft, fftinv</listitem>
+ <listitem>complex product: complxprod</listitem>
+ <listitem>polar - rectangular conversion: rect2pol, pol2rect, mags, phs</listitem>
+ <listitem>real - complex: r2c, c2r</listitem>
+ <listitem>windowing: window</listitem>
+ <listitem>cepstrum: pvscpes, iceps, ceps</listitem>
+ <listitem>column / row access: getrow, getcol, setrow, setcol</listitem>
+ <listitem>a-rate data - k-array copy: shiftin, shiftout</listitem>
+ <listitem>phase unwraping: unwrap</listitem>
+ </itemizedlist>
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ New Gen and Macros:
+ <itemizedlist>
+ <listitem>
+ <simpara>Line numbers corrected in instr statements.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>New control operation, while, for looping.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>A long-standing bug with macros which use the same name for an
+ argument has been corrected.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Redefinition of an instrument in a single call to compile is
+ flagged as an error.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>ID3 header skip for mp3 files now properly implemented.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Errors induced by not defining the location of STK's raw wave
+ files has been removed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>bug fixed where UDO's could not read strings from pfields.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Modified Opcodes and Gens:
+ <itemizedlist>
+ <listitem>
+ <simpara>stackops opcodes deprecated.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>lenarray extended to handle multi-dimensional arrays.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>ftgenonce accepts string arguments correctly and multiple
+ string arguments.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>max and min now have initialisation-time versions.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>gen23 improved regarding comments and reporting problems.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>in OSCsend the port is now a k-rate value.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>socksend now works at k-rate.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>a number of envelope-generating opcodes are now correct in
+ sample-accurate mode.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>faust compilation is now lock-protected.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>mp3 fixed to allow reinit to be used with it.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>In remote opcode the name of the network can be set via
+ the environment variable CS_NETWORK. Defaults to en0 (OSX) or
+ eth0.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Frontends:
+ <itemizedlist>
+ <listitem>
+ <simpara>icsound:
+ New frontend icsound is now ready for general use. icsound is
+ a python interface for interactive work in the ipython notebook.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>csdebugger:
+ A number of changes and improvements have been made, like
+ stepping through active instruments, better line number use.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>General usage:
+ <itemizedlist>
+ <listitem>
+ <simpara>Jack module now does not stop Csound if autoconnect fails.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Bugs fixed:
+ <itemizedlist>
+ <listitem>
+ <simpara>atsinnoi fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>ftsavek fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>sprintf fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>gen27 fixed, especially with extended arguments, as well as
+ fixed a number of errors in extended score arguments.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Physem opcodes (guiro cabasa, sekere) fixed so second call
+ works.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>flooper fixed in mode 2.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>OSCsend multiple fixes.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>UDO fix for case of local ksmps of 1.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>More changes/fixes to dssi code.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>xscanu and scanu fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>temposcal and mincer fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>crash in ftload fixed.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ System changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>In server mode exit is now clean.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fixes to rtalsa module.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Pulseaudio rt module fixes.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fix to remove fluidEngine entries for csound instance
+ (prevents crash on moduleDestroy).</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Opcodes called through function calls that returned arrays
+ did not correctly synthesize args as array types due to not
+ converting the arg specifier to the internal format.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>fixed crashing issue during note initialization for tied
+ notes due to goto skipping over code.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>fixed incorrect initialization of pfields when note's pfields
+ length were less than instrument expected (off-by-one).</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal Changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>Added Runtime Type Identification for instrument variables;
+ removed use of XINCODE/XOUTCO.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>fix malloc length in negative number parsing, and improved
+ handling of negative numbers.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>writing to circularBuffer is now atomic.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>a number of memory leaks and potential dangerous code have been
+ fixed.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>type-inference has been extensively reworked, as have a few
+ parsing areas.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ API:
+ <itemizedlist>
+ <listitem>
+ <simpara> Added API function for retrieving GEN parameters used for
+ creating a table.</simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Platform Specific:
+ <itemizedlist>
+ <listitem>
+ <simpara>iOS.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>API Refactored for clearer method names and abstraction names (i.e.
+ CsoundBinding instead of CsoundValueCacheable).</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Updated to remove deprecated code.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>A significant amount of reworking has been done on the code.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>Android.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>API Refactored for clearer method names and abstraction names (i.e.
+ CsoundBinding instead of CsoundValueCacheable).</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Changes to enable HTML 5 with JavaScript and it is to be hoped WebGL
+ in the Csound6 Android app.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Enabled change of screen orientation in the Csound6 app without
+ forcing a restart of the app.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>Enabled local storage (useful for saving and restoring widget
+ values, etc.).</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>Windows.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>fixed pointer arithmetic that caused crashing on Windows.</simpara>
+ </listitem>
+ <listitem>
+ <simpara>pyexec changed to use python's file opening functions to
+ prevent crash on Windows.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>OSX.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>CsoundAC now compiles.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <simpara>Linux.</simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>threadlocks bug fix on linux.</simpara>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+<bridgehead>Release Notes for Csound 6.03 (2014 May)</bridgehead>
+ <para>
+ This new version has a large number of bug fixes (including clearing
+ many tickets on SourceForge and GitHub) as well internal changes to improve
+ performance.
+ <itemizedlist>
+ <listitem>
+ <para>New opcodes:
+ <itemizedlist>
+ <listitem>
+ <simpara><link linkend="printks2"><citetitle></citetitle>prinks2</link></simpara>:
+ prints a new value every time a control variable
+ changes using a printf() style syntax
+ </listitem>
+ <listitem>
+ <simpara><emphasis>mp3sr</emphasis>, <emphasis>mp3bitrate</emphasis>,
+ and <emphasis>mp3nchnls</emphasis> to get information on mp3 files</simpara>
+ </listitem>
+ <listitem>
+ <simpara>EXPERIMENTAL: CUDA opcodes for partitioned convolution direct
+ convolution and sliding phase vocoding; OpenCL opcode for
+ additive synthesis
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="compilecsd"><citetitle></citetitle>compilecsd</link></simpara>
+ to compile instruments from a standard CSD file
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Orchestra:
+ <itemizedlist>
+ <listitem>
+ <simpara>The argument for i() is supposed to be a variable not an
+ expression. This is now enforced. (bug #90)
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Score:
+ <itemizedlist>
+ <listitem>
+ <simpara>New score opcode y sets the random seed (for ~) at read time
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Options:
+ <itemizedlist>
+ <listitem>
+ <simpara>There was a bug in CsOptions; the last argument was missed being
+ read(issue #296)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>As command-line options expression-opt and no-expression-opt do
+ nothing in Csound6 a warning is printed
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Modified Opcodes and Gens:
+ <itemizedlist>
+ <listitem>
+ <simpara>For ogg output it is possible to specify a VBR (variable block
+ rate) quality.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>dssi4cs</emphasis> code has been extensively reworked
+ to avoid potential memory faults.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Many array operations now available for i-arrays as well as
+ k-arrays.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>fillarray</emphasis> will work for string arrays
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Displays of FFT (via <emphasis>dispfft</emphasis>) improved
+ with scaling/zooming options
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Signal flow graph opcodes are now working with a-rate array
+ signals.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>In alsa RT code the sample rate is taken from the device
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Faust opcode system updated to latest faust API
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Utilities:
+ <itemizedlist>
+ <listitem>
+ <simpara>fixed bug in lpanal
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ csound~:
+ <itemizedlist>
+ <listitem>
+ <simpara>OSX - fix for running with 32-bit cpu architecture
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Windows - csound~ now available for Windows
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Emscripten:
+ <itemizedlist>
+ <listitem>
+ <simpara>This is now generally merged into the code-base
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ General usage:
+ <itemizedlist>
+ <listitem>
+ <simpara>--displays now switches graphs on, as expected
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>New commandline option --get-system-sr added to obtain the
+ machine's sample rate
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>New command-line option --devices[=in|out] gives a list of
+ available audio devices and then exit
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Bug fixes:
+ <itemizedlist>
+ <listitem>
+ <simpara>fixed the bug when tables were replaced but the size did not change
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>A number of bugs in --sample-accurate have been detected and
+ fixed. This includes opcodes <emphasis>out</emphasis>,
+ <emphasis>outn</emphasis>, and <emphasis>line</emphasis>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>A number of bugs in <emphasis>grain3</emphasis> were fixed
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Bug in str_chanel could cause a crash; fixed
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Small bug in rtjack fixed
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Error in resize opcode corrected
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fixed an unlikely bug in atsa
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Fixed rtauhal pause issue
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>A number of bugs/untidiness fixed in GEN23
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Array bound checks fixed
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>strings channels were not correctly set for dynamic-size
+ strings, now fixed
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>memory allocation for string formatting in <emphasis>printfsk</emphasis>
+ was fixed, stopping string truncation
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>strcat</emphasis> safe against overflow
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>error in compilation of arrays fixed (issue #293)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>GetPvsChannel</emphasis> fixed against a crash
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ System Changes:
+ <itemizedlist>
+ <listitem>
+ <simpara><emphasis>turnoff</emphasis> opcode now checks that the
+ instrument being affected is active
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara><emphasis>lenarray</emphasis> can accept any array type
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>the way of rounding a table number to an integer was changed
+ and is now more as expected
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>there is a new possible section in a csd file called
+ &lt;CsFile...&gt; which is like csFileB but with unencoded text.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>UDO compilation now uses the type system. This means that
+ UDOs now allow any array type to be used
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Improved orchestra parsing speeds with better algorithms
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Internal Changes:
+ <itemizedlist>
+ <listitem>
+ <simpara>The whole system has been checked by the Coverity static checker
+ which identified a number of (mainly minor) problems. These have
+ been reviewed and checked. In particular better use of printing
+ and string copying should prevent overflows
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>The type and variable system has been extensively rewritten; this
+ allows better array and UDO support
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Alignment of variables got right in all cases
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Array copying is now using the type system to copy values; fixes
+ issues with copying string arrays, f-sigs, etc
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Always reset Csound when stopping to ensure state is clean; was
+ not being reset when there was a compile error, so that next
+ successful run would start with an invalid Csound engine (issue
+ #305)
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ API:
+ <itemizedlist>
+ <listitem>
+ <simpara>All opcodes etc now use the API memory allocation operations,
+ so it is possible to replace the whole memory allocator
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Added <emphasis>csoundCompileCsd</emphasis> to API and
+ associated new <emphasis>compilecsd</emphasis> opcode
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>Protected <emphasis>csoundGetStringChannel</emphasis> against
+ null and short strings and added a check for string size
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>A number of API functions have had char* changed to
+ const char* which reflect the usage
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ The performance engine now includes debugging capabilities to allow
+ interrupting rendering and providing introspection into the engine's state
+ and instrument variables. The following new functions are available by
+ including the csdebug.h header:
+ <programlisting>
+void csoundDebuggerInit (CSOUND *csound);
+void csoundDebuggerClean (CSOUND *csound);
+void csoundSetInstrumentBreakpoint (CSOUND *csound, MYFLT instr, int skip);
+void csoundRemoveInstrumentBreakpoint (CSOUND *csound, MYFLT instr);
+void csoundClearBreakpoints (CSOUND *csound);
+void csoundSetBreakpointCallback (CSOUND *csound, breakpoint_cb_t bkpt_cb, void *userdata);
+void csoundDebugContinue (CSOUND *csound);
+void csoundDebugStop (CSOUND *csound);
+debug_instr_t *csoundDebugGetInstrInstances(CSOUND *csound);
+void csoundDebugFreeInstrInstances(CSOUND *csound, debug_instr_t *instr);
+debug_variable_t *csoundDebugGetVariables(CSOUND *csound, debug_instr_t *instr);
+void csoundDebugFreeVariables(CSOUND *csound, debug_variable_t *varHead);</programlisting>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Windows:
+ <itemizedlist>
+ <listitem>
+ <simpara>Soundfonts in Windows had an internal alignement problem
+ which is fixed
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
<bridgehead>Release Notes for Csound 6.02</bridgehead>
<para>
This new version has a large number of bug fixes (including clearing
@@ -78,13 +1993,13 @@ changeable at audio rate.
<para>New opcodes:
<itemizedlist>
<listitem>
- <simpara><link linkend="instance"><citetitle>instance</citetitle></link>
+ <simpara><link linkend="nstance"><citetitle>nstance</citetitle></link>
opcode schedules a new instrument instance, storing the instance handle.
</simpara>
</listitem>
<listitem>
- <simpara><link linkend="kill"><citetitle>kill</citetitle></link>
- opcode stops a given instrument instance.
+ <simpara><link linkend="turnoff"><citetitle>turnoff</citetitle></link>
+ nw variant to stop a given instrument instance.
</simpara>
</listitem>
<listitem>
@@ -182,7 +2097,7 @@ changeable at audio rate.
</listitem>
<listitem>
<simpara><emphasis>max_k</emphasis> now behaves like the documentation.
- There were caseswhen it gave strange results.
+ There were cases when it gave strange results.
</simpara>
</listitem>
<listitem>
@@ -2477,7 +4392,7 @@ int perf_myopcode(CSOUND *csound, MYOPCODE *p)
allows reading of mp3 files directly in the orchestra.</simpara>
</listitem>
<listitem>
- <simpara><link linkend="wiiconnect"><citetitle></citetitle>wiiconnect</link>, <link linkend="wiidata"><citetitle></citetitle>wiidata</link>, <link linkend="wiisend"><citetitle></citetitle>wiisend</link>, <link linkend="wiirange"><citetitle></citetitle>wiirange</link> opcodes by john ffitch to recieve and send data to a wiimote controller.</simpara>
+ <simpara><link linkend="wiiconnect"><citetitle></citetitle>wiiconnect</link>, <link linkend="wiidata"><citetitle></citetitle>wiidata</link>, <link linkend="wiisend"><citetitle></citetitle>wiisend</link>, <link linkend="wiirange"><citetitle></citetitle>wiirange</link> opcodes by john ffitch to receive and send data to a wiimote controller.</simpara>
</listitem>
<listitem>
<simpara>New opcodes to receive data directly from a p5glove by john ffitch <link linkend="p5gdata"><citetitle>p5gdata</citetitle></link></simpara>