[linux-audio-user] [ANN] Csound 5.02 release

Istvan Varga ivarga at csounds.com
Fri Jun 9 15:58:59 EDT 2006

Links to downloadable packages can be found here:


Changes in version 5.02:

2006-06-04	Michael Gogins	<gogins at pipeline.com>
	* Changed the MIDI interoperability opcodes (OOps/midiinterop.c)
	midinoteoncps, midinoteonoct, midinoteonpch to leave key and
	velocity unchanged for score-driven performance.

2006-06-04	Istvan Varga	<ivarga at csounds.com>
	* Engine/otran.c:
	  work around constndx() not being compiled correctly

2006-06-03	Istvan Varga	<ivarga at csounds.com>
	* Engine/fgens.c, InOut/libsnd_u.c, OOps/diskin.c, OOps/diskin2.c:
	  GEN01, diskin, diskin2, soundin: with an iformat value of -1,
	  reject headerless files, rather than assuming the same format
	  as the one specified on the command line
	  GEN01: added format codes 7 (8 bit unsigned), 8 (24 bit), and
	  9 (doubles)
	* Engine/entry1.c, H/sndinfUG.h, OOps/sndinfUG.c:
	  filelen, filenchnls, filesr: added optional i-time argument that
	  defaults to 1, and if zero, will make the opcodes return zero on
	  headerless files rather than some possibly incorrect defaults
	* Opcodes/fout.c:
	  fixed bug in fini opcode (negative numbers were read incorrectly)
	* Engine/sread.c, Engine/swrite.c, Engine/twarp.c:
	  fixes to reading numbers in [] score expressions
	  fixed 's' and 'e' score opcodes with time parameter

2006-06-02	Istvan Varga	<ivarga at csounds.com>
	* New string opcodes:
	  Sdst    strsub      Ssrc[, istart[, iend]]
	  Sdst    strsubk     Ssrc, kstart, kend
	  ichr    strchar     Sstr[, ipos]
	  kchr    strchark    Sstr[, kpos]
	  ilen    strlen      Sstr
	  klen    strlenk     Sstr
	  Sdst    strupper    Ssrc
	  Sdst    strupperk   Ssrc
	  Sdst    strlower    Ssrc
	  Sdst    strlowerk   Ssrc
	  Sval    getcfg      iopt
	  ipos    strindex    Sstr1, Sstr2
	  kpos    strindexk   Sstr1, Sstr2
	  ipos    strrindex   Sstr1, Sstr2
	  kpos    strrindexk  Sstr1, Sstr2
	* Engine/express.c, Engine/otran.c:
	  fixed parsing of numbers in exponential notation
	  also some parser fixes related to 0dbfs

2006-06-01	Istvan Varga	<ivarga at csounds.com>
	* Added callback interface to the software bus with named channels,
	  using new opcodes chnrecv and chnsend. The callback function can
	  be set with csoundSetChannelIOCallback().

2006-05-31  jpff  <jpff at codemist.co.uk>

	* util/sndinfo.c: Added option to print looping information etc.

2006-05-31	Istvan Varga	<ivarga at csounds.com>
	* InOut/widgets.cpp:
	  FLbutton type 1 callback now sets the output to "ion"

2006-05-30	Istvan Varga	<ivarga at csounds.com>
	* Opcodes/fout.c: new opcode: ficlose

2006-05-30	ma++ ingalls	<matt at sonomatics.com>
	* aops.c, aops.h, csound.h:
	  invalue/outvalue updates as per Istvan's comments
	* csound.c: changed "early return" comments to debug only
	* hetro.c: added pollevents inside processing loop
	* lpanal.c: added warning message with -g flag
	* sockrecv.c: took out usleep() declaration - was causing compile error

2006-05-28	ma++ ingalls	<matt at sonomatics.com>
	* frontends/CsoundX: added to cvs
	* aops.c, entry1.c, entry1.h, csound.h:
	  added hack to invalue/outvalue to support strings

2006-05-27	Istvan Varga	<ivarga at csounds.com>
	* Added ATS analysis utility.

2006-05-26	ma++ ingalls	<matt at sonomatics.com>
	* frontends/CsoundVST/AEffect.h:
	  commented out 2 PRAGMAS causing compile error on mac
	* Opcodes/vst4cs/vsthost.c:
	  added plug-in loading for MACH-O mac.
	  commented out #includes that caused compile error on mac
	* Opcodes/vst4cs/vsthost.h:
	  commented out #includes that caused compile error on mac
	* Opcodes/vst4cs/fxbank.h:
	  commented out #includes that caused compile error on mac
	* OOps/aops.c:
	  added i-rate support to invalue/outvalue

