Csound 5 begins a new major version of Csound that includes the
following new features:
-
Now licensed under the GNU Lesser General Public License, an
open source license.
-
A new, easier to manage build system using
SCons.
-
The use of widely--accepted open source libraries:
- libsndfile for soundfile input and output.
- PortAudio with ASIO drivers for low-latency, real-time audio input and output.
- FLTK for graphical widgets that can be programmed in orchestra code.
- PortMidi for real-time MIDI input and output.
- Simplified audio buffering system.
- Status returns from all internal functions, including opcode functions.
- MIDI interop opcodes, that enable the same instrument
definitions to be used interchangeably for either live MIDI
performance or off-line, score-driven performance.
- Plugin opcodes are working and becoming more widely
accepted. Many opcodes have been moved to plugins. Most new opcodes
are plugins, including:
- SoundFont opcodes.
- Python opcodes allowing Python code to execute in the
orchestra header or in instrument code, at i-rate or k-rate.
- Loris opcodes for time/frequency analysis and resynthesis.
- Bus opcodes.
- vst4csVST plugin adapter
opcodes.
- The OpcodeBase.hpp header file for
writing plugin opcodes in C++. This is based on the technique of
static polymorphism via template inheritance.
- The Csound API is becoming more widely used.
John ffitch plans to replace the handwritten parser with one
written using a parser generator, which should make it more bug-free
and perhaps more efficient.
John ffitch and I have plans for creating multiple instances of
Csound in the same process, though we are only about halfway
there.