27 Apr 2015

Csound 6.05 Release

We have released version 6.05 today. This is largely a bug-fixing release but as ever there new features.

Source and binary packages for the various platforms can be found at

[https://sourceforge.net/projects/csound/files/csound6/Csound6.05] (https://sourceforge.net/projects/csound/files/csound6/Csound6.05)

RELEASE NOTES VERSION 6.05

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.

The Developers

USER-LEVEL CHANGES

New opcodes:

  • None
  • The opcode sndload is now deprecated

New Gen and Macros:

  • Paul Octavian Nasca’s padsynth algorithm implemented as a gen.

Orchestra:

Score:

  • Fixed string location calculation bug when processing score lines [fixes #443]

Options:

  • A short-format copyright option is available, with a fixed number of well-known licences (CC, etc)
  • New command-line option to report MIDI devices in simple format
  • New command-line option to set ksmps

Modified Opcodes and Gens:

  • adsynt handles amplitude changes better
  • sfont has better checking for corruptions
  • better checking in physical models for out-of-range frequencies
  • ftgenonce and others allows string parameters
  • gausstrig reworked and extended with new features
  • use of p() function no longer complains overrides the pcnt warning
  • fix to midirecv
  • OSCsend cleans up after use improved
  • fillarray is limited to 1 or 2 dimensional arrays; in fact it failed silently previously for 3D and higher.
  • oscbnk now works when the equaliser is used.
  • mp3in now works with both mono and stereo input files
  • flooper & flooper2 now allow stereo tables
  • Release phase of expsegr fixed
  • f-tables created by a large number of arguments could overwrite memory, now fixed
  • performance of plltrack improved
  • init of arrays clarified and checked
  • gen23 corrected to stop an infinite loop
  • alwayson now starts from score offset; this is part of a fix to the long-standing problem with alwayson in CsoundVST
  • invalue now checks for output string size and reallocates memory if smaller than default string size (set at 256 bytes for backwards compatibility)

Utilities:

  • The srconv utilityy has been improved but it does not work well, with groups of noise in otherwise good output. We recomment the use of Erik de Castro Lopo’s Secret Rabbit Code (aka libsamplerate) as providing sanmplrate conversion at high quailty. srconv will be removed shortly possibly to be replaced by an SRC-based utility.

Frontends:

pnacl: added interface to allow the use of Csound’s MIDI input system. fixed audio input to conform to the latest Pepper API spec.

icsound:

csound~:

Emscripten:

csdebugger:

General usage:

Bugs fixed:

  • bugs in fastabi, oscktp, phasorbnk, adsr, xadsr, hrtfer fixed
  • bugs in the harmon. harmon2, harmon3 and harmon4 fixed
  • Csound could crash after a parsing error, a case now removed

SYSTEM LEVEL CHANGES

System changes:

  • There are now checks that xin/xout types match those defined as part of UDO definition.
  • jack now has a timeout

Internal changes:

  • Many defects indicated by coverity fixed or code changed. Should make csound more robust in edge cases.
  • Parser-related changes simplifies allocation of temporary variables, with some new optimisations.
  • code for multi-thread rendering improved and stablised vis-a-vis redefinition of instruments.

API

Platform Specific

iOS

  • fixed audio callback to work correctly with lightning output and Apple TV.

Android

  • 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).
  • The OSC and exciter opcodes are included in distribution.
  • 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.
  • There is a new “Save as…” button that permits the user to save the csd as a new file with a new name.
  • 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.

Windows

OSX

  • Installation now places csladspa.so rather than csladspa.dylib on disk.

Linux

  • Linux is now build without FLTK threads, This removes system hangs and is in line with other builds