diff options
author | Felipe Sateler <fsateler@debian.org> | 2016-07-16 16:40:22 -0400 |
---|---|---|
committer | Felipe Sateler <fsateler@debian.org> | 2016-07-16 16:40:22 -0400 |
commit | 9ed440b868c38b05db0f1997170c231db103c850 (patch) | |
tree | 253db08579441893803bd57ac0054ff66b3b2465 /preface | |
parent | bcf06a42deb371baf3deb9f4addb474b08273120 (diff) |
Imported Upstream version 6.07.0~dfsg
Diffstat (limited to 'preface')
-rw-r--r-- | preface/whatsnew.xml | 1927 |
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 <html> 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 + <html> 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> & <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 + <CsFile...> 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> |