2006-05-24	Istvan Varga	<ivarga at csounds.com>
	* InOut/rtalsa.c: changed default device from "default" to "plughw"
	* InOut/rtjack.c: list available device names for -i adc or -o dac
	  if an invalid device is specified

2006-05-23	Istvan Varga	<ivarga at csounds.com>
	* Opcodes/ugnorman.c: fixed "not initialised" bug in ATSbufread

2006-05-22	Istvan Varga	<ivarga at csounds.com>
	* OOps/midiops.c:
	  massign(): interpret channel number <= 0 as all channels
	* H/csoundCore.h, Top/csound.c:
	  added new function GetCurrentThreadID() to CSOUND structure

2006-05-21	Michael Gogins	<gogins at pipeline.com>
	* New API function: csoundGetCurrentThreadId()

2006-05-20	Istvan Varga	<ivarga at csounds.com>
	* Opcodes/stackops.c: added new stack opcodes (stack, push, pop,
	  push_f, pop_f); also moved monitor opcode here.
	* Reworked user defined opcodes to allow for up to 256 input/output
	* Opcodes/bilbar.c: removed use of C++ style comments.

2006-05-16  jpff  <jpff at codemist.co.uk>

	* Engine/entry1.c: Change args of xin to match OPCODENUMOUTS

2006-05-15	Anthony Kozar	<anthonykozar at sbcglobal.net>
	* Top/cscormai.c:  Fixed #includes.
	* interfaces/CsoundFile.cpp:  isspace() is in <cctype> and supposed
	  to be in std namespace
	* H/csoundCore.h:  Increased OPCODENUMOUTS to 64 as requested.

2006-05-15	Istvan Varga	<ivarga at csounds.com>
	* Opcodes/monitor.c:
	  added new opcode: monitor

2006-05-14  jpff  <jpff at codemist.co.uk>

	* util/pvlook.c (pvlook): Rewritten for .pvx format

2006-05-13  jpff  <jpff at codemist.co.uk>

	* util/pvanal.c: Added -B # argument to give a beta to the Kaiser
	window; still defaults to 6.8

2006-05-12	Istvan Varga	<ivarga at csounds.com>
	* frontends/csound/csound_main.c:
	  overwrite old log files, rather than appending messages

2006-05-08	Istvan Varga	<ivarga at csounds.com>
	* New API functions:
	  csoundCreateMutex, csoundLockMutex, csoundLockMutexNoWait,
	  csoundUnlockMutex, csoundDestroyMutex, csoundRunCommand

2006-05-04	Istvan Varga	<ivarga at csounds.com>
	* InOut/rtalsa.c:
	  added new "devfile" MIDI driver that uses device files in /dev,
	  based on code from Csound 4.23 mididevice.c

2006-05-03	Istvan Varga	<ivarga at csounds.com>
	* InOut/FL_graph.cpp, InOut/widgets.cpp:
	* InOut/winFLTK.c, InOut/winFLTK.h:
	  added more FLTK flags (see winFLTK.h)

2006-05-02	Istvan Varga	<ivarga at csounds.com>
	* InOut/widgets.cpp, InOut/winFLTK.c, InOut/winFLTK.h:
	  disable threads by default if graphs are used
	* OOps/sndinfUG.c:
	  filepeak opcode now uses PEAK chunks with libsndfile >= 1.0.16

2006-04-30	Istvan Varga	<ivarga at csounds.com>
	* Attempt to fix thread locks on MacOS X.
	* util/srconv.c:
	  fixed output amplitude when downsampling
	  allow utility to be stopped by yield callback
	* install.py, installer/misc/mkpackage.py:
	  install TclCsound command documentation

2006-04-29	Istvan Varga	<ivarga at csounds.com>
	* Made it possible to control the behavior of the FLTK plugin
	  from the host application. This can be done with the following
	  code between calling csoundPreCompile() and csoundCompile():
	    CSOUND *csound;
	    csoundCreateGlobalVariable(csound, "FLTK_Flags", sizeof(int));
	    *((int*) csoundQueryGlobalVariable(csound, "FLTK_Flags")) = flags;
	  where 'flags' can be the sum of any of the following values:
	    1: disable widget opcodes
	    2: disable FLTK graphs
	    4: disable the use of a separate thread for widget opcodes
	    8: disable the use of Fl::lock() and Fl::unlock()
	   16: disable the use of Fl::awake()
	  additionally, after calling csoundCompile(), the same variable
	  can be checked to find out if graphs or widget opcodes are used:
	   32: FLrun opcode was called
	   64: callbacks for FLTK graphs are set
	* Top/main.c:
	  fixed crash on registering opcodes from the host application
	* frontends/fltk_gui:
	  new GUI frontend that uses the Csound 5 API and FLTK

2006-04-19	Michael gogins	<gogins at pipeline.com>

	* Updated Lua to version 5.1 (current version),
	changed lua_example.lua to use Class:method calls.

2006-04-17	John ffitch	<jpff at codemist.co.uk>

	* Opcodes/bilbar.c: Added prepared piano string model

	* H/entry1.h:
	* Engine/entry1.c: Added remove opcode.  Probably should be an API
	function rather than opcode

	* Engine/insert.c (delete_instr): New code to delete non-active
	instruments.  Still needs to be checked as it may leave structures

2006-04-15	Istvan Varga	<ivarga at csounds.com>
	* Engine/namedins.c, Engine/otran.c:
	  optimizations in orchestra parser
	* interfaces/lua_interface.i:
	  wrap cs_glue.hpp and csPerfThread.hpp

2006-04-09	Istvan Varga	<ivarga at csounds.com>
	* Engine/envvar.c:
	  csoundFileOpen(): check for files with .sd2 extension, and use
	  sf_open() in this case if sf_open_fd() fails
	* InOut/FL_graph.cpp:
	  wait for the window to be closed by the user at end of performance
	* InOut/libsnd.c:
	  fixes in enabling peak chunks and dithering
	* InOut/libsnd_u.c:
	  type2string(): added SD2 to file types
	* InOut/rtpa.c:
	  print warning if the buffer size (-b) is not an integer multiple
	  of ksmps in full-duplex mode
	* InOut/window.c:
	  moved deferred loading of widgets plugin from main.c to make graphs
	  work in utilities
	* Opcodes/compress.c:
	  made rms levels relative to 0dBFS in distort opcode
	* H/csoundCore.h, Top/csound.c:
	  added dispinit() function pointer to CSOUND structure,
	  for use by utilities
	* H/version.h:
	  updated API version to 1.01 to reflect change to CSOUND structure
	* util/pvanal.c:
	  implemented graph displays (limited to 30 frames at this time)
	* util/sndinfo.c:
	  clear SF_INFO structure before calling sf_open()

2006-04-08	Istvan Varga	<ivarga at csounds.com>
	* OOps/sndinfUG.c:
	  restored filepeak opcode

2006-04-07	Istvan Varga	<ivarga at csounds.com>
	* H/version.h:
	  updated version number to 5.02.0 to reflect addition of new opcodes
	* Opcodes/compress.c:
	  fixed a few minor errors

2006-04-04	Michael Gogins	<gogins at pipeline.com>
	* Changed FluidSynth opcodes slightly, with
	    fluidEngine iChorusOn, iReverbOn
	  pfields, defaulting to "on"; this can reduce noise in low frequencies
	  in SoundFont rendering.
	* Updated Windows FluidSynth opcodes to use latest FluidSynth sources.

2006-03-28  jpff  <jpff at codemist.co.uk>

	* Opcodes/compress.c: New code for distort and compress/expander
	from Barry Vercoe

2006-03-25	Istvan Varga	<ivarga at csounds.com>
	* Engine/entry1.c, H/aops.h, H/entry1.h, OOps/bus.c, opcodes.dir,
	  Opcodes/pitch.c, Opcodes/pitch.h, Opcodes/spectra.c, Top/csound.c:
	  fixes in sensekey opcode

2006-03-22	Michael Gogins	<gogins at pipeline.com>
	* Added ScoreGeneratorVST, a VST plugin for generating scores in VST
	  hosts using Python.
	* Updated Windows installer for new targets, including Winsound.

2006-03-22	Istvan Varga	<ivarga at csounds.com>
	* interfaces/cs_glue.cpp:
	* interfaces/cs_glue.hpp:
	  - added new classes to wrap MIDI I/O:
	      CsoundMidiInputStream     sends MIDI input messages
	      CsoundMidiOutputStream    polls MIDI output messages
	  - added MIDI I/O callbacks to CsoundCallbackWrapper
	  - made it possible to use the message buffer in multiple threads,
	    to allow for redirecting the message output of a

2006-03-21	Istvan Varga	<ivarga at csounds.com>
	* SConstruct, Makefile-win32:
	  renamed Csound library to csound{32,64}.dll.5.1 on Windows
	* SConstruct:
	  attempts to fix install target (still needs a lot of work)
	* Engine/namedins.c, OOps/bus.c:
	  fixed a-rate channel allocation in user defined opcode with
	  local ksmps
	* Engine/linevent.c:
	  various minor fixes and code improvements

More information about the Linux-audio-user mailing list