Csound Csound-dev Csound-tekno Search About

V3.52

Date1999-02-15 08:49
Fromjpff@maths.bath.ac.uk
SubjectV3.52
Message written at 14 Feb 1999 21:45:33 +0000

I have just placed v3.52 on my servers.  There are all teh PC
versions, Irix5.3, and  Irix4.0 ; I hope Solaris version will follow
very soon.  Macintosh 68K will be there too by now.

The main changes are opcode renamings, a few bug fixes, and a few new
opcodes.  I have also attempted a first stab at the (missing) readk
opcodes.

There are teh start of some score language changes (exponential ramps
thsi time) which will allow for a more coherent language

Emacs users may care to noite that csound-orc.el has been updated to 
recognise the opcode names.

==John ff

------------------------------------------------------------------------
Release Notes for 3.52
======================

These are the release notes for version 3.52.  This is a collection of
bug fixes from 3.51, and some major opcode renaming to avoid vlashes
between variables and opcodes


Bug Fixes
---------

Extending the number of GOTOs and LABELS had two independent bugs
which wuld usually lead to a segmentation error.  Fixed

Some use of [] could give a memory error, now fixed


Language Changes
----------------

aiff files with Author, Annotation and Copyright chunks read correctly

In score arithmetic, operators % (for remainder) and ^ allowed

The use of {} for exponential ramps is supplimented by ( and ).  This
is so we can withdraw { and } soon so they can be used for section
brackets. 

Opcode Fixes
------------

biquad has an additional optional argument to skip reinitialisation,
so smooth transitions can happen

distort1 changes so all but first argument are optional

tonex, atonex and resonx corrected when reinit is skipped.  Shoudl
remove soem clicks.

The opcode readk, readk2, readk3 and readk4 have been given code.  The
interpolation argument is currently ignored whiel I think about it.
The code has not been tested so may fail.

New Opcodes 
-----------

poscil -- High precision oscilator

poscil3 -- High precision oscilator with cubic interpolation

lposci -- High precision looping oscilator

lposcil3 -- High precision looping oscilator with cubic interpolation


Other Changes:
-------------

opcodes islider8, islider16, islider32 renamed slider8/slider16/slider32 
ilimit renamed limit
itableng renamed tableng
itimes/itimek renamed times/timek
All itable.... opcodes renamed tablei....
ictrl... renamed ctrl...
imidic... renamed midic...
ion renamed noteon
ioff rename noteoff
iout... rename outi...
kout... rename outk...
agogobel renamed gogobel
iondur renamed ondur
iondur2 renamed ondur2 
is16b14 renamed s16b14

kread renamed readk
kread2 renamed readk2
kread3 renamed readk3
kread4 renamed readk4

Windows GUI Changes
-------------------

None


------------------------------------------------------------------------
==John ff
  1999 Valentine's Day, available on Galileo's birthday
========================================================================
poscil and lposcil, poscil3 and lposcil3

ar	poscil		kamp, kcps, ift [,iphs]
kr	poscil		kamp, kcps, ift [,iphs]
ar	poscil3		kamp, kcps, ift [,iphs]
kr	poscil3		kamp, kcps, ift [,iphs]

ar	lposcil		kamp, kfreqratio, kloop, kend, ift [,iphs]
ar	lposcil3	kamp, kfreqratio, kloop, kend, ift [,iphs]



INITALIZATION

ift - function table number
iphs - initial phase (in samples)

PERFORMANCE

ar - output signal
kamp - amplitude
kcps - frequency
kfreqratio - multiply factor of table frequency (for example: 1 =
        original frequency, 1.5 = a fifth up , .5 = an octave down)
kloop - loop point (in samples)
kend - end loop point (in samples)

poscil (precise oscillator) is the same as oscili but allows hugely more
precise frequency control (especially when using long tables and low
frequency values). It uses floating-point table indexing instead of
integer math, differently by oscil and oscili.  It is only a bit
slower than oscili. 

lposcil (loop oscillator) allows to vary at k-rate the starting and
ending point of a sample contained in a table.  This can be useful
when reading samples loop of a wavetable which repeat speed can be
varied during the performance